|
Horizon
|
The actual Push and Shove algorithm. More...
#include <pns_shove.h>
Public Types | |
| enum | SHOVE_STATUS { SH_OK = 0 , SH_NULL , SH_INCOMPLETE , SH_HEAD_MODIFIED , SH_TRY_WALK } |
Public Member Functions | |
| SHOVE (NODE *aWorld, ROUTER *aRouter) | |
| virtual LOGGER * | Logger () override |
| SHOVE_STATUS | ShoveLines (const LINE &aCurrentHead) |
| SHOVE_STATUS | ShoveMultiLines (const ITEM_SET &aHeadSet) |
| SHOVE_STATUS | ShoveDraggingVia (const VIA_HANDLE aOldVia, const VECTOR2I &aWhere, VIA_HANDLE &aNewVia) |
| SHOVE_STATUS | ShoveObstacleLine (const LINE &aCurLine, const LINE &aObstacleLine, LINE &aResultLine) |
| void | ForceClearance (bool aEnabled, int aClearance) |
| NODE * | CurrentNode () |
| const LINE | NewHead () const |
| void | SetInitialLine (LINE &aInitial) |
| bool | AddLockedSpringbackNode (NODE *aNode) |
| void | UnlockSpringbackNode (NODE *aNode) |
| bool | RewindSpringbackTo (NODE *aNode) |
| bool | RewindToLastLockedNode () |
| void | DisablePostShoveOptimizations (int aMask) |
| void | SetSpringbackDoNotTouchNode (NODE *aNode) |
Public Member Functions inherited from PNS::ALGO_BASE | |
| ALGO_BASE (ROUTER *aRouter) | |
| virtual | ~ALGO_BASE () |
| Return the instance of our router. | |
| ROUTER * | Router () const |
| Return current router settings. | |
| ROUTING_SETTINGS & | Settings () const |
| Return the logger object, allowing to dump geometry to a file. | |
| virtual LOGGER * | Logger () |
| void | SetLogger (LOGGER *aLogger) |
| void | SetDebugDecorator (DEBUG_DECORATOR *aDecorator) |
| Assign a debug decorator allowing this algo to draw extra graphics for visual debugging. | |
| DEBUG_DECORATOR * | Dbg () const |
| const BOX2I & | VisibleViewArea () const |
Additional Inherited Members | |
Protected Attributes inherited from PNS::ALGO_BASE | |
| DEBUG_DECORATOR * | m_debugDecorator |
| ROUTER * | m_router |
| LOGGER * | m_logger |
The actual Push and Shove algorithm.
|
inlineoverridevirtual |
Reimplemented from PNS::ALGO_BASE.