Horizon
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
PNS::COMPONENT_DRAGGER Class Reference

COMPONENT_DRAGGER. More...

#include <pns_component_dragger.h>

Inheritance diagram for PNS::COMPONENT_DRAGGER:
PNS::DRAG_ALGO PNS::ALGO_BASE

Public Member Functions

 COMPONENT_DRAGGER (ROUTER *aRouter)
 
bool Start (const VECTOR2I &aP, ITEM_SET &aPrimitives) override
 Function Start()
 
bool Drag (const VECTOR2I &aP) override
 Function Drag()
 
bool FixRoute () override
 Function FixRoute()
 
NODE * CurrentNode () const override
 Function CurrentNode()
 
const std::vector< int > CurrentNets () const override
 Function CurrentNets()
 
virtual int CurrentLayer () const override
 Function CurrentLayer()
 
const ITEM_SET Traces () override
 Function Traces()
 
- Public Member Functions inherited from PNS::DRAG_ALGO
 DRAG_ALGO (ROUTER *aRouter)
 
virtual void SetWorld (NODE *aWorld)
 Function SetWorld()
 
virtual void SetMode (int aDragMode)
 
- Public Member Functions inherited from PNS::ALGO_BASE
 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.
 
virtual LOGGER * Logger ()
 
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

- Protected Attributes inherited from PNS::DRAG_ALGO
NODE * m_world
 
- Protected Attributes inherited from PNS::ALGO_BASE
DEBUG_DECORATOR * m_debugDecorator
 
ROUTER * m_router
 
LOGGER * m_logger
 

Detailed Description

COMPONENT_DRAGGER.

Implements component dragging algorithm.

Member Function Documentation

◆ CurrentLayer()

virtual int PNS::COMPONENT_DRAGGER::CurrentLayer ( ) const
inlineoverridevirtual

Function CurrentLayer()

Returns the layer of currently dragged item(s). Currently unused for component dragging.

Implements PNS::DRAG_ALGO.

◆ CurrentNets()

const std::vector< int > PNS::COMPONENT_DRAGGER::CurrentNets ( ) const
inlineoverridevirtual

Function CurrentNets()

Returns the net code(s) of currently dragged item(s). Currently unused for component dragging.

Implements PNS::DRAG_ALGO.

◆ CurrentNode()

NODE * PNS::COMPONENT_DRAGGER::CurrentNode ( ) const
overridevirtual

Function CurrentNode()

Returns the most recent world state, including all items changed due to dragging operation.

Implements PNS::DRAG_ALGO.

◆ Drag()

bool PNS::COMPONENT_DRAGGER::Drag ( const VECTOR2I &  aP)
overridevirtual

Function Drag()

Drags the current segment/corner/via to the point aP.

Returns
true, if dragging finished with success.

Implements PNS::DRAG_ALGO.

◆ FixRoute()

bool PNS::COMPONENT_DRAGGER::FixRoute ( )
overridevirtual

Function FixRoute()

Checks if the result of current dragging operation is correct and eventually commits it to the world.

Returns
true, if dragging finished with success.

Implements PNS::DRAG_ALGO.

◆ Start()

bool PNS::COMPONENT_DRAGGER::Start ( const VECTOR2I &  aP,
ITEM_SET &  aPrimitives 
)
overridevirtual

Function Start()

Starts routing a single track at point aP, taking item aStartItem as anchor (unless NULL). Returns true if a dragging operation has started.

Implements PNS::DRAG_ALGO.

◆ Traces()

const ITEM_SET PNS::COMPONENT_DRAGGER::Traces ( )
overridevirtual

Function Traces()

Returns the set of dragged items.

Implements PNS::DRAG_ALGO.


The documentation for this class was generated from the following files: