Represent a set of meanders fitted over a single or two lines.
More...
#include <pns_meander.h>
|
| 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.
|
|
void | AddArc (const SHAPE_ARC &aArc1, const SHAPE_ARC &aArc2=SHAPE_ARC()) |
| Create a dummy meander shape representing an arc corner.
|
|
void | AddArcAndPt (const SHAPE_ARC &aArc1, const VECTOR2I &aPt2) |
| Create a dummy meander shape representing an arc corner.
|
|
void | AddPtAndArc (const VECTOR2I &aPt1, const SHAPE_ARC &aArc2) |
| Create a dummy meander shape representing an arc corner.
|
|
void | AddMeander (MEANDER_SHAPE *aShape) |
| Add a new meander shape to the meandered line.
|
|
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.
|
|
void | SetBaselineOffset (int aOffset) |
| Set the parallel offset between the base segment and the meandered line.
|
|
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.
|
|
const MEANDER_SETTINGS & | Settings () const |
|
Represent a set of meanders fitted over a single or two lines.
◆ MEANDERED_LINE()
- Parameters
-
aPlacer | the meander placer instance |
aIsDual | when true, the meanders are generated for two coupled lines |
◆ AddArc()
Create a dummy meander shape representing an arc corner.
Allows representing existing arc tracks so they can be reconstructed after length tuning.
- Parameters
-
aArc1 | Arc shape on the 1st line. |
aArc2 | Arc shape on the 2nd line (if m_dual == true). |
◆ AddArcAndPt()
void PNS::MEANDERED_LINE::AddArcAndPt |
( |
const SHAPE_ARC & |
aArc1, |
|
|
const VECTOR2I & |
aPt2 |
|
) |
| |
Create a dummy meander shape representing an arc corner.
Allows representing existing arc tracks so they can be reconstructed after length tuning.
- Parameters
-
aArc1 | Arc shape on the 1st line. |
aPt2 | corner point of the 2nd line (if m_dual == true). |
◆ AddCorner()
Create a dummy meander shape representing a line corner.
Used to define the starts/ends of meandered segments.
- Parameters
-
aA | corner point of the 1st line. |
aB | corner point of the 2nd line (if m_dual == true). |
◆ AddMeander()
Add a new meander shape to the meandered line.
- Parameters
-
aShape | the meander shape to add |
◆ AddPtAndArc()
void PNS::MEANDERED_LINE::AddPtAndArc |
( |
const VECTOR2I & |
aPt1, |
|
|
const SHAPE_ARC & |
aArc2 |
|
) |
| |
Create a dummy meander shape representing an arc corner.
Allows representing existing arc tracks so they can be reconstructed after length tuning.
- Parameters
-
aPt1 | corner point of the 1st line. |
aArc2 | Arc shape on the 2nd line (if m_dual == true). |
◆ CheckSelfIntersections()
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.
- Parameters
-
aShape | the shape to check. |
aClearance | clearance value. |
- Returns
- true, if the meander shape is not colliding.
◆ Meanders()
std::vector< MEANDER_SHAPE * > & PNS::MEANDERED_LINE::Meanders |
( |
| ) |
|
|
inline |
- Returns
- set of meander shapes for this line.
◆ MeanderSegment()
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.
- Parameters
-
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. |
◆ SetBaselineOffset()
void PNS::MEANDERED_LINE::SetBaselineOffset |
( |
int |
aOffset | ) |
|
|
inline |
Set the parallel offset between the base segment and the meandered line.
Used for dual meanders (diff pair) only.
- Parameters
-
◆ Settings()
- Returns
- the current meandering settings.
The documentation for this class was generated from the following files:
- 3rd_party/router/router/pns_meander.h
- 3rd_party/router/router/pns_meander.cpp