Horizon
|
#include <pns_diff_pair.h>
Classes | |
struct | COUPLED_SEGMENTS |
Public Types | |
typedef std::vector< COUPLED_SEGMENTS > | COUPLED_SEGMENTS_VEC |
typedef std::vector< COUPLED_SEGMENTS > | COUPLED_SEGMENTS_VEC |
![]() | |
enum | PnsKind { SOLID_T = 1, LINE_T = 2, JOINT_T = 4, SEGMENT_T = 8, VIA_T = 16, DIFF_PAIR_T = 32, ANY_T = 0xff, SOLID_T = 1, LINE_T = 2, JOINT_T = 4, SEGMENT_T = 8, VIA_T = 16, DIFF_PAIR_T = 32, ANY_T = 0xff } |
| |
enum | PnsKind { SOLID_T = 1, LINE_T = 2, JOINT_T = 4, SEGMENT_T = 8, VIA_T = 16, DIFF_PAIR_T = 32, ANY_T = 0xff, SOLID_T = 1, LINE_T = 2, JOINT_T = 4, SEGMENT_T = 8, VIA_T = 16, DIFF_PAIR_T = 32, ANY_T = 0xff } |
| |
Public Member Functions | |
DIFF_PAIR (int aGap) | |
DIFF_PAIR (const SHAPE_LINE_CHAIN &aP, const SHAPE_LINE_CHAIN &aN, int aGap=0) | |
DIFF_PAIR (const LINE &aLineP, const LINE &aLineN, int aGap=0) | |
DIFF_PAIR * | Clone () const override |
Function Clone() More... | |
void | SetShape (const SHAPE_LINE_CHAIN &aP, const SHAPE_LINE_CHAIN &aN, bool aSwapLanes=false) |
void | SetShape (const DIFF_PAIR &aPair) |
void | SetNets (int aP, int aN) |
void | SetWidth (int aWidth) |
int | Width () const |
void | SetGap (int aGap) |
int | Gap () const |
void | AppendVias (const VIA &aViaP, const VIA &aViaN) |
void | RemoveVias () |
bool | EndsWithVias () const |
int | NetP () const |
int | NetN () const |
LINE & | PLine () |
LINE & | NLine () |
DP_PRIMITIVE_PAIR | EndingPrimitives () |
double | CoupledLength () const |
double | TotalLength () const |
double | CoupledLengthFactor () const |
double | Skew () const |
void | CoupledSegmentPairs (COUPLED_SEGMENTS_VEC &aPairs) const |
void | Clear () |
void | Append (const DIFF_PAIR &aOther) |
bool | Empty () const |
const SHAPE_LINE_CHAIN & | CP () const |
const SHAPE_LINE_CHAIN & | CN () const |
bool | BuildInitial (const DP_GATEWAY &aEntry, const DP_GATEWAY &aTarget, bool aPrefDiagonal) |
bool | CheckConnectionAngle (const DIFF_PAIR &aOther, int allowedAngles) const |
int | CoupledLength (const SEG &aP, const SEG &aN) const |
int64_t | CoupledLength (const SHAPE_LINE_CHAIN &aP, const SHAPE_LINE_CHAIN &aN) const |
const RANGED_NUM< int > | GapConstraint () const |
DIFF_PAIR (int aGap) | |
DIFF_PAIR (const SHAPE_LINE_CHAIN &aP, const SHAPE_LINE_CHAIN &aN, int aGap=0) | |
DIFF_PAIR (const LINE &aLineP, const LINE &aLineN, int aGap=0) | |
DIFF_PAIR * | Clone () const override |
Function Clone() More... | |
void | SetShape (const SHAPE_LINE_CHAIN &aP, const SHAPE_LINE_CHAIN &aN, bool aSwapLanes=false) |
void | SetShape (const DIFF_PAIR &aPair) |
void | SetNets (int aP, int aN) |
void | SetWidth (int aWidth) |
int | Width () const |
void | SetGap (int aGap) |
int | Gap () const |
void | AppendVias (const VIA &aViaP, const VIA &aViaN) |
void | RemoveVias () |
bool | EndsWithVias () const |
int | NetP () const |
int | NetN () const |
LINE & | PLine () |
LINE & | NLine () |
DP_PRIMITIVE_PAIR | EndingPrimitives () |
double | CoupledLength () const |
double | TotalLength () const |
double | CoupledLengthFactor () const |
double | Skew () const |
void | CoupledSegmentPairs (COUPLED_SEGMENTS_VEC &aPairs) const |
void | Clear () |
void | Append (const DIFF_PAIR &aOther) |
bool | Empty () const |
const SHAPE_LINE_CHAIN & | CP () const |
const SHAPE_LINE_CHAIN & | CN () const |
bool | BuildInitial (const DP_GATEWAY &aEntry, const DP_GATEWAY &aTarget, bool aPrefDiagonal) |
bool | CheckConnectionAngle (const DIFF_PAIR &aOther, int allowedAngles) const |
int | CoupledLength (const SEG &aP, const SEG &aN) const |
int64_t | CoupledLength (const SHAPE_LINE_CHAIN &aP, const SHAPE_LINE_CHAIN &aN) const |
const RANGED_NUM< int > | GapConstraint () const |
![]() | |
ITEM (PnsKind aKind) | |
ITEM (const ITEM &aOther) | |
virtual const SHAPE_LINE_CHAIN | Hull (int aClearance=0, int aWalkaroundThickness=0) const |
PnsKind | Kind () const |
Function Kind() More... | |
bool | OfKind (int aKindMask) const |
Function OfKind() More... | |
const std::string | KindStr () const |
Function KindStr() More... | |
void | SetParent (const PNS_HORIZON_PARENT_ITEM *aParent) |
Function SetParent() More... | |
auto | Parent () const |
Function Parent() More... | |
void | SetNet (int aNet) |
Function SetNet() More... | |
int | Net () const |
Function Net() More... | |
bool | InAnyNet () const |
void | SetLayers (const LAYER_RANGE &aLayers) |
Function SetLayers() More... | |
void | SetLayer (int aLayer) |
Function SetLayer() More... | |
const LAYER_RANGE & | Layers () const |
Function Layers() More... | |
virtual int | Layer () const |
Function Layer() More... | |
bool | LayersOverlap (const ITEM *aOther) const |
Function LayersOverlap() More... | |
void | SetOwner (NODE *aOwner) |
Functon SetOwner() More... | |
bool | BelongsTo (NODE *aNode) const |
Function BelongsTo() More... | |
NODE * | Owner () const |
Function Owner() More... | |
virtual bool | Collide (const ITEM *aOther, int aClearance, bool aNeedMTV, VECTOR2I &aMTV, bool aDifferentNetsOnly=true) const |
Function Collide() More... | |
bool | Collide (const ITEM *aOther, int aClearance, bool aDifferentNetsOnly=true) const |
Function Collide() More... | |
virtual const SHAPE * | Shape () const |
Function Shape() More... | |
virtual void | Mark (int aMarker) |
virtual void | Unmark (int aMarker=-1) |
virtual int | Marker () const |
virtual void | SetRank (int aRank) |
virtual int | Rank () const |
virtual VECTOR2I | Anchor (int n) const |
virtual int | AnchorCount () const |
bool | IsLocked () const |
void | SetRoutable (bool aRoutable) |
bool | IsRoutable () const |
ITEM (PnsKind aKind) | |
ITEM (const ITEM &aOther) | |
virtual const SHAPE_LINE_CHAIN | Hull (int aClearance=0, int aWalkaroundThickness=0) const |
PnsKind | Kind () const |
Function Kind() More... | |
bool | OfKind (int aKindMask) const |
Function OfKind() More... | |
const std::string | KindStr () const |
Function KindStr() More... | |
void | SetParent (const PNS_HORIZON_PARENT_ITEM *aParent) |
Function SetParent() More... | |
auto | Parent () const |
Function Parent() More... | |
void | SetNet (int aNet) |
Function SetNet() More... | |
int | Net () const |
Function Net() More... | |
bool | InAnyNet () const |
void | SetLayers (const LAYER_RANGE &aLayers) |
Function SetLayers() More... | |
void | SetLayer (int aLayer) |
Function SetLayer() More... | |
const LAYER_RANGE & | Layers () const |
Function Layers() More... | |
virtual int | Layer () const |
Function Layer() More... | |
bool | LayersOverlap (const ITEM *aOther) const |
Function LayersOverlap() More... | |
void | SetOwner (NODE *aOwner) |
Functon SetOwner() More... | |
bool | BelongsTo (NODE *aNode) const |
Function BelongsTo() More... | |
NODE * | Owner () const |
Function Owner() More... | |
virtual bool | Collide (const ITEM *aOther, int aClearance, bool aNeedMTV, VECTOR2I &aMTV, bool aDifferentNetsOnly=true) const |
Function Collide() More... | |
bool | Collide (const ITEM *aOther, int aClearance, bool aDifferentNetsOnly=true) const |
Function Collide() More... | |
virtual const SHAPE * | Shape () const |
Function Shape() More... | |
virtual void | Mark (int aMarker) |
virtual void | Unmark (int aMarker=-1) |
virtual int | Marker () const |
virtual void | SetRank (int aRank) |
virtual int | Rank () const |
virtual VECTOR2I | Anchor (int n) const |
virtual int | AnchorCount () const |
bool | IsLocked () const |
void | SetRoutable (bool aRoutable) |
bool | IsRoutable () const |
Static Public Member Functions | |
static bool | ClassOf (const ITEM *aItem) |
static DIFF_PAIR * | AssembleDp (LINE *aLine) |
static bool | ClassOf (const ITEM *aItem) |
static DIFF_PAIR * | AssembleDp (LINE *aLine) |
Additional Inherited Members | |
![]() | |
static const int | UnusedNet = INT_MAX |
![]() | |
PnsKind | m_kind |
const PNS_HORIZON_PARENT_ITEM * | m_parent |
NODE * | m_owner |
LAYER_RANGE | m_layers |
bool | m_movable |
int | m_net |
int | m_marker |
int | m_rank |
bool | m_routable |
Class DIFF_PAIR.
Basic class for a differential pair. Stores two PNS_LINEs (for positive and negative nets, respectively), the gap and coupling constraints.
|
inlineoverridevirtual |
|
inlineoverridevirtual |