31 #include <math/vector2d.h> 32 #include <math/box2.h> 34 #include <geometry/seg.h> 61 typedef VECTOR2I::extended_type ecoord;
123 virtual bool Collide(
const SHAPE* aShape,
int aClearance = 0 )
const;
132 virtual bool Collide(
const SEG& aSeg,
int aClearance = 0 )
const = 0;
143 virtual const BOX2I BBox(
int aClearance = 0 )
const = 0;
153 return BBox( 0 ).Centre();
156 virtual void Move (
const VECTOR2I& aVector ) = 0;
158 virtual bool IsSolid()
const = 0;
160 virtual bool Parse( std::stringstream& aStream );
162 virtual const std::string Format( )
const;
169 bool CollideShapes(
const SHAPE* aA,
const SHAPE* aB,
int aClearance,
SHAPE(SHAPE_TYPE aType)
Constructor.
Definition: shape.h:70
SHAPE_TYPE Type() const
Function Type()
Definition: shape.h:83
virtual VECTOR2I Centre() const
Function Centre()
Definition: shape.h:151
virtual bool Collide(const VECTOR2I &aP, int aClearance=0) const
Function Collide()
Definition: shape.h:107
virtual const BOX2I BBox(int aClearance=0) const =0
Function BBox()
virtual SHAPE * Clone() const
Function Clone()
Definition: shape.h:94
Class SHAPE.
Definition: shape.h:58
SHAPE_TYPE m_type
type of our shape
Definition: shape.h:166