21#ifndef __PNS_MULTI_DRAGGER_H 
   22#define __PNS_MULTI_DRAGGER_H 
   75    bool FixRoute( 
bool aForceCommit ) 
override;
 
   90    const std::vector<NET_HANDLE> 
CurrentNets() 
const override;
 
 
DRAG_ALGO(ROUTER *aRouter)
 
Base class for PNS router board items.
 
Represents a track on a PCB, connecting two non-trivial joints (that is, vias, pads,...
 
bool multidragShove(std::vector< MDRAG_LINE > &aCompletedLines)
 
bool multidragMarkObstacles(std::vector< MDRAG_LINE > &aCompletedLines)
 
virtual bool GetForceMarkObstaclesMode(bool *aDragStatus) const override
 
std::vector< PNS::ITEM * > m_leaderSegments
 
virtual bool Start(const VECTOR2I &aP, ITEM_SET &aPrimitives) override
Function Start()
 
bool FixRoute(bool aForceCommit) override
Function FixRoute()
 
bool Drag(const VECTOR2I &aP) override
Function Drag()
 
ITEM_SET m_origDraggedItems
 
int CurrentLayer() const override
Function CurrentLayer()
 
NODE * CurrentNode() const override
Function CurrentNode()
 
std::vector< MDRAG_LINE > m_mdragLines
 
bool tryWalkaround(NODE *aNode, LINE &aOrig, LINE &aWalk)
 
VECTOR2I m_dragStartPoint
 
void SetMode(PNS::DRAG_MODE aDragMode) override
 
int findNewLeaderSegment(const MDRAG_LINE &aLine) const
 
void restoreLeaderSegments(std::vector< MDRAG_LINE > &aCompletedLines)
 
virtual std::vector< PNS::ITEM * > GetLastCommittedLeaderSegments() override
 
bool multidragWalkaround(std::vector< MDRAG_LINE > &aCompletedLines)
 
const ITEM_SET Traces() override
Function Traces()
 
const std::vector< NET_HANDLE > CurrentNets() const override
Function CurrentNets()
 
MULTI_DRAGGER(ROUTER *aRouter)
 
PNS::DRAG_MODE Mode() const override
 
std::unique_ptr< SHOVE > m_shove
 
Keep the router "world" - i.e.
 
Perform various optimizations of the lines being routed, attempting to make the lines shorter and les...
 
The actual Push and Shove algorithm.
 
Push and Shove diff pair dimensions (gap) settings dialog.
 
std::vector< PNS::ITEM * > originalLeaders
 
VECTOR2< int32_t > VECTOR2I