22 #ifndef __PNS_DRAGGER_H
23 #define __PNS_DRAGGER_H
25 #include <math/vector2d.h>
30 #include "pns_algo_base.h"
31 #include "pns_itemset.h"
44 class DRAGGER :
public ALGO_BASE
47 DRAGGER( ROUTER* aRouter );
100 void SetMode(
int aDragMode );
105 bool dragMarkObstacles(
const VECTOR2I& aP );
106 bool dragShove(
const VECTOR2I& aP );
108 bool startDragVia(
const VECTOR2D& aP,
VIA* aVia );
116 LINE m_lastValidDraggedLine;
118 int m_draggedSegmentIndex;
120 PNS_MODE m_currentMode;
124 bool m_freeAngleMode;
Definition: pns_line.h:61
Definition: pns_segment.h:39
virtual LOGGER * Logger() override
Returns the logger object, allowing to dump geometry to a file.
void SetWorld(NODE *aWorld)
Function SetWorld()
Definition: pns_logger.h:40
bool Drag(const VECTOR2I &aP)
Function Drag()
bool FixRoute()
Function FixRoute()
Class SHOVE.
Definition: pns_shove.h:47
const ITEM_SET Traces()
Function Traces()
Definition: pns_itemset.h:40
NODE * CurrentNode() const
Function CurrentNode()
Class ITEM.
Definition: pns_item.h:55
Class NODE.
Definition: pns_node.h:138
bool Start(const VECTOR2I &aP, ITEM *aStartItem)
Function Start()