|
| SHAPE_SEGMENT (const VECTOR2I &aA, const VECTOR2I &aB, int aWidth=0) |
|
| SHAPE_SEGMENT (const SEG &aSeg, int aWidth=0) |
|
SHAPE * | Clone () const override |
| Return a dynamically allocated copy of the shape. More...
|
|
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 SHAPE *aShape, int aClearance, VECTOR2I *aMTV) const override |
| Check if the boundary of shape (this) lies closer to the shape aShape than aClearance, indicating a collision. More...
|
|
bool | Collide (const SHAPE *aShape, int aClearance=0, int *aActual=nullptr, VECTOR2I *aLocation=nullptr) const override |
|
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...
|
|
void | SetSeg (const SEG &aSeg) |
|
const SEG & | GetSeg () const |
|
void | SetWidth (int aWidth) |
|
int | GetWidth () const |
|
bool | IsSolid () const override |
|
void | Rotate (double aAngle, const VECTOR2I &aCenter={ 0, 0 }) override |
|
void | Move (const VECTOR2I &aVector) override |
|
virtual const std::string | Format () const override |
|
| 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) |
|