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

Class MEANDERED_LINE. More...

#include <pns_meander.h>

Public Member Functions

 MEANDERED_LINE (MEANDER_PLACER_BASE *aPlacer, bool aIsDual=false)
 Constructor. More...
 
void AddCorner (const VECTOR2I &aA, const VECTOR2I &aB=VECTOR2I(0, 0))
 Function AddCorner() More...
 
void AddMeander (MEANDER_SHAPE *aShape)
 Function AddMeander() More...
 
void Clear ()
 Function Clear() More...
 
void SetWidth (int aWidth)
 Function SetWidth() More...
 
void MeanderSegment (const SEG &aSeg, int aBaseIndex=0)
 Function MeanderSegment() More...
 
void SetBaselineOffset (int aOffset)
 Function SetBaselineOffset() More...
 
std::vector< MEANDER_SHAPE * > & Meanders ()
 Function Meanders() More...
 
bool CheckSelfIntersections (MEANDER_SHAPE *aShape, int aClearance)
 Function CheckSelfIntersections() More...
 
const MEANDER_SETTINGSSettings () const
 Function Settings() More...
 

Detailed Description

Class MEANDERED_LINE.

Represents a set of meanders fitted over a single or two lines.

Constructor & Destructor Documentation

◆ MEANDERED_LINE()

PNS::MEANDERED_LINE::MEANDERED_LINE ( MEANDER_PLACER_BASE aPlacer,
bool  aIsDual = false 
)
inline

Constructor.

Parameters
aPlacerthe meander placer instance
aIsDualwhen true, the meanders are generated for two coupled lines

Member Function Documentation

◆ AddCorner()

void PNS::MEANDERED_LINE::AddCorner ( const VECTOR2I aA,
const VECTOR2I aB = VECTOR2I( 0, 0 ) 
)

Function AddCorner()

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

Parameters
aAcorner point of the 1st line
aBcorner point of the 2nd line (if m_dual == true)

◆ AddMeander()

void PNS::MEANDERED_LINE::AddMeander ( MEANDER_SHAPE aShape)

Function AddMeander()

Adds a new meander shape the the meandered line.

Parameters
aShapethe meander shape to add

◆ CheckSelfIntersections()

bool PNS::MEANDERED_LINE::CheckSelfIntersections ( MEANDER_SHAPE aShape,
int  aClearance 
)

Function CheckSelfIntersections()

Checks if the given shape is intersecting with any other meander in the current line.

Parameters
aShapethe shape to check
aClearanceclearance value
Returns
true, if the meander shape is not colliding

◆ Clear()

void PNS::MEANDERED_LINE::Clear ( )

Function Clear()

Clears the line geometry, removing all corners and meanders.

◆ Meanders()

std::vector<MEANDER_SHAPE*>& PNS::MEANDERED_LINE::Meanders ( )
inline

Function Meanders()

Returns
set of meander shapes for this line

◆ MeanderSegment()

void PNS::MEANDERED_LINE::MeanderSegment ( const SEG aSeg,
int  aBaseIndex = 0 
)

Function MeanderSegment()

Fits maximum amplitude meanders on a given segment and adds to the current line.

Parameters
aSegthe base segment to meander
aBaseIndexindex of the base segment in the original line

◆ SetBaselineOffset()

void PNS::MEANDERED_LINE::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()

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

Function Settings()

Returns
the current meandering settings.

◆ SetWidth()

void PNS::MEANDERED_LINE::SetWidth ( int  aWidth)
inline

Function SetWidth()

Sets the line width.


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