31 #include <math/vector2d.h> 32 #include <math/box2.h> 34 #include <geometry/seg.h> 60 typedef VECTOR2I::extended_type ecoord;
122 virtual bool Collide(
const SHAPE* aShape,
int aClearance = 0 )
const;
131 virtual bool Collide(
const SEG& aSeg,
int aClearance = 0 )
const = 0;
142 virtual const BOX2I BBox(
int aClearance = 0 )
const = 0;
152 return BBox( 0 ).Centre();
155 virtual void Move (
const VECTOR2I& aVector ) = 0;
157 virtual bool IsSolid()
const = 0;
159 virtual bool Parse( std::stringstream& aStream );
161 virtual const std::string Format( )
const;
168 bool CollideShapes(
const SHAPE* aA,
const SHAPE* aB,
int aClearance,
SHAPE(SHAPE_TYPE aType)
Constructor.
Definition: shape.h:69
SHAPE_TYPE Type() const
Function Type()
Definition: shape.h:82
virtual VECTOR2I Centre() const
Function Centre()
Definition: shape.h:150
virtual bool Collide(const VECTOR2I &aP, int aClearance=0) const
Function Collide()
Definition: shape.h:106
virtual const BOX2I BBox(int aClearance=0) const =0
Function BBox()
virtual SHAPE * Clone() const
Function Clone()
Definition: shape.h:93
Class SHAPE.
Definition: shape.h:57
SHAPE_TYPE m_type
type of our shape
Definition: shape.h:165