|
Horizon
|
Public Types | |
| typedef std::vector< SEGMENT * > | SEGMENT_REFS |
Public Types inherited from PNS::ITEM | |
| enum | PnsKind { 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 | |
| LINE () | |
| Constructor Makes an empty line. | |
| LINE (const LINE &aOther) | |
| LINE (const LINE &aBase, const SHAPE_LINE_CHAIN &aLine) | |
| Constructor Copies properties (net, layers, etc.) from a base line and replaces the shape by another. | |
| virtual LINE * | Clone () const override |
| Function Clone() More... | |
| LINE & | operator= (const LINE &aOther) |
| void | SetShape (const SHAPE_LINE_CHAIN &aLine) |
| |
| const SHAPE * | Shape () const override |
| |
| SHAPE_LINE_CHAIN & | Line () |
| |
| const SHAPE_LINE_CHAIN & | CLine () const |
| |
| int | SegmentCount () const |
| |
| int | PointCount () const |
| |
| const VECTOR2I & | CPoint (int aIdx) const |
| |
| const SEG | CSegment (int aIdx) const |
| |
| void | SetWidth (int aWidth) |
| |
| int | Width () const |
| |
| bool | CompareGeometry (const LINE &aOther) |
| |
| void | Reverse () |
| |
| void | LinkSegment (SEGMENT *aSeg) |
| |
| SEGMENT_REFS & | LinkedSegments () |
| |
| bool | IsLinked () const |
| bool | IsLinkedChecked () const |
| bool | ContainsSegment (SEGMENT *aSeg) const |
| |
| SEGMENT * | GetLink (int aIndex) const |
| void | ClearSegmentLinks () |
| |
| int | LinkCount () const |
| |
| const LINE | ClipToNearestObstacle (NODE *aNode) const |
More... | |
| void | ClipVertexRange (int aStart, int aEnd) |
| |
| int | CountCorners (int aAngles) const |
| |
| bool | Walkaround (SHAPE_LINE_CHAIN aObstacle, SHAPE_LINE_CHAIN &aPre, SHAPE_LINE_CHAIN &aWalk, SHAPE_LINE_CHAIN &aPost, bool aCw) const |
More... | |
| bool | Walkaround (const SHAPE_LINE_CHAIN &aObstacle, SHAPE_LINE_CHAIN &aPath, bool aCw) const |
| bool | Is45Degree () const |
| void | ShowLinks () const |
| |
| bool | EndsWithVia () const |
| void | AppendVia (const VIA &aVia) |
| void | RemoveVia () |
| const VIA & | Via () const |
| virtual void | Mark (int aMarker) override |
| virtual void | Unmark (int aMarker=-1) override |
| virtual int | Marker () const override |
| void | DragSegment (const VECTOR2I &aP, int aIndex, int aSnappingThreshold=0, bool aFreeAngle=false) |
| void | DragCorner (const VECTOR2I &aP, int aIndex, int aSnappingThreshold=0, bool aFreeAngle=false) |
| void | SetRank (int aRank) override |
| int | Rank () const override |
| bool | HasLoops () const |
| bool | HasLockedSegments () const |
| OPT_BOX2I | ChangedArea (const LINE *aOther) const |
Public Member Functions inherited from PNS::ITEM | |
| 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 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) |
Additional Inherited Members | |
Static Public Attributes inherited from PNS::ITEM | |
| static const int | UnusedNet = INT_MAX |
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 |
Clips the line to the nearest obstacle, traversing from the line's start vertex (0).
Returns the clipped line.
|
overridevirtual |
| bool PNS::LINE::Walkaround | ( | SHAPE_LINE_CHAIN | aObstacle, |
| SHAPE_LINE_CHAIN & | aPre, | ||
| SHAPE_LINE_CHAIN & | aWalk, | ||
| SHAPE_LINE_CHAIN & | aPost, | ||
| bool | aCw | ||
| ) | const |
Calculates a line thightly wrapping a convex hull of an obstacle object (aObstacle).
aPrePath = path from origin to the obstacle aWalkaroundPath = path around the obstacle aPostPath = past from obstacle till the end aCW = whether to walk around in clockwise or counter-clockwise direction.