Horizon
Public Member Functions | Friends | List of all members
PNS::MEANDER_SHAPE Class Reference

Class MEANDER_SETTINGS. More...

#include <pns_meander.h>

Public Member Functions

 MEANDER_SHAPE (MEANDER_PLACER_BASE *aPlacer, int aWidth, bool aIsDual=false)
 Constructor. More...
 
void SetType (MEANDER_TYPE aType)
 Function SetType() More...
 
MEANDER_TYPE Type () const
 Function Type() More...
 
void SetBaseIndex (int aIndex)
 Function SetBaseIndex() More...
 
int BaseIndex () const
 Function BaseIndex() More...
 
int Amplitude () const
 Function Amplitude() More...
 
void MakeCorner (VECTOR2I aP1, VECTOR2I aP2=VECTOR2I(0, 0))
 Function MakeCorner() More...
 
void Resize (int aAmpl)
 Function Resize() More...
 
void Recalculate ()
 Function Recalculate() More...
 
bool IsDual () const
 Function IsDual() More...
 
bool Side () const
 Function Side() More...
 
VECTOR2I End () const
 Function End() More...
 
const SHAPE_LINE_CHAINCLine (int aShape) const
 Function CLine() More...
 
void MakeEmpty ()
 Function MakeEmpty() More...
 
bool Fit (MEANDER_TYPE aType, const SEG &aSeg, const VECTOR2I &aP, bool aSide)
 Function Fit() More...
 
const SEGBaseSegment () const
 Function BaseSegment() More...
 
int BaselineLength () const
 Function BaselineLength() More...
 
int MaxTunableLength () const
 Function MaxTunableLength() More...
 
const MEANDER_SETTINGSSettings () const
 Function Settings() More...
 
int Width () const
 Function Width() More...
 
void SetBaselineOffset (int aOffset)
 Function SetBaselineOffset() More...
 
 MEANDER_SHAPE (MEANDER_PLACER_BASE *aPlacer, int aWidth, bool aIsDual=false)
 Constructor. More...
 
void SetType (MEANDER_TYPE aType)
 Function SetType() More...
 
MEANDER_TYPE Type () const
 Function Type() More...
 
void SetBaseIndex (int aIndex)
 Function SetBaseIndex() More...
 
int BaseIndex () const
 Function BaseIndex() More...
 
int Amplitude () const
 Function Amplitude() More...
 
void MakeCorner (VECTOR2I aP1, VECTOR2I aP2=VECTOR2I(0, 0))
 Function MakeCorner() More...
 
void Resize (int aAmpl)
 Function Resize() More...
 
void Recalculate ()
 Function Recalculate() More...
 
bool IsDual () const
 Function IsDual() More...
 
bool Side () const
 Function Side() More...
 
VECTOR2I End () const
 Function End() More...
 
const SHAPE_LINE_CHAINCLine (int aShape) const
 Function CLine() More...
 
void MakeEmpty ()
 Function MakeEmpty() More...
 
bool Fit (MEANDER_TYPE aType, const SEG &aSeg, const VECTOR2I &aP, bool aSide)
 Function Fit() More...
 
const SEGBaseSegment () const
 Function BaseSegment() More...
 
int BaselineLength () const
 Function BaselineLength() More...
 
int MaxTunableLength () const
 Function MaxTunableLength() More...
 
const MEANDER_SETTINGSSettings () const
 Function Settings() More...
 
int Width () const
 Function Width() More...
 
void SetBaselineOffset (int aOffset)
 Function SetBaselineOffset() More...
 

Friends

class MEANDERED_LINE
 

Detailed Description

Class MEANDER_SETTINGS.

Holds the geometry of a single meander.

Constructor & Destructor Documentation

◆ MEANDER_SHAPE() [1/2]

PNS::MEANDER_SHAPE::MEANDER_SHAPE ( MEANDER_PLACER_BASE aPlacer,
int  aWidth,
bool  aIsDual = false 
)
inline

Constructor.

Parameters
aPlacerthe meander placer instance
aWidthwidth of the meandered line
aIsDualwhen true, the shape contains two meandered lines at a given offset (diff pairs)

◆ MEANDER_SHAPE() [2/2]

PNS::MEANDER_SHAPE::MEANDER_SHAPE ( MEANDER_PLACER_BASE aPlacer,
int  aWidth,
bool  aIsDual = false 
)
inline

Constructor.

Parameters
aPlacerthe meander placer instance
aWidthwidth of the meandered line
aIsDualwhen true, the shape contains two meandered lines at a given offset (diff pairs)

Member Function Documentation

◆ Amplitude() [1/2]

int PNS::MEANDER_SHAPE::Amplitude ( ) const
inline

Function Amplitude()

Returns
the amplitude of the meander shape.

◆ Amplitude() [2/2]

int PNS::MEANDER_SHAPE::Amplitude ( ) const
inline

Function Amplitude()

Returns
the amplitude of the meander shape.

◆ BaseIndex() [1/2]

int PNS::MEANDER_SHAPE::BaseIndex ( ) const
inline

Function BaseIndex()

Returns
auxillary index of the segment being meandered in its original LINE.

◆ BaseIndex() [2/2]

int PNS::MEANDER_SHAPE::BaseIndex ( ) const
inline

Function BaseIndex()

Returns
auxillary index of the segment being meandered in its original LINE.

◆ BaselineLength() [1/2]

int PNS::MEANDER_SHAPE::BaselineLength ( ) const

Function BaselineLength()

Returns
length of the base segment for the meander (i.e. the minimum tuned length.

◆ BaselineLength() [2/2]

int PNS::MEANDER_SHAPE::BaselineLength ( ) const

Function BaselineLength()

Returns
length of the base segment for the meander (i.e. the minimum tuned length.

◆ BaseSegment() [1/2]

const SEG& PNS::MEANDER_SHAPE::BaseSegment ( ) const
inline

Function BaseSegment()

Returns the base segment the meadner was fitted to.

Returns
the base segment.

◆ BaseSegment() [2/2]

const SEG& PNS::MEANDER_SHAPE::BaseSegment ( ) const
inline

Function BaseSegment()

Returns the base segment the meadner was fitted to.

Returns
the base segment.

◆ CLine() [1/2]

const SHAPE_LINE_CHAIN& PNS::MEANDER_SHAPE::CLine ( int  aShape) const
inline

Function CLine()

Returns
the line chain representing the shape of the meander.

◆ CLine() [2/2]

const SHAPE_LINE_CHAIN& PNS::MEANDER_SHAPE::CLine ( int  aShape) const
inline

Function CLine()

Returns
the line chain representing the shape of the meander.

◆ End() [1/2]

VECTOR2I PNS::MEANDER_SHAPE::End ( ) const
inline

Function End()

Returns
end vertex of the base segment of the meander shape.

◆ End() [2/2]

VECTOR2I PNS::MEANDER_SHAPE::End ( ) const
inline

Function End()

Returns
end vertex of the base segment of the meander shape.

◆ Fit() [1/2]

bool PNS::MEANDER_SHAPE::Fit ( MEANDER_TYPE  aType,
const SEG aSeg,
const VECTOR2I aP,
bool  aSide 
)

Function Fit()

Attempts to fit a meander of a given type onto a segment, avoiding collisions with other board features.

Parameters
aTypetype of meander shape
aSegbase segment for meandering
aPstart point of the meander
aSideside of aSeg to put the meander on (true = right)
Returns
true on success.

◆ Fit() [2/2]

bool PNS::MEANDER_SHAPE::Fit ( MEANDER_TYPE  aType,
const SEG aSeg,
const VECTOR2I aP,
bool  aSide 
)

Function Fit()

Attempts to fit a meander of a given type onto a segment, avoiding collisions with other board features.

Parameters
aTypetype of meander shape
aSegbase segment for meandering
aPstart point of the meander
aSideside of aSeg to put the meander on (true = right)
Returns
true on success.

◆ IsDual() [1/2]

bool PNS::MEANDER_SHAPE::IsDual ( ) const
inline

Function IsDual()

Returns
true if the shape represents 2 parallel lines (diff pair).

◆ IsDual() [2/2]

bool PNS::MEANDER_SHAPE::IsDual ( ) const
inline

Function IsDual()

Returns
true if the shape represents 2 parallel lines (diff pair).

◆ MakeCorner() [1/2]

void PNS::MEANDER_SHAPE::MakeCorner ( VECTOR2I  aP1,
VECTOR2I  aP2 = VECTOR2I( 0, 0 ) 
)

Function MakeCorner()

Creates a dummy meander shape representing a line corner. Used to define the starts/ends of meandered segments.

Parameters
aP1corner point of the 1st line
aP2corner point of the 2nd line (if m_dual == true)

◆ MakeCorner() [2/2]

void PNS::MEANDER_SHAPE::MakeCorner ( VECTOR2I  aP1,
VECTOR2I  aP2 = VECTOR2I(0, 0) 
)

Function MakeCorner()

Creates a dummy meander shape representing a line corner. Used to define the starts/ends of meandered segments.

Parameters
aP1corner point of the 1st line
aP2corner point of the 2nd line (if m_dual == true)

◆ MakeEmpty() [1/2]

void PNS::MEANDER_SHAPE::MakeEmpty ( )

Function MakeEmpty()

Replaces the meander with straight bypass line(s), effectively clearing it.

◆ MakeEmpty() [2/2]

void PNS::MEANDER_SHAPE::MakeEmpty ( )

Function MakeEmpty()

Replaces the meander with straight bypass line(s), effectively clearing it.

◆ MaxTunableLength() [1/2]

int PNS::MEANDER_SHAPE::MaxTunableLength ( ) const

Function MaxTunableLength()

Returns
the length of the fitted line chain.

◆ MaxTunableLength() [2/2]

int PNS::MEANDER_SHAPE::MaxTunableLength ( ) const

Function MaxTunableLength()

Returns
the length of the fitted line chain.

◆ Recalculate() [1/2]

void PNS::MEANDER_SHAPE::Recalculate ( )

Function Recalculate()

Recalculates the line chain representing the meanders's shape.

◆ Recalculate() [2/2]

void PNS::MEANDER_SHAPE::Recalculate ( )

Function Recalculate()

Recalculates the line chain representing the meanders's shape.

◆ Resize() [1/2]

void PNS::MEANDER_SHAPE::Resize ( int  aAmpl)

Function Resize()

Changes the amplitude of the meander shape to aAmpl and recalculates the resulting line chain.

Parameters
aAmplnew amplitude.

◆ Resize() [2/2]

void PNS::MEANDER_SHAPE::Resize ( int  aAmpl)

Function Resize()

Changes the amplitude of the meander shape to aAmpl and recalculates the resulting line chain.

Parameters
aAmplnew amplitude.

◆ SetBaseIndex() [1/2]

void PNS::MEANDER_SHAPE::SetBaseIndex ( int  aIndex)
inline

Function SetBaseIndex()

Sets an auxillary index of the segment being meandered in its original LINE.

◆ SetBaseIndex() [2/2]

void PNS::MEANDER_SHAPE::SetBaseIndex ( int  aIndex)
inline

Function SetBaseIndex()

Sets an auxillary index of the segment being meandered in its original LINE.

◆ SetBaselineOffset() [1/2]

void PNS::MEANDER_SHAPE::SetBaselineOffset ( int  aOffset)
inline

Function SetBaselineOffset()

Sets the parallel offset between the base segment and the meandered line. Used for dual menaders (diff pair) only.

Parameters
aOffsetthe offset

◆ SetBaselineOffset() [2/2]

void PNS::MEANDER_SHAPE::SetBaselineOffset ( int  aOffset)
inline

Function SetBaselineOffset()

Sets the parallel offset between the base segment and the meandered line. Used for dual menaders (diff pair) only.

Parameters
aOffsetthe offset

◆ Settings() [1/2]

const MEANDER_SETTINGS & PNS::MEANDER_SHAPE::Settings ( ) const

Function Settings()

Returns
the current meandering settings.

◆ Settings() [2/2]

const MEANDER_SETTINGS& PNS::MEANDER_SHAPE::Settings ( ) const

Function Settings()

Returns
the current meandering settings.

◆ SetType() [1/2]

void PNS::MEANDER_SHAPE::SetType ( MEANDER_TYPE  aType)
inline

Function SetType()

Sets the type of the meander.

◆ SetType() [2/2]

void PNS::MEANDER_SHAPE::SetType ( MEANDER_TYPE  aType)
inline

Function SetType()

Sets the type of the meander.

◆ Side() [1/2]

bool PNS::MEANDER_SHAPE::Side ( ) const
inline

Function Side()

Returns
true if the meander is to the right of its base segment.

◆ Side() [2/2]

bool PNS::MEANDER_SHAPE::Side ( ) const
inline

Function Side()

Returns
true if the meander is to the right of its base segment.

◆ Type() [1/2]

MEANDER_TYPE PNS::MEANDER_SHAPE::Type ( ) const
inline

Function Type()

Returns
the type of the meander.

◆ Type() [2/2]

MEANDER_TYPE PNS::MEANDER_SHAPE::Type ( ) const
inline

Function Type()

Returns
the type of the meander.

◆ Width() [1/2]

int PNS::MEANDER_SHAPE::Width ( ) const
inline

Function Width()

Returns
width of the meandered line.

◆ Width() [2/2]

int PNS::MEANDER_SHAPE::Width ( ) const
inline

Function Width()

Returns
width of the meandered line.

The documentation for this class was generated from the following files: