Horizon
Public Member Functions | List of all members
SHAPE_CIRCLE Class Reference
Inheritance diagram for SHAPE_CIRCLE:
SHAPE

Public Member Functions

 SHAPE_CIRCLE (const VECTOR2I &aCenter, int aRadius)
 
 SHAPE_CIRCLE (const SHAPE_CIRCLE &aOther)
 
SHAPEClone () const override
 Function Clone() More...
 
const BOX2I BBox (int aClearance=0) const override
 Function BBox() More...
 
bool Collide (const SEG &aSeg, int aClearance=0) const override
 Function Collide() More...
 
void SetRadius (int aRadius)
 
void SetCenter (const VECTOR2I &aCenter)
 
int GetRadius () const
 
const VECTOR2I GetCenter () const
 
void Move (const VECTOR2I &aVector) override
 
bool IsSolid () const override
 
- Public Member Functions inherited from SHAPE
 SHAPE (SHAPE_TYPE aType)
 Constructor. More...
 
SHAPE_TYPE Type () const
 Function Type() 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 VECTOR2I Centre () const
 Function Centre() More...
 
virtual bool Parse (std::stringstream &aStream)
 
virtual const std::string Format () const
 

Additional Inherited Members

- Protected Types inherited from SHAPE
typedef VECTOR2I::extended_type ecoord
 
- Protected Attributes inherited from SHAPE
SHAPE_TYPE m_type
 

type of our shape


 

Member Function Documentation

◆ BBox()

const BOX2I SHAPE_CIRCLE::BBox ( int  aClearance = 0) const
inlineoverridevirtual

Function BBox()

Computes a bounding box of the shape, with a margin of aClearance a collision.

Parameters
aClearancehow much the bounding box is expanded wrs to the minimum enclosing rectangle for the shape.
Returns
the bounding box.

Implements SHAPE.

◆ Clone()

SHAPE* SHAPE_CIRCLE::Clone ( ) const
inlineoverridevirtual

Function Clone()

Returns a dynamically allocated copy of the shape

Return values
copyof the shape

Reimplemented from SHAPE.

◆ Collide()

bool SHAPE_CIRCLE::Collide ( const SEG aSeg,
int  aClearance = 0 
) const
inlineoverridevirtual

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.


The documentation for this class was generated from the following file: