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 );
98 virtual LOGGER*
Logger()
override;
100 void SetMode(
int aDragMode );
105 bool dragMarkObstacles(
const VECTOR2I& aP );
106 bool dragShove(
const VECTOR2I& aP );
107 bool startDragSegment(
const VECTOR2D& aP, SEGMENT* aSeg );
108 bool startDragVia(
const VECTOR2D& aP, VIA* aVia );
109 void dumbDragVia( VIA* aVia, NODE* aNode,
const VECTOR2I& aP );
116 LINE m_lastValidDraggedLine;
118 int m_draggedSegmentIndex;
120 PNS_MODE m_currentMode;
121 ITEM_SET m_origViaConnections;
123 ITEM_SET m_draggedItems;
124 bool m_freeAngleMode;
void SetWorld(NODE *aWorld)
Function SetWorld()
Definition: pns_dragger.cpp:51
NODE * CurrentNode() const
Function CurrentNode()
Definition: pns_dragger.cpp:359
bool Drag(const VECTOR2I &aP)
Function Drag()
Definition: pns_dragger.cpp:338
bool FixRoute()
Function FixRoute()
Definition: pns_dragger.cpp:320
const ITEM_SET Traces()
Function Traces()
Definition: pns_dragger.cpp:365
virtual LOGGER * Logger() override
Returns the logger object, allowing to dump geometry to a file.
Definition: pns_dragger.cpp:371
bool Start(const VECTOR2I &aP, ITEM *aStartItem)
Function Start()
Definition: pns_dragger.cpp:127