Horizon
|
Represent a set of meanders fitted over a single or two lines. More...
#include <pns_meander.h>
Public Member Functions | |
MEANDERED_LINE (MEANDER_PLACER_BASE *aPlacer, bool aIsDual=false) | |
void | AddCorner (const VECTOR2I &aA, const VECTOR2I &aB=VECTOR2I(0, 0)) |
Create a dummy meander shape representing a line corner. More... | |
void | AddArc (const SHAPE_ARC &aArc1, const SHAPE_ARC &aArc2=SHAPE_ARC()) |
Create a dummy meander shape representing an arc corner. More... | |
void | AddArcAndPt (const SHAPE_ARC &aArc1, const VECTOR2I &aPt2) |
Create a dummy meander shape representing an arc corner. More... | |
void | AddPtAndArc (const VECTOR2I &aPt1, const SHAPE_ARC &aArc2) |
Create a dummy meander shape representing an arc corner. More... | |
void | AddMeander (MEANDER_SHAPE *aShape) |
Add a new meander shape to the meandered line. More... | |
void | Clear () |
Clear the line geometry, removing all corners and meanders. | |
void | SetWidth (int aWidth) |
Set the line width. | |
void | MeanderSegment (const SEG &aSeg, bool aSide, int aBaseIndex=0) |
Fit maximum amplitude meanders on a given segment and adds to the current line. More... | |
void | SetBaselineOffset (int aOffset) |
Set the parallel offset between the base segment and the meandered line. More... | |
std::vector< MEANDER_SHAPE * > & | Meanders () |
bool | CheckSelfIntersections (MEANDER_SHAPE *aShape, int aClearance) |
Check if the given shape is intersecting with any other meander in the current line. More... | |
const MEANDER_SETTINGS & | Settings () const |
Represent a set of meanders fitted over a single or two lines.
|
inline |
aPlacer | the meander placer instance |
aIsDual | when true, the meanders are generated for two coupled lines |
Create a dummy meander shape representing an arc corner.
Allows representing existing arc tracks so they can be reconstructed after length tuning.
aArc1 | Arc shape on the 1st line. |
aArc2 | Arc shape on the 2nd line (if m_dual == true). |
Create a dummy meander shape representing an arc corner.
Allows representing existing arc tracks so they can be reconstructed after length tuning.
aArc1 | Arc shape on the 1st line. |
aPt2 | corner point of the 2nd line (if m_dual == true). |
Create a dummy meander shape representing a line corner.
Used to define the starts/ends of meandered segments.
aA | corner point of the 1st line. |
aB | corner point of the 2nd line (if m_dual == true). |
void PNS::MEANDERED_LINE::AddMeander | ( | MEANDER_SHAPE * | aShape | ) |
Add a new meander shape to the meandered line.
aShape | the meander shape to add |
Create a dummy meander shape representing an arc corner.
Allows representing existing arc tracks so they can be reconstructed after length tuning.
aPt1 | corner point of the 1st line. |
aArc2 | Arc shape on the 2nd line (if m_dual == true). |
bool PNS::MEANDERED_LINE::CheckSelfIntersections | ( | MEANDER_SHAPE * | aShape, |
int | aClearance | ||
) |
Check if the given shape is intersecting with any other meander in the current line.
aShape | the shape to check. |
aClearance | clearance value. |
|
inline |
void PNS::MEANDERED_LINE::MeanderSegment | ( | const SEG & | aSeg, |
bool | aSide, | ||
int | aBaseIndex = 0 |
||
) |
Fit maximum amplitude meanders on a given segment and adds to the current line.
aSeg | the base segment to meander. |
aSide | Side to start meandering the segment. True=left, False=Right |
aBaseIndex | index of the base segment in the original line. |
|
inline |
Set the parallel offset between the base segment and the meandered line.
Used for dual meanders (diff pair) only.
aOffset | the offset. |
const MEANDER_SETTINGS & PNS::MEANDERED_LINE::Settings | ( | ) | const |