Horizon
Loading...
Searching...
No Matches
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().
NODECurrentNode () 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.
ROUTERRouter () const
 Return current router settings.
ROUTING_SETTINGSSettings () const
 Return the logger object, allowing to dump geometry to a file.
virtual LOGGERLogger ()
void SetLogger (LOGGER *aLogger)
void SetDebugDecorator (DEBUG_DECORATOR *aDecorator)
 Assign a debug decorator allowing this algo to draw extra graphics for visual debugging.
DEBUG_DECORATORDbg () const
const BOX2I & VisibleViewArea () const

Additional Inherited Members

Protected Attributes inherited from PNS::DRAG_ALGO
NODEm_world
Protected Attributes inherited from PNS::ALGO_BASE
DEBUG_DECORATORm_debugDecorator
ROUTERm_router
LOGGERm_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: