|
Horizon
|
Basic class for a differential pair. More...
#include <pns_diff_pair.h>
Classes | |
| struct | COUPLED_SEGMENTS |
Public Types | |
| typedef std::vector< COUPLED_SEGMENTS > | COUPLED_SEGMENTS_VEC |
Public Types inherited from PNS::LINK_HOLDER | |
| typedef std::vector< LINKED_ITEM * > | LINKS |
Public Types inherited from PNS::ITEM | |
| enum | PnsKind { SOLID_T = 1 , LINE_T = 2 , JOINT_T = 4 , SEGMENT_T = 8 , ARC_T = 16 , VIA_T = 32 , DIFF_PAIR_T = 64 , 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 |
| Return a deep copy of the item. More... | |
| virtual void | ClearLinks () override |
| Return the number of segments that were assembled together to form this line. 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 |
| void | SetViaDiameter (int aDiameter) |
| void | SetViaDrill (int aDrill) |
| 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 |
Public Member Functions inherited from PNS::LINK_HOLDER | |
| LINK_HOLDER (PnsKind aKind) | |
| Add a reference to an item registered in a #NODE that is a part of this line. | |
| void | Link (LINKED_ITEM *aLink) |
| Return the list of links from the owning node that constitute this line (or NULL if the line is not linked). | |
| LINKS & | Links () |
| const LINKS & | Links () const |
| bool | IsLinked () const |
| Check if the segment aLink is a part of the line. | |
| bool | ContainsLink (const LINKED_ITEM *aItem) const |
| LINKED_ITEM * | GetLink (int aIndex) const |
| Erase the linking information. Used to detach the line from the owning node. | |
| virtual void | ClearLinks () |
| Return the number of segments that were assembled together to form this line. More... | |
| int | LinkCount () const |
| void | ShowLinks () const |
Public Member Functions inherited from PNS::ITEM | |
| ITEM (PnsKind aKind) | |
| ITEM (const ITEM &aOther) | |
| virtual ITEM * | Clone () const =0 |
| Return a deep copy of the item. More... | |
| virtual const SHAPE_LINE_CHAIN | Hull (int aClearance=0, int aWalkaroundThickness=0, int aLayer=-1) const |
| virtual const SHAPE_LINE_CHAIN | HoleHull (int aClearance, int aWalkaroundThickness, int aLayer) const |
| PnsKind | Kind () const |
| Return the type (kind) of the item. | |
| bool | OfKind (int aKindMask) const |
| Return true if the item's type matches the mask aKindMask. | |
| std::string | KindStr () const |
| Returns the kind of the item, as string. | |
| void | SetParent (const PNS_HORIZON_PARENT_ITEM *aParent) |
| const PNS_HORIZON_PARENT_ITEM * | Parent () const |
| void | SetNet (int aNet) |
| int | Net () const |
| const LAYER_RANGE & | Layers () const |
| void | SetLayers (const LAYER_RANGE &aLayers) |
| void | SetLayer (int aLayer) |
| virtual int | Layer () const |
| bool | LayersOverlap (const ITEM *aOther) const |
| Return true if the set of layers spanned by aOther overlaps our layers. | |
| NODE * | Owner () const |
| Return the owner of this item, or NULL if there's none. | |
| void | SetOwner (NODE *aOwner) |
| Set the node that owns this item. More... | |
| bool | BelongsTo (NODE *aNode) const |
| bool | Collide (const ITEM *aOther, const NODE *aNode, bool aDifferentNetsOnly=true) const |
| Check for a collision (clearance violation) with between us and item aOther. More... | |
| virtual const SHAPE * | Shape () const |
| Return the geometrical shape of the item. More... | |
| virtual const SHAPE * | Hole () const |
| virtual void | Mark (int aMarker) const |
| virtual void | Unmark (int aMarker=-1) const |
| 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 |
| bool | IsVirtual () const |
| void | SetIsCompoundShapePrimitive () |
| bool | IsCompoundShapePrimitive () const |
Static Public Member Functions | |
| static bool | ClassOf (const ITEM *aItem) |
| static DIFF_PAIR * | AssembleDp (LINE *aLine) |
Additional Inherited Members | |
Static Public Attributes inherited from PNS::ITEM | |
| static const int | UnusedNet = INT_MAX |
| Supported item types. | |
Protected Member Functions inherited from PNS::LINK_HOLDER | |
| void | copyLinks (const LINK_HOLDER *aParent) |
| < Copy m_links from the line aParent. More... | |
Protected Attributes inherited from PNS::LINK_HOLDER | |
| LINKS | m_links |
Protected Attributes inherited from PNS::ITEM | |
| 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 |
| bool | m_isVirtual |
| bool | m_isCompoundShapePrimitive |
Basic class for a differential pair.
Stores two PNS_LINEs (for positive and negative nets, respectively), the gap and coupling constraints.
|
inlineoverridevirtual |
Return the number of segments that were assembled together to form this line.
Reimplemented from PNS::LINK_HOLDER.
|
inlineoverridevirtual |
Return a deep copy of the item.
Implements PNS::ITEM.