22#ifndef __PNS_DRAG_ALGO_H
23#define __PNS_DRAG_ALGO_H
89 virtual bool FixRoute(
bool aForceCommit ) = 0;
Base class for all P&S algorithms (shoving, walkaround, line placement, dragging, etc....
virtual bool GetForceMarkObstaclesMode(bool *aDragStatus) const =0
virtual void SetMode(PNS::DRAG_MODE aDragMode)
virtual bool Start(const VECTOR2I &aP, ITEM_SET &aPrimitives)=0
Function Start()
virtual bool FixRoute(bool aForceCommit)=0
Function FixRoute()
virtual bool Drag(const VECTOR2I &aP)=0
Function Drag()
virtual const ITEM_SET Traces()=0
Function Traces()
DRAG_ALGO(ROUTER *aRouter)
virtual void SetWorld(NODE *aWorld)
Function SetWorld()
virtual const std::vector< NET_HANDLE > CurrentNets() const =0
Function CurrentNets()
virtual PNS::DRAG_MODE Mode() const =0
virtual int CurrentLayer() const =0
Function CurrentLayer()
virtual std::vector< PNS::ITEM * > GetLastCommittedLeaderSegments()
virtual NODE * CurrentNode() const =0
Function CurrentNode()
Keep the router "world" - i.e.
Push and Shove diff pair dimensions (gap) settings dialog.