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,