|
| | SHAPE_ARC (const VECTOR2I &aArcCenter, const VECTOR2I &aArcStartPoint, double aCenterAngle, int aWidth=0) |
| | Construct and arc using center, start, angle. More...
|
| |
| | SHAPE_ARC (const VECTOR2I &aArcStart, const VECTOR2I &aArcMid, const VECTOR2I &aArcEnd, int aWidth) |
| |
| | SHAPE_ARC (const SEG &aSegmentA, const SEG &aSegmentB, int aRadius, int aWidth=0) |
| | Build a SHAPE_ARC which is tangent to two segments and a given radius. More...
|
| |
|
| SHAPE_ARC (const SHAPE_ARC &aOther) |
| |
| SHAPE * | Clone () const override |
| | Return a dynamically allocated copy of the shape. More...
|
| |
| SHAPE_ARC & | ConstructFromStartEndAngle (const VECTOR2I &aStart, const VECTOR2I &aEnd, double aAngle, double aWidth=0) |
| | Construct this arc from the given start, end and angle. More...
|
| |
| SHAPE_ARC & | ConstructFromStartEndCenter (const VECTOR2I &aStart, const VECTOR2I &aEnd, const VECTOR2I &aCenter, bool aClockwise=false, double aWidth=0) |
| | Constructs this arc from the given start, end and center. More...
|
| |
|
const VECTOR2I & | GetP0 () const |
| |
|
const VECTOR2I & | GetP1 () const |
| |
|
const VECTOR2I & | GetArcMid () const |
| |
|
VECTOR2I | GetCenter () const |
| |
| const BOX2I | BBox (int aClearance=0) const override |
| | Compute a bounding box of the shape, with a margin of aClearance a collision. More...
|
| |
| bool | Collide (const SEG &aSeg, int aClearance=0, int *aActual=nullptr, VECTOR2I *aLocation=nullptr) const override |
| | Check if the boundary of shape (this) lies closer to the segment aSeg than aClearance, indicating a collision. More...
|
| |
| bool | Collide (const VECTOR2I &aP, int aClearance=0, int *aActual=nullptr, VECTOR2I *aLocation=nullptr) const override |
| | Check if the boundary of shape (this) lies closer to the point aP than aClearance, indicating a collision. More...
|
| |
| bool | Collide (const SHAPE *aShape, int aClearance=0, int *aActual=nullptr, VECTOR2I *aLocation=nullptr) const override |
| |
| int | IntersectLine (const SEG &aSeg, std::vector< VECTOR2I > *aIpsBuffer) const |
| | Find intersection points between this arc and aSeg, treating aSeg as an infinite line. More...
|
| |
| int | Intersect (const SHAPE_ARC &aArc, std::vector< VECTOR2I > *aIpsBuffer) const |
| | Find intersection points between this arc and aArc. More...
|
| |
|
bool | IsClockwise () const |
| |
|
void | SetWidth (int aWidth) |
| |
|
int | GetWidth () const |
| |
| bool | IsSolid () const override |
| |
| void | Move (const VECTOR2I &aVector) override |
| |
| void | Rotate (double aAngle, const VECTOR2I &aCenter) override |
| | Rotate the arc by a given angle about a point. More...
|
| |
|
void | Mirror (bool aX=true, bool aY=false, const VECTOR2I &aVector={ 0, 0 }) |
| |
|
void | Mirror (const SEG &axis) |
| |
|
void | Reverse () |
| |
|
SHAPE_ARC | Reversed () const |
| |
|
double | GetRadius () const |
| |
|
SEG | GetChord () const |
| |
| double | GetCentralAngle () const |
| |
| double | GetStartAngle () const |
| |
| double | GetEndAngle () const |
| |
| double | GetLength () const |
| |
| const SHAPE_LINE_CHAIN | ConvertToPolyline (double aAccuracy=DefaultAccuracyForPCB(), double *aEffectiveAccuracy=nullptr) const |
| | Construct a SHAPE_LINE_CHAIN of segments from a given arc. More...
|
| |
|
bool | operator== (SHAPE_ARC const &aArc) const |
| |
|
| SHAPE (SHAPE_TYPE aType) |
| | Create an empty shape of type aType.
|
| |
| virtual SHAPE * | Clone () const |
| | Return a dynamically allocated copy of the shape. More...
|
| |
| bool | IsNull () const |
| | Return true if the shape is a null shape. More...
|
| |
| virtual bool | Collide (const VECTOR2I &aP, int aClearance=0, int *aActual=nullptr, VECTOR2I *aLocation=nullptr) const |
| | Check if the boundary of shape (this) lies closer to the point aP than aClearance, indicating a collision. More...
|
| |
| virtual bool | Collide (const SHAPE *aShape, int aClearance, VECTOR2I *aMTV) const |
| | Check if the boundary of shape (this) lies closer to the shape aShape than aClearance, indicating a collision. More...
|
| |
| virtual bool | Collide (const SHAPE *aShape, int aClearance=0, int *aActual=nullptr, VECTOR2I *aLocation=nullptr) const |
| |
| virtual bool | Collide (const SEG &aSeg, int aClearance=0, int *aActual=nullptr, VECTOR2I *aLocation=nullptr) const =0 |
| | Check if the boundary of shape (this) lies closer to the segment aSeg than aClearance, indicating a collision. More...
|
| |
| virtual const BOX2I | BBox (int aClearance=0) const =0 |
| | Compute a bounding box of the shape, with a margin of aClearance a collision. More...
|
| |
| virtual VECTOR2I | Centre () const |
| | Compute a center-of-mass of the shape. More...
|
| |
| virtual void | Rotate (double aAngle, const VECTOR2I &aCenter={ 0, 0 })=0 |
| |
| virtual void | Move (const VECTOR2I &aVector)=0 |
| |
| virtual bool | IsSolid () const =0 |
| |
| virtual bool | Parse (std::stringstream &aStream) |
| |
| virtual const std::string | Format () const |
| |
|
| SHAPE_BASE (SHAPE_TYPE aType) |
| | Create an empty shape of type aType.
|
| |
| SHAPE_TYPE | Type () const |
| | Return the type of the shape. More...
|
| |
|
virtual bool | HasIndexableSubshapes () const |
| |
|
virtual size_t | GetIndexableSubshapeCount () const |
| |
|
virtual void | GetIndexableSubshapes (std::vector< SHAPE * > &aSubshapes) |
| |