The geometry of a single meander.
More...
#include <pns_meander.h>
|
| MEANDER_SHAPE (MEANDER_PLACER_BASE *aPlacer, int aWidth, bool aIsDual=false) |
|
void | SetType (MEANDER_TYPE aType) |
| Set the type of the meander.
|
|
MEANDER_TYPE | Type () const |
|
void | SetBaseIndex (int aIndex) |
| Set an auxiliary index of the segment being meandered in its original LINE.
|
|
int | BaseIndex () const |
|
int | Amplitude () const |
|
void | MakeCorner (const VECTOR2I &aP1, const VECTOR2I &aP2=VECTOR2I(0, 0)) |
| Create a dummy meander shape representing a line corner.
|
|
void | MakeArc (const SHAPE_ARC &aArc1, const SHAPE_ARC &aArc2=SHAPE_ARC()) |
| Create a dummy meander shape representing an arc corner.
|
|
void | Resize (int aAmpl) |
| Change the amplitude of the meander shape to aAmpl and recalculates the resulting line chain.
|
|
void | Recalculate () |
| Recalculate the line chain representing the meander's shape.
|
|
bool | IsDual () const |
|
bool | Side () const |
|
VECTOR2I | End () const |
|
const SHAPE_LINE_CHAIN & | CLine (int aShape) const |
|
void | MakeEmpty () |
| Replace the meander with straight bypass line(s), effectively clearing it.
|
|
bool | Fit (MEANDER_TYPE aType, const SEG &aSeg, const VECTOR2I &aP, bool aSide) |
| Attempt to fit a meander of a given type onto a segment, avoiding collisions with other board features.
|
|
const SEG & | BaseSegment () const |
| Return the base segment the meander was fitted to.
|
|
int | BaselineLength () const |
|
int | MaxTunableLength () const |
|
const MEANDER_SETTINGS & | Settings () const |
|
int | Width () const |
|
void | SetBaselineOffset (int aOffset) |
| Set the parallel offset between the base segment and the meandered line.
|
|
|
class | MEANDERED_LINE |
| Start turtle drawing.
|
|
The geometry of a single meander.
◆ MEANDER_SHAPE()
PNS::MEANDER_SHAPE::MEANDER_SHAPE |
( |
MEANDER_PLACER_BASE * |
aPlacer, |
|
|
int |
aWidth, |
|
|
bool |
aIsDual = false |
|
) |
| |
|
inline |
- Parameters
-
aPlacer | the meander placer instance. |
aWidth | width of the meandered line. |
aIsDual | when true, the shape contains two meandered lines at a given offset (diff pairs). |
◆ Amplitude()
int PNS::MEANDER_SHAPE::Amplitude |
( |
| ) |
const |
|
inline |
- Returns
- the amplitude of the meander shape.
◆ BaseIndex()
int PNS::MEANDER_SHAPE::BaseIndex |
( |
| ) |
const |
|
inline |
- Returns
- auxiliary index of the segment being meandered in its original LINE.
◆ BaselineLength()
int PNS::MEANDER_SHAPE::BaselineLength |
( |
| ) |
const |
- Returns
- length of the base segment for the meander (i.e.the minimum tuned length).
◆ BaseSegment()
const SEG & PNS::MEANDER_SHAPE::BaseSegment |
( |
| ) |
const |
|
inline |
Return the base segment the meander was fitted to.
- Returns
- the base segment.
◆ CLine()
- Returns
- the line chain representing the shape of the meander.
◆ End()
VECTOR2I PNS::MEANDER_SHAPE::End |
( |
| ) |
const |
|
inline |
- Returns
- end vertex of the base segment of the meander shape.
◆ Fit()
bool PNS::MEANDER_SHAPE::Fit |
( |
MEANDER_TYPE |
aType, |
|
|
const SEG & |
aSeg, |
|
|
const VECTOR2I & |
aP, |
|
|
bool |
aSide |
|
) |
| |
Attempt to fit a meander of a given type onto a segment, avoiding collisions with other board features.
- Parameters
-
aType | type of meander shape. |
aSeg | base segment for meandering. |
aP | start point of the meander. |
aSide | side of aSeg to put the meander on (true = right). |
- Returns
- true on success.
◆ IsDual()
bool PNS::MEANDER_SHAPE::IsDual |
( |
| ) |
const |
|
inline |
- Returns
- true if the shape represents 2 parallel lines (diff pair).
◆ MakeArc()
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). |
◆ MakeCorner()
Create a dummy meander shape representing a line corner.
Used to define the starts/ends of meandered segments.
- Parameters
-
aP1 | corner point of the 1st line. |
aP2 | corner point of the 2nd line (if m_dual == true). |
◆ MaxTunableLength()
int PNS::MEANDER_SHAPE::MaxTunableLength |
( |
| ) |
const |
- Returns
- the length of the fitted line chain.
◆ Resize()
void PNS::MEANDER_SHAPE::Resize |
( |
int |
aAmpl | ) |
|
Change the amplitude of the meander shape to aAmpl and recalculates the resulting line chain.
- Parameters
-
◆ SetBaselineOffset()
void PNS::MEANDER_SHAPE::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.
◆ Side()
bool PNS::MEANDER_SHAPE::Side |
( |
| ) |
const |
|
inline |
- Returns
- true if the meander is to the right of its base segment.
◆ Type()
MEANDER_TYPE PNS::MEANDER_SHAPE::Type |
( |
| ) |
const |
|
inline |
- Returns
- the type of the meander.
◆ Width()
int PNS::MEANDER_SHAPE::Width |
( |
| ) |
const |
|
inline |
- Returns
- width of the meandered line.
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