Horizon
|
Class LINE_PLACER. More...
#include <pns_diff_pair_placer.h>
Public Member Functions | |
DIFF_PAIR_PLACER (ROUTER *aRouter) | |
bool | Start (const VECTOR2I &aP, ITEM *aStartItem) override |
Function Start() More... | |
bool | Move (const VECTOR2I &aP, ITEM *aEndItem) override |
Function Move() More... | |
bool | FixRoute (const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish) override |
Function FixRoute() More... | |
bool | ToggleVia (bool aEnabled) override |
Function ToggleVia() More... | |
bool | SetLayer (int aLayer) override |
Function SetLayer() More... | |
const ITEM_SET | Traces () override |
Function Traces() More... | |
const VECTOR2I & | CurrentEnd () const override |
Function CurrentEnd() More... | |
const std::vector< int > | CurrentNets () const override |
Function CurrentNets() More... | |
int | CurrentLayer () const override |
Function CurrentLayer() More... | |
NODE * | CurrentNode (bool aLoopsRemoved=false) const override |
Function CurrentNode() More... | |
void | FlipPosture () override |
Function FlipPosture() More... | |
void | UpdateSizes (const SIZES_SETTINGS &aSizes) override |
Function UpdateSizes() More... | |
bool | IsPlacingVia () const override |
Function IsPlacingVia() More... | |
void | SetOrthoMode (bool aOrthoMode) override |
Function SetOrthoMode() More... | |
void | GetModifiedNets (std::vector< int > &aNets) const override |
Function GetModifiedNets. More... | |
![]() | |
PLACEMENT_ALGO (ROUTER *aRouter) | |
![]() | |
ALGO_BASE (ROUTER *aRouter) | |
ROUTER * | Router () const |
| |
ROUTING_SETTINGS & | Settings () const |
| |
virtual LOGGER * | Logger () |
| |
void | SetDebugDecorator (DEBUG_DECORATOR *aDecorator) |
Function SetDebugDecorator. More... | |
DEBUG_DECORATOR * | Dbg () const |
Class LINE_PLACER.
Single track placement algorithm. Interactively routes a track. Applies shove and walkaround algorithms when needed.
|
inlineoverridevirtual |
Function CurrentEnd()
Returns the current end of the line being placed. It may not be equal to the cursor position due to collisions.
Implements PNS::PLACEMENT_ALGO.
|
inlineoverridevirtual |
Function CurrentLayer()
Returns the layer of currently routed track.
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
Function CurrentNets()
Returns the net code of currently routed track.
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
|
overridevirtual |
Function FixRoute()
Commits the currently routed track to the parent node, taking aP as the final end point and aEndItem as the final anchor (if provided).
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
Function FlipPosture()
Toggles the current posture (straight/diagonal) of the trace head.
Reimplemented from PNS::PLACEMENT_ALGO.
|
overridevirtual |
Function GetModifiedNets.
Returns the net codes of all currently routed trace(s)
Reimplemented from PNS::PLACEMENT_ALGO.
|
inlineoverridevirtual |
Function IsPlacingVia()
Returns true if the placer is placing a via (or more vias).
Reimplemented from PNS::PLACEMENT_ALGO.
Function Move()
Moves the end of the currently routed trace to the point aP, taking aEndItem as anchor (if not NULL). (unless NULL).
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
|
overridevirtual |
Function SetOrthoMode()
Forces the router to place a straight 90/45 degree trace (with the end as near to the cursor as possible) instead of a standard 135 degree two-segment bend.
Reimplemented from PNS::PLACEMENT_ALGO.
Function Start()
Starts routing a single track at point aP, taking item aStartItem as anchor (unless NULL).
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
Function ToggleVia()
Enables/disables a via at the end of currently routed trace.
Reimplemented from PNS::PLACEMENT_ALGO.
|
overridevirtual |
Function Traces()
Returns the complete routed line, as a single-member ITEM_SET.
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
Function UpdateSizes()
Performs on-the-fly update of the width, via diameter & drill size from a settings class. Used to dynamically change these parameters as the track is routed.
Reimplemented from PNS::PLACEMENT_ALGO.