|
Horizon
|
Class MEANDER_PLACER_BASE. More...
#include <pns_meander_placer_base.h>
Public Types | |
| enum | TUNING_STATUS { TOO_SHORT = 0 , TOO_LONG , TUNED } |
| |
Public Member Functions | |
| MEANDER_PLACER_BASE (ROUTER *aRouter) | |
| virtual const std::string | TuningInfo () const =0 |
| Function TuningInfo() More... | |
| virtual TUNING_STATUS | TuningStatus () const =0 |
| Function TuningStatus() More... | |
| virtual void | AmplitudeStep (int aSign) |
| Function AmplitudeStep() More... | |
| virtual void | SpacingStep (int aSign) |
| Function SpacingStep() More... | |
| virtual const MEANDER_SETTINGS & | MeanderSettings () const |
| Function MeanderSettings() More... | |
| virtual void | UpdateSettings (const MEANDER_SETTINGS &aSettings) |
| virtual bool | CheckFit (MEANDER_SHAPE *aShape) |
| Function CheckFit() More... | |
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 | 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) | |
| ROUTER * | Router () const |
| |
| ROUTING_SETTINGS & | Settings () const |
| |
| virtual LOGGER * | Logger () |
| |
| void | SetDebugDecorator (DEBUG_DECORATOR *aDecorator) |
| Function SetDebugDecorator. More... | |
| DEBUG_DECORATOR * | Dbg () 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) |
| Function cutTunedLine() More... | |
| void | tuneLineLength (MEANDERED_LINE &aTuned, int aElongation) |
| Function tuneLineLength() More... | |
| int | compareWithTolerance (int aValue, int aExpected, int aTolerance=0) const |
| Function compareWithTolerance() More... | |
Protected Attributes | |
| int | m_currentWidth |
| |
| MEANDER_SETTINGS | m_settings |
| |
| VECTOR2I | m_currentEnd |
| |
Class MEANDER_PLACER_BASE.
Base class for Single trace & Differenial pair meandering tools, as both of them share a lot of code.
|
virtual |
Function AmplitudeStep()
Increases/decreases the current meandering amplitude by one step.
| aSign | direction (negative = decrease, positive = increase). |
|
inlinevirtual |
Function CheckFit()
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::MEANDER_PLACER, and PNS::DP_MEANDER_PLACER.
|
protected |
Function compareWithTolerance()
Compares aValue against aExpected with given tolerance.
|
protected |
Function cutTunedLine()
Extracts 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 coorinates) |
| aCursorPos | current cursor position |
| aPre | part before the beginning of meanders |
| aTuned | part to be meandered |
| aPost | part after the end of meanders |
|
virtual |
|
virtual |
Function SpacingStep()
Increases/decreases the current meandering spcing by one step.
| aSign | direction (negative = decrease, positive = increase). |
|
protected |
Function tuneLineLength()
Takes a set of meanders in aTuned and tunes their length to extend the original line length by aElongation.
|
pure virtual |
Function TuningInfo()
Returns a string describing the status and length of the tuned traces.
Implemented in PNS::MEANDER_SKEW_PLACER, PNS::MEANDER_PLACER, and PNS::DP_MEANDER_PLACER.
|
pure virtual |
Function TuningStatus()
Returns the tuning status (too short, too long, etc.) of the trace(s) being tuned.
Implemented in PNS::MEANDER_PLACER, and PNS::DP_MEANDER_PLACER.