KiCad PCB EDA Suite
|
Base class for Single trace & Differential pair meandering tools, as both of them share a lot of code. More...
#include <pns_meander_placer_base.h>
Public Types | |
enum | TUNING_STATUS { TOO_SHORT = 0 , TOO_LONG , TUNED } |
< Result of the length tuning operation More... | |
Public Member Functions | |
MEANDER_PLACER_BASE (ROUTER *aRouter) | |
virtual | ~MEANDER_PLACER_BASE () |
virtual const wxString | TuningInfo (EDA_UNITS aUnits) const =0 |
Return a string describing the status and length of the tuned traces. More... | |
virtual TUNING_STATUS | TuningStatus () const =0 |
Return the tuning status (too short, too long, etc.) of the trace(s) being tuned. More... | |
virtual void | AmplitudeStep (int aSign) |
Increase/decreases the current meandering amplitude by one step. More... | |
virtual void | SpacingStep (int aSign) |
Increase/decrease the current meandering spacing by one step. More... | |
virtual int | Clearance () |
Return the clearance of the track(s) being length tuned. More... | |
virtual const MEANDER_SETTINGS & | MeanderSettings () const |
Return the current meandering configuration. More... | |
virtual void | UpdateSettings (const MEANDER_SETTINGS &aSettings) |
virtual bool | CheckFit (MEANDER_SHAPE *aShape) |
Checks if it's OK to place the shape aShape (i.e. More... | |
int | GetTotalPadToDieLength (const LINE &aLine) const |
virtual bool | Start (const VECTOR2I &aP, ITEM *aStartItem)=0 |
Function Start() More... | |
virtual bool | Move (const VECTOR2I &aP, ITEM *aEndItem)=0 |
Function Move() More... | |
virtual bool | FixRoute (const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish=false)=0 |
Function FixRoute() More... | |
virtual bool | UnfixRoute () |
virtual bool | CommitPlacement () |
virtual bool | AbortPlacement () |
virtual bool | HasPlacedAnything () const |
virtual bool | ToggleVia (bool aEnabled) |
Function ToggleVia() More... | |
virtual bool | IsPlacingVia () const |
Function IsPlacingVia() More... | |
virtual bool | SetLayer (int aLayer) |
Function SetLayer() More... | |
virtual const ITEM_SET | Traces ()=0 |
Function Traces() More... | |
virtual const VECTOR2I & | CurrentStart () const =0 |
Function CurrentStart() More... | |
virtual const VECTOR2I & | CurrentEnd () const =0 |
Function CurrentEnd() More... | |
virtual const std::vector< int > | CurrentNets () const =0 |
Function CurrentNets() More... | |
virtual int | CurrentLayer () const =0 |
Function CurrentLayer() More... | |
virtual NODE * | CurrentNode (bool aLoopsRemoved=false) const =0 |
Function CurrentNode() More... | |
virtual void | FlipPosture () |
Function FlipPosture() More... | |
virtual void | UpdateSizes (const SIZES_SETTINGS &aSizes) |
Function UpdateSizes() More... | |
virtual void | SetOrthoMode (bool aOrthoMode) |
Function SetOrthoMode() More... | |
virtual void | GetModifiedNets (std::vector< int > &aNets) const |
Function GetModifiedNets. More... | |
ROUTER * | Router () const |
Return current router settings. More... | |
ROUTING_SETTINGS & | Settings () const |
Return the logger object, allowing to dump geometry to a file. More... | |
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. More... | |
DEBUG_DECORATOR * | Dbg () const |
const BOX2I & | VisibleViewArea () const |
Protected Member Functions | |
void | cutTunedLine (const SHAPE_LINE_CHAIN &aOrigin, const VECTOR2I &aTuneStart, const VECTOR2I &aCursorPos, SHAPE_LINE_CHAIN &aPre, SHAPE_LINE_CHAIN &aTuned, SHAPE_LINE_CHAIN &aPost) |
Extract the part of a track to be meandered, depending on the starting point and the cursor position. More... | |
void | tuneLineLength (MEANDERED_LINE &aTuned, long long int aElongation) |
Take a set of meanders in aTuned and tunes their length to extend the original line length by aElongation. More... | |
int | compareWithTolerance (long long int aValue, long long int aExpected, long long int aTolerance=0) const |
Compare aValue against aExpected with given tolerance. More... | |
VECTOR2I | getSnappedStartPoint (LINKED_ITEM *aStartItem, VECTOR2I aStartPoint) |
long long int | lineLength (const ITEM_SET &aLine, const SOLID *aStartPad, const SOLID *aEndPad) const |
Calculate the total length of the line represented by an item set (tracks and vias) More... | |
Protected Attributes | |
NODE * | m_world |
Width of the meandered trace(s). More... | |
int | m_currentWidth |
Meander settings. More... | |
MEANDER_SETTINGS | m_settings |
The current end point. More... | |
VECTOR2I | m_currentEnd |
SOLID * | m_startPad_p |
SOLID * | m_endPad_p |
SOLID * | m_startPad_n |
SOLID * | m_endPad_n |
DEBUG_DECORATOR * | m_debugDecorator |
ROUTER * | m_router |
LOGGER * | m_logger |
Base class for Single trace & Differential pair meandering tools, as both of them share a lot of code.
Definition at line 45 of file pns_meander_placer_base.h.
< Result of the length tuning operation
Enumerator | |
---|---|
TOO_SHORT | |
TOO_LONG | |
TUNED |
Definition at line 49 of file pns_meander_placer_base.h.
PNS::MEANDER_PLACER_BASE::MEANDER_PLACER_BASE | ( | ROUTER * | aRouter | ) |
Definition at line 32 of file pns_meander_placer_base.cpp.
References m_currentWidth, m_endPad_n, m_endPad_p, m_startPad_n, m_startPad_p, and m_world.
|
virtual |
Definition at line 44 of file pns_meander_placer_base.cpp.
|
inlinevirtualinherited |
Reimplemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Definition at line 85 of file pns_placement_algo.h.
|
virtual |
Increase/decreases the current meandering amplitude by one step.
aSign | direction (negative = decrease, positive = increase). |
Definition at line 49 of file pns_meander_placer_base.cpp.
References PNS::MEANDER_SETTINGS::m_maxAmplitude, PNS::MEANDER_SETTINGS::m_minAmplitude, m_settings, and PNS::MEANDER_SETTINGS::m_step.
|
inlinevirtual |
Checks if it's OK to place the shape aShape (i.e.
if it doesn't cause DRC violations or collide with other meanders).
aShape | the shape to check. |
Reimplemented in PNS::DP_MEANDER_PLACER, and PNS::MEANDER_PLACER.
Definition at line 110 of file pns_meander_placer_base.h.
Referenced by PNS::MEANDER_SHAPE::Fit().
|
virtual |
Return the clearance of the track(s) being length tuned.
Definition at line 67 of file pns_meander_placer_base.cpp.
References PNS::ITEM_SET::CItems(), PNS::CT_CLEARANCE, PNS::PLACEMENT_ALGO::CurrentLayer(), PNS::ROUTER::GetRuleResolver(), MINOPTMAX< T >::HasMin(), m_currentWidth, PNS::CONSTRAINT::m_Value, MINOPTMAX< T >::Min(), PNS::RULE_RESOLVER::QueryConstraint(), PNS::ALGO_BASE::Router(), and PNS::PLACEMENT_ALGO::Traces().
Referenced by PNS::MEANDER_SHAPE::spacing(), and SpacingStep().
|
inlinevirtualinherited |
Reimplemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Definition at line 83 of file pns_placement_algo.h.
|
protected |
Compare aValue against aExpected with given tolerance.
Definition at line 344 of file pns_meander_placer_base.cpp.
Referenced by PNS::MEANDER_PLACER::doMove(), and PNS::DP_MEANDER_PLACER::Move().
|
pure virtualinherited |
Function CurrentEnd()
Returns the current end of the line(s) being placed/tuned. It may not be equal to the cursor position due to collisions.
Implemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Referenced by PNS::ROUTER::ContinueFromEnd(), PNS::ROUTER::Finish(), and ROUTER_TOOL::performRouting().
|
pure virtualinherited |
Function CurrentLayer()
Returns the layer of currently routed track.
Implemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Referenced by Clearance(), and PNS::ROUTER::getNearestRatnestAnchor().
|
pure virtualinherited |
Function CurrentNets()
Returns the net code(s) of currently routed track(s).
Implemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Referenced by PNS::ROUTER::getNearestRatnestAnchor().
|
pure virtualinherited |
Function CurrentNode()
Returns the most recent board state.
Implemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Referenced by PNS::ROUTER::getNearestRatnestAnchor().
|
pure virtualinherited |
Function CurrentStart()
Returns the current start of the line(s) being placed/tuned.
Implemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Referenced by PNS::ROUTER::getNearestRatnestAnchor(), and ROUTER_TOOL::performRouting().
|
protected |
Extract the part of a track to be meandered, depending on the starting point and the cursor position.
aOrigin | the original line. |
aTuneStart | point where we start meandering (start click coordinates). |
aCursorPos | current cursor position. |
aPre | part before the beginning of meanders. |
aTuned | part to be meandered. |
aPost | part after the end of meanders. |
Definition at line 90 of file pns_meander_placer_base.cpp.
References SEG::A, SEG::B, SHAPE_LINE_CHAIN::CSegment(), SHAPE_LINE_CHAIN::Find(), SHAPE_LINE_CHAIN::FindSegment(), SHAPE_LINE_CHAIN::NearestPoint(), SHAPE_LINE_CHAIN::Reverse(), SHAPE_LINE_CHAIN::Simplify(), SHAPE_LINE_CHAIN::Slice(), and SHAPE_LINE_CHAIN::Split().
Referenced by PNS::MEANDER_PLACER::doMove(), and PNS::DP_MEANDER_PLACER::Move().
|
inlineinherited |
Definition at line 78 of file pns_algo_base.h.
References PNS::ALGO_BASE::m_debugDecorator.
Referenced by PNS::LINE_PLACER::buildInitialLine(), PNS::LINE_PLACER::clipAndCheckCollisions(), PNS::MEANDER_PLACER::doMove(), PNS::COMPONENT_DRAGGER::Drag(), PNS::DRAGGER::dragShove(), PNS::DRAGGER::dragWalkaround(), PNS::SHOVE::fixupViaCollisions(), PNS::LINE_PLACER::handlePullback(), PNS::LINE_PLACER::mergeHead(), PNS::DP_MEANDER_PLACER::Move(), PNS::MEANDER_SKEW_PLACER::Move(), PNS::SHOVE::onCollidingArc(), PNS::SHOVE::onCollidingLine(), PNS::SHOVE::onCollidingSegment(), PNS::SHOVE::onCollidingSolid(), PNS::SHOVE::onCollidingVia(), PNS::SHOVE::onReverseCollidingVia(), PNS::DRAGGER::optimizeAndUpdateDraggedLine(), PNS::LINE_PLACER::optimizeTailHeadTransition(), PNS::SHOVE::pushLineStack(), PNS::SHOVE::pushOrShoveVia(), PNS::LINE_PLACER::reduceTail(), PNS::LINE_PLACER::removeLoops(), PNS::SHOVE::replaceLine(), PNS::LINE_PLACER::rhShoveOnly(), PNS::LINE_PLACER::rhWalkBase(), PNS::LINE_PLACER::rhWalkOnly(), PNS::WALKAROUND::Route(), PNS::LINE_PLACER::routeStep(), PNS::SHOVE::runOptimizer(), PNS::SHOVE::shoveIteration(), PNS::SHOVE::ShoveLines(), PNS::SHOVE::shoveLineToHullSet(), PNS::SHOVE::shoveMainLoop(), PNS::SHOVE::ShoveMultiLines(), PNS::SHOVE::ShoveObstacleLine(), PNS::WALKAROUND::singleStep(), PNS::LINE_PLACER::splitHeadTail(), PNS::LINE_PLACER::Start(), PNS::DRAGGER::Start(), PNS::LINE_PLACER::Trace(), PNS::DRAGGER::tryWalkaround(), and PNS::SHOVE::unwindLineStack().
|
pure virtualinherited |
Function FixRoute()
Commits the currently routed items to the parent node, taking aP as the final end point and aEndItem as the final anchor (if provided).
Implemented in PNS::DIFF_PAIR_PLACER, PNS::LINE_PLACER, PNS::DP_MEANDER_PLACER, and PNS::MEANDER_PLACER.
|
inlinevirtualinherited |
Function FlipPosture()
Toggles the current posture (straight/diagonal) of the trace head.
Reimplemented in PNS::DIFF_PAIR_PLACER, and PNS::LINE_PLACER.
Definition at line 167 of file pns_placement_algo.h.
|
inlinevirtualinherited |
Function GetModifiedNets.
Returns the net codes of all currently routed trace(s)
Reimplemented in PNS::DIFF_PAIR_PLACER, and PNS::LINE_PLACER.
Definition at line 198 of file pns_placement_algo.h.
|
protected |
Definition at line 356 of file pns_meander_placer_base.cpp.
References PNS::ARC::Anchor(), PNS::ITEM::ARC_T, PNS::ITEM::Kind(), and PNS::ITEM::SEGMENT_T.
Referenced by PNS::DP_MEANDER_PLACER::Start(), PNS::MEANDER_PLACER::Start(), and PNS::MEANDER_SKEW_PLACER::Start().
int PNS::MEANDER_PLACER_BASE::GetTotalPadToDieLength | ( | const LINE & | aLine | ) | const |
Definition at line 300 of file pns_meander_placer_base.cpp.
References PNS::NODE::FindLineEnds(), PNS::JOINT::LinkList(), and m_world.
|
inlinevirtualinherited |
Reimplemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Definition at line 87 of file pns_placement_algo.h.
Referenced by ROUTER_TOOL::performRouting().
|
inlinevirtualinherited |
Function IsPlacingVia()
Returns true if the placer is placing a via (or more vias).
Reimplemented in PNS::DIFF_PAIR_PLACER, and PNS::LINE_PLACER.
Definition at line 104 of file pns_placement_algo.h.
|
protected |
Calculate the total length of the line represented by an item set (tracks and vias)
aLine |
If there is a start pad but the pad's layers do not overlap the first track layer, then there must be a fanout via on the line. If there isn't, we still need to have the via back to the pad, so count the distance in the line tuning
Definition at line 380 of file pns_meander_placer_base.cpp.
References PNS::ITEM_SET::Empty(), PNS::ROUTER::GetInterface(), PNS::ITEM::Layer(), PNS::ITEM::LayersOverlap(), PNS::ALGO_BASE::m_router, PNS::ITEM::OfKind(), PNS::ITEM_SET::Size(), PNS::ROUTER_IFACE::StackupHeight(), and PNS::ITEM::VIA_T.
Referenced by PNS::DP_MEANDER_PLACER::origPathLength(), PNS::MEANDER_PLACER::origPathLength(), PNS::MEANDER_SKEW_PLACER::origPathLength(), and PNS::MEANDER_SKEW_PLACER::Start().
|
virtualinherited |
Reimplemented in PNS::SHOVE.
Definition at line 34 of file pns_algo_base.cpp.
Referenced by PNS::LINE_PLACER::rhShoveOnly(), PNS::LINE_PLACER::rhWalkBase(), PNS::DRAGGER::Start(), and PNS::DRAGGER::tryWalkaround().
|
virtual |
Return the current meandering configuration.
Definition at line 338 of file pns_meander_placer_base.cpp.
References m_settings.
Referenced by PNS::MEANDER_SHAPE::makeMiterShape(), LENGTH_TUNER_TOOL::meanderSettingsDialog(), PNS::MEANDER_SHAPE::MinAmplitude(), PNS::MEANDER_SHAPE::Settings(), and PNS::MEANDERED_LINE::Settings().
|
pure virtualinherited |
Function Move()
Moves the end of the currently routed primtive(s) to the point aP, taking aEndItem as the anchor (if not NULL). (unless NULL).
Implemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, PNS::MEANDER_PLACER, and PNS::MEANDER_SKEW_PLACER.
|
inlineinherited |
Return current router settings.
Definition at line 54 of file pns_algo_base.h.
References PNS::ALGO_BASE::m_router.
Referenced by PNS::DIFF_PAIR_PLACER::attemptWalk(), Clearance(), PNS::DIFF_PAIR_PLACER::CommitPlacement(), PNS::DP_MEANDER_PLACER::CommitPlacement(), PNS::LINE_PLACER::CommitPlacement(), PNS::MEANDER_PLACER::CommitPlacement(), PNS::COMPONENT_DRAGGER::FixRoute(), PNS::DRAGGER::FixRoute(), PNS::DIFF_PAIR_PLACER::initPlacement(), PNS::LINE_PLACER::initPlacement(), PNS::SHOVE::onCollidingSolid(), PNS::LINE_PLACER::rhWalkBase(), PNS::DIFF_PAIR_PLACER::Start(), PNS::DP_MEANDER_PLACER::Start(), PNS::MEANDER_PLACER::Start(), PNS::MEANDER_SKEW_PLACER::Start(), PNS::DRAGGER::Start(), and PNS::DRAGGER::tryWalkaround().
|
inlineinherited |
Assign a debug decorator allowing this algo to draw extra graphics for visual debugging.
Definition at line 73 of file pns_algo_base.h.
References PNS::ALGO_BASE::m_debugDecorator.
Referenced by PNS::SHOVE::onCollidingSolid(), PNS::LINE_PLACER::rhWalkBase(), PNS::SHOVE::SHOVE(), and PNS::DRAGGER::tryWalkaround().
|
inlinevirtualinherited |
Function SetLayer()
Sets the current routing layer.
Reimplemented in PNS::DIFF_PAIR_PLACER, and PNS::LINE_PLACER.
Definition at line 114 of file pns_placement_algo.h.
|
inlineinherited |
Definition at line 65 of file pns_algo_base.h.
References PNS::ALGO_BASE::m_logger.
Referenced by PNS::LINE_PLACER::rhWalkBase(), and PNS::DRAGGER::tryWalkaround().
|
inlinevirtualinherited |
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 in PNS::DIFF_PAIR_PLACER, and PNS::LINE_PLACER.
Definition at line 189 of file pns_placement_algo.h.
|
inherited |
Return the logger object, allowing to dump geometry to a file.
Definition at line 28 of file pns_algo_base.cpp.
References PNS::ALGO_BASE::m_router, and PNS::ROUTER::Settings().
Referenced by PNS::DIFF_PAIR_PLACER::attemptWalk(), PNS::LINE_PLACER::buildInitialLine(), PNS::LINE_PLACER::CommitPlacement(), PNS::DRAGGER::dragMarkObstacles(), PNS::DRAGGER::dragShove(), PNS::DRAGGER::dragWalkaround(), PNS::COMPONENT_DRAGGER::FixRoute(), PNS::DRAGGER::FixRoute(), PNS::DIFF_PAIR_PLACER::FixRoute(), PNS::LINE_PLACER::FixRoute(), PNS::LINE_PLACER::Move(), PNS::SHOVE::onCollidingSolid(), PNS::DRAGGER::optimizeAndUpdateDraggedLine(), PNS::DIFF_PAIR_PLACER::propagateDpHeadForces(), PNS::DRAGGER::propagateViaForces(), PNS::SHOVE::pushOrShoveVia(), PNS::LINE_PLACER::rhMarkObstacles(), PNS::LINE_PLACER::rhShoveOnly(), PNS::LINE_PLACER::rhWalkBase(), PNS::LINE_PLACER::rhWalkOnly(), PNS::DIFF_PAIR_PLACER::route(), PNS::LINE_PLACER::routeHead(), PNS::LINE_PLACER::routeStep(), PNS::SHOVE::runOptimizer(), PNS::SHOVE::shoveMainLoop(), PNS::LINE_PLACER::Start(), PNS::DRAGGER::Start(), PNS::DRAGGER::tryWalkaround(), and PNS::LINE_PLACER::UnfixRoute().
|
virtual |
Increase/decrease the current meandering spacing by one step.
aSign | direction (negative = decrease, positive = increase). |
Definition at line 58 of file pns_meander_placer_base.cpp.
References Clearance(), m_currentWidth, m_settings, PNS::MEANDER_SETTINGS::m_spacing, and PNS::MEANDER_SETTINGS::m_step.
|
pure virtualinherited |
Function Start()
Starts placement/drag operation at point aP, taking item aStartItem as anchor (unless NULL).
Implemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, PNS::MEANDER_PLACER, and PNS::MEANDER_SKEW_PLACER.
|
inlinevirtualinherited |
Function ToggleVia()
Enables/disables a via at the end of currently routed trace.
Reimplemented in PNS::DIFF_PAIR_PLACER, and PNS::LINE_PLACER.
Definition at line 94 of file pns_placement_algo.h.
|
pure virtualinherited |
Function Traces()
Returns all routed/tuned traces.
Implemented in PNS::DIFF_PAIR_PLACER, PNS::DP_MEANDER_PLACER, PNS::LINE_PLACER, and PNS::MEANDER_PLACER.
Referenced by Clearance(), PNS::ROUTER::ContinueFromEnd(), PNS::ROUTER::Finish(), and PNS::ROUTER::getNearestRatnestAnchor().
|
protected |
Take a set of meanders in aTuned and tunes their length to extend the original line length by aElongation.
Definition at line 202 of file pns_meander_placer_base.cpp.
References PNS::MEANDER_SHAPE::BaselineLength(), PNS::MEANDER_SHAPE::CurrentLength(), PNS::findAmplitudeForLength(), PNS::MEANDERED_LINE::Meanders(), PNS::MT_ARC, PNS::MT_CORNER, PNS::MT_EMPTY, PNS::MT_FINISH, PNS::MT_SINGLE, PNS::MT_START, PNS::MEANDER_SHAPE::Recalculate(), and PNS::MEANDER_SHAPE::SetType().
Referenced by PNS::MEANDER_PLACER::doMove(), and PNS::DP_MEANDER_PLACER::Move().
|
pure virtual |
Return a string describing the status and length of the tuned traces.
Implemented in PNS::DP_MEANDER_PLACER, PNS::MEANDER_PLACER, and PNS::MEANDER_SKEW_PLACER.
Referenced by PNS_TUNE_STATUS_POPUP::UpdateStatus().
|
pure virtual |
Return the tuning status (too short, too long, etc.) of the trace(s) being tuned.
Implemented in PNS::DP_MEANDER_PLACER, and PNS::MEANDER_PLACER.
Referenced by PNS_TUNE_STATUS_POPUP::UpdateStatus().
|
inlinevirtualinherited |
Reimplemented in PNS::LINE_PLACER.
Definition at line 81 of file pns_placement_algo.h.
|
virtual |
Definition at line 84 of file pns_meander_placer_base.cpp.
References m_settings.
Referenced by LENGTH_TUNER_TOOL::meanderSettingsDialog(), and LENGTH_TUNER_TOOL::performTuning().
|
inlinevirtualinherited |
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 in PNS::DIFF_PAIR_PLACER, and PNS::LINE_PLACER.
Definition at line 178 of file pns_placement_algo.h.
|
inherited |
Definition at line 40 of file pns_algo_base.cpp.
References PNS::ALGO_BASE::m_router, and PNS::ROUTER::VisibleViewArea().
Referenced by PNS::DRAGGER::optimizeAndUpdateDraggedLine(), and PNS::SHOVE::runOptimizer().
|
protected |
Definition at line 164 of file pns_meander_placer_base.h.
Referenced by PNS::DP_MEANDER_PLACER::CurrentEnd(), PNS::MEANDER_PLACER::CurrentEnd(), PNS::MEANDER_PLACER::Start(), and PNS::MEANDER_SKEW_PLACER::Start().
|
protected |
Meander settings.
Definition at line 158 of file pns_meander_placer_base.h.
Referenced by Clearance(), MEANDER_PLACER_BASE(), SpacingStep(), PNS::DP_MEANDER_PLACER::Start(), PNS::MEANDER_PLACER::Start(), and PNS::MEANDER_SKEW_PLACER::Start().
|
protectedinherited |
Definition at line 86 of file pns_algo_base.h.
Referenced by PNS::ALGO_BASE::Dbg(), and PNS::ALGO_BASE::SetDebugDecorator().
|
protected |
Definition at line 169 of file pns_meander_placer_base.h.
Referenced by MEANDER_PLACER_BASE(), PNS::DP_MEANDER_PLACER::origPathLength(), PNS::MEANDER_PLACER::origPathLength(), PNS::MEANDER_SKEW_PLACER::origPathLength(), PNS::DP_MEANDER_PLACER::Start(), PNS::MEANDER_PLACER::Start(), and PNS::MEANDER_SKEW_PLACER::Start().
|
protected |
Definition at line 167 of file pns_meander_placer_base.h.
Referenced by MEANDER_PLACER_BASE(), PNS::DP_MEANDER_PLACER::origPathLength(), PNS::MEANDER_SKEW_PLACER::origPathLength(), PNS::DP_MEANDER_PLACER::Start(), and PNS::MEANDER_SKEW_PLACER::Start().
|
protectedinherited |
Definition at line 88 of file pns_algo_base.h.
Referenced by PNS::ALGO_BASE::SetLogger().
|
protectedinherited |
Definition at line 87 of file pns_algo_base.h.
Referenced by PNS::MEANDER_PLACER::doMove(), lineLength(), PNS::DP_MEANDER_PLACER::Move(), PNS::MEANDER_SKEW_PLACER::Move(), PNS::ALGO_BASE::Router(), PNS::ALGO_BASE::Settings(), PNS::DIFF_PAIR_PLACER::updateLeadingRatLine(), PNS::LINE_PLACER::updateLeadingRatLine(), and PNS::ALGO_BASE::VisibleViewArea().
|
protected |
The current end point.
Definition at line 161 of file pns_meander_placer_base.h.
Referenced by AmplitudeStep(), PNS::DP_MEANDER_PLACER::CheckFit(), PNS::MEANDER_PLACER::CheckFit(), PNS::MEANDER_PLACER::doMove(), MeanderSettings(), PNS::DP_MEANDER_PLACER::Move(), PNS::MEANDER_PLACER::Move(), PNS::MEANDER_SKEW_PLACER::Move(), SpacingStep(), PNS::DP_MEANDER_PLACER::TuningInfo(), PNS::MEANDER_PLACER::TuningInfo(), PNS::MEANDER_SKEW_PLACER::TuningInfo(), and UpdateSettings().
|
protected |
Definition at line 168 of file pns_meander_placer_base.h.
Referenced by MEANDER_PLACER_BASE(), PNS::DP_MEANDER_PLACER::origPathLength(), PNS::MEANDER_PLACER::origPathLength(), PNS::MEANDER_SKEW_PLACER::origPathLength(), PNS::DP_MEANDER_PLACER::Start(), PNS::MEANDER_PLACER::Start(), and PNS::MEANDER_SKEW_PLACER::Start().
|
protected |
Definition at line 166 of file pns_meander_placer_base.h.
Referenced by MEANDER_PLACER_BASE(), PNS::DP_MEANDER_PLACER::origPathLength(), PNS::MEANDER_SKEW_PLACER::origPathLength(), PNS::DP_MEANDER_PLACER::Start(), and PNS::MEANDER_SKEW_PLACER::Start().
|
protected |
Width of the meandered trace(s).
Definition at line 155 of file pns_meander_placer_base.h.
Referenced by PNS::DP_MEANDER_PLACER::AbortPlacement(), PNS::MEANDER_PLACER::AbortPlacement(), PNS::DP_MEANDER_PLACER::CurrentNode(), PNS::MEANDER_PLACER::CurrentNode(), PNS::MEANDER_PLACER::doMove(), PNS::DP_MEANDER_PLACER::DP_MEANDER_PLACER(), GetTotalPadToDieLength(), MEANDER_PLACER_BASE(), PNS::DP_MEANDER_PLACER::Move(), PNS::DP_MEANDER_PLACER::Start(), PNS::MEANDER_PLACER::Start(), and PNS::MEANDER_SKEW_PLACER::Start().