Horizon
Loading...
Searching...
No Matches
PNS::DRAGGER Class Reference

DRAGGER. More...

#include <pns_dragger.h>

Inheritance diagram for PNS::DRAGGER:
PNS::DRAG_ALGO PNS::ALGO_BASE

Public Member Functions

 DRAGGER (ROUTER *aRouter)
virtual 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().
int CurrentLayer () const override
 Function CurrentLayer().
const ITEM_SET Traces () override
 Function Traces().
void SetMode (int aDragMode) override
Public Member Functions inherited from PNS::DRAG_ALGO
 DRAG_ALGO (ROUTER *aRouter)
virtual void SetWorld (NODE *aWorld)
 Function SetWorld().
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

DRAGGER.

Via, segment and corner dragging algorithm.

Member Function Documentation

◆ CurrentLayer()

int PNS::DRAGGER::CurrentLayer ( ) const
inlineoverridevirtual

Function CurrentLayer().

Returns the layer of currently routed track.

Implements PNS::DRAG_ALGO.

◆ CurrentNets()

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

Function CurrentNets().

Returns the net code(s) of currently routed track(s).

Implements PNS::DRAG_ALGO.

◆ CurrentNode()

NODE * PNS::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::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::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.

◆ SetMode()

void PNS::DRAGGER::SetMode ( int aDragMode)
overridevirtual

Reimplemented from PNS::DRAG_ALGO.

◆ Start()

bool PNS::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::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: