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) |
![]() | |
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. | |
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 | |
![]() | |
DEBUG_DECORATOR * | m_debugDecorator |
ROUTER * | m_router |
LOGGER * | m_logger |
The actual Push and Shove algorithm.
|
inlineoverridevirtual |
Reimplemented from PNS::ALGO_BASE.