|
Horizon
|
Differential Pair length-matching/meandering tool. More...
#include <pns_dp_meander_placer.h>
Public Member Functions | |
| DP_MEANDER_PLACER (ROUTER *aRouter) | |
| bool | Start (const VECTOR2I &aP, ITEM *aStartItem) override |
| Start routing a single track at point aP, taking item aStartItem as anchor (unless NULL). More... | |
| bool | Move (const VECTOR2I &aP, ITEM *aEndItem) override |
| Move the end of the currently routed trace to the point aP, taking aEndItem as anchor (if not NULL). More... | |
| bool | FixRoute (const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish=false) override |
| Commit the currently routed track to the parent node, taking aP as the final end point and aEndItem as the final anchor (if provided). More... | |
| bool | CommitPlacement () override |
| bool | AbortPlacement () override |
| bool | HasPlacedAnything () const override |
| const LINE | Trace () const |
| NODE * | CurrentNode (bool aLoopsRemoved=false) const override |
| Return the most recent world state. 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... | |
| long long int | totalLength () |
| const wxString | TuningInfo (EDA_UNITS aUnits) const override |
| Return a string describing the status and length of the tuned traces. More... | |
| TUNING_STATUS | TuningStatus () const override |
| Return the tuning status (too short, too long, etc.) of the trace(s) being tuned. More... | |
| bool | CheckFit (MEANDER_SHAPE *aShape) override |
| Checks if it's OK to place the shape aShape (i.e. More... | |
Public Member Functions inherited from PNS::MEANDER_PLACER_BASE | |
| MEANDER_PLACER_BASE (ROUTER *aRouter) | |
| 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 |
Public Member Functions inherited from PNS::PLACEMENT_ALGO | |
| PLACEMENT_ALGO (ROUTER *aRouter) | |
| 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 & | 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... | |
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 |
Friends | |
| class | MEANDER_SHAPE |
Additional Inherited Members | |
Public Types inherited from PNS::MEANDER_PLACER_BASE | |
| enum | TUNING_STATUS { TOO_SHORT = 0 , TOO_LONG , TUNED } |
| < Result of the length tuning operation | |
Protected Member Functions inherited from PNS::MEANDER_PLACER_BASE | |
| 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. | |
| int | compareWithTolerance (long long int aValue, long long int aExpected, long long int aTolerance=0) const |
| Compare aValue against aExpected with given tolerance. | |
| VECTOR2I | getSnappedStartPoint (LINKED_ITEM *aStartItem, VECTOR2I aStartPoint) |
| long long int | lineLength (const ITEM_SET &aLine) const |
| Calculate the total length of the line represented by an item set (tracks and vias) More... | |
Protected Attributes inherited from PNS::MEANDER_PLACER_BASE | |
| NODE * | m_world |
| Total length added by pad to die size. | |
| int | m_padToDieLength |
| Width of the meandered trace(s). | |
| int | m_currentWidth |
| Meander settings. | |
| MEANDER_SETTINGS | m_settings |
| The current end point. | |
| VECTOR2I | m_currentEnd |
Protected Attributes inherited from PNS::ALGO_BASE | |
| DEBUG_DECORATOR * | m_debugDecorator |
| ROUTER * | m_router |
| LOGGER * | m_logger |
Differential Pair length-matching/meandering tool.
|
overridevirtual |
Reimplemented from PNS::PLACEMENT_ALGO.
|
overridevirtual |
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 from PNS::MEANDER_PLACER_BASE.
|
overridevirtual |
Reimplemented from PNS::PLACEMENT_ALGO.
|
overridevirtual |
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.
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
Function CurrentLayer()
Returns the layer of currently routed track.
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
Function CurrentNets()
Returns the net code(s) of currently routed track(s).
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
Return the most recent world state.
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
Commit 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 |
Reimplemented from PNS::PLACEMENT_ALGO.
Move the end of the currently routed trace to the point aP, taking aEndItem as anchor (if not NULL).
Implements PNS::PLACEMENT_ALGO.
Start routing a single track at point aP, taking item aStartItem as anchor (unless NULL).
Implements PNS::PLACEMENT_ALGO.
|
overridevirtual |
|
overridevirtual |
Return a string describing the status and length of the tuned traces.
Implements PNS::MEANDER_PLACER_BASE.
|
overridevirtual |
Return the tuning status (too short, too long, etc.) of the trace(s) being tuned.
Implements PNS::MEANDER_PLACER_BASE.