|
| SHAPE_ARC (const VECTOR2I &aArcCenter, const VECTOR2I &aArcStartPoint, double aCenterAngle, int aWidth=0) |
|
| SHAPE_ARC (const SHAPE_ARC &aOther) |
|
SHAPE * | Clone () const override |
| Function Clone() More...
|
|
const VECTOR2I & | GetP0 () const |
|
const VECTOR2I | GetP1 () const |
|
const VECTOR2I & | GetCenter () const |
|
const BOX2I | BBox (int aClearance=0) const override |
| Function BBox() More...
|
|
bool | Collide (const SEG &aSeg, int aClearance=0) const override |
| Function Collide() More...
|
|
bool | Collide (const VECTOR2I &aP, int aClearance=0) const override |
| Function Collide() More...
|
|
void | SetWidth (int aWidth) |
|
int | GetWidth () const |
|
bool | IsSolid () const override |
|
void | Move (const VECTOR2I &aVector) override |
|
int | GetRadius () const |
|
SEG | GetChord () const |
|
double | GetCentralAngle () const |
|
double | GetStartAngle () const |
|
double | GetEndAngle () const |
|
const SHAPE_LINE_CHAIN | ConvertToPolyline (double aAccuracy=500.0) const |
| Constructs a SHAPE_LINE_CHAIN of segments from a given arc. More...
|
|
| SHAPE (SHAPE_TYPE aType) |
| Constructor. More...
|
|
SHAPE_TYPE | Type () const |
| Function Type() More...
|
|
virtual SHAPE * | Clone () const |
| Function Clone() More...
|
|
virtual bool | Collide (const VECTOR2I &aP, int aClearance=0) const |
| Function Collide() More...
|
|
virtual bool | Collide (const SHAPE *aShape, int aClearance, VECTOR2I &aMTV) const |
| Function Collide() More...
|
|
virtual bool | Collide (const SHAPE *aShape, int aClearance=0) const |
|
virtual bool | Collide (const SEG &aSeg, int aClearance=0) const =0 |
| Function Collide() More...
|
|
virtual const BOX2I | BBox (int aClearance=0) const =0 |
| Function BBox() More...
|
|
virtual VECTOR2I | Centre () const |
| Function Centre() More...
|
|
virtual void | Move (const VECTOR2I &aVector)=0 |
|
virtual bool | IsSolid () const =0 |
|
virtual bool | Parse (std::stringstream &aStream) |
|
virtual const std::string | Format () const |
|
|
typedef VECTOR2I::extended_type | ecoord |
|
SHAPE_TYPE | m_type |
|
type of our shape
|
|
◆ BBox()
const BOX2I SHAPE_ARC::BBox |
( |
int |
aClearance = 0 | ) |
const |
|
overridevirtual |
Function BBox()
Computes a bounding box of the shape, with a margin of aClearance a collision.
- Parameters
-
aClearance | how much the bounding box is expanded wrs to the minimum enclosing rectangle for the shape. |
- Returns
- the bounding box.
Implements SHAPE.
◆ Clone()
SHAPE * SHAPE_ARC::Clone |
( |
| ) |
const |
|
inlineoverridevirtual |
Function Clone()
Returns a dynamically allocated copy of the shape
- Return values
-
Reimplemented from SHAPE.
◆ Collide() [1/2]
bool SHAPE_ARC::Collide |
( |
const SEG & |
aSeg, |
|
|
int |
aClearance = 0 |
|
) |
| const |
|
overridevirtual |
Function Collide()
Checks if the boundary of shape (this) lies closer to the segment aSeg than aClearance, indicating a collision.
- Returns
- true, if there is a collision.
Implements SHAPE.
◆ Collide() [2/2]
bool SHAPE_ARC::Collide |
( |
const VECTOR2I & |
aP, |
|
|
int |
aClearance = 0 |
|
) |
| const |
|
overridevirtual |
Function Collide()
Checks if the boundary of shape (this) lies closer to the point aP than aClearance, indicating a collision.
- Returns
- true, if there is a collision.
Reimplemented from SHAPE.
◆ ConvertToPolyline()
const SHAPE_LINE_CHAIN SHAPE_ARC::ConvertToPolyline |
( |
double |
aAccuracy = 500.0 | ) |
const |
Constructs a SHAPE_LINE_CHAIN of segments from a given arc.
- Parameters
-
aAccuracy | maximum divergence from true arc given in internal units ** Note that the default of 500.0 here is given using ARC_DEF_HIGH_ACCURACY for pcbnew units. This is to allow common geometry collision functions Other programs should call this using explicit accuracy values TODO: unify KiCad internal units |
- Returns
- a SHAPE_LINE_CHAIN
◆ IsSolid()
bool SHAPE_ARC::IsSolid |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ Move()
void SHAPE_ARC::Move |
( |
const VECTOR2I & |
aVector | ) |
|
|
inlineoverridevirtual |
The documentation for this class was generated from the following files:
- 3rd_party/router/include/geometry/shape_arc.h
- 3rd_party/router/common/geometry/shape_arc.cpp