#include <2DBase.h>
Inheritance diagram for C2DBase:
Public Types | |
enum | E_TYPE |
Enumeration of the types the geometric entities that will derive from this. | |
Public Member Functions | |
C2DBase (E_TYPE Type) | |
Constructor must provide the type. | |
virtual | ~C2DBase (void) |
Destructor. | |
virtual void | Move (const C2DVector &Vector)=0 |
Moves the entity. | |
virtual void | RotateToRight (double dAng, const C2DPoint &Origin)=0 |
Rotation around the origin given. | |
virtual void | Grow (double dFactor, const C2DPoint &Origin)=0 |
Grows the entity. | |
virtual void | Reflect (const C2DPoint &Point)=0 |
Reflection in a point. | |
virtual void | Reflect (const C2DLine &Line)=0 |
Reflection in a line. | |
virtual double | Distance (const C2DPoint &Point) const =0 |
Distance to a point. | |
virtual void | GetBoundingRect (C2DRect &Rect) const =0 |
Return the bounding rect. | |
virtual void | Project (const C2DLine &Line, CInterval &Interval) const =0 |
Projects this onto the line provided with the interval on the line returned. | |
virtual void | Project (const C2DVector &Vector, CInterval &Interval) const =0 |
Projects this onto the vector provided with the interval on the line returned. | |
virtual void | SnapToGrid (void)=0 |
Snaps this to the conceptual grid. | |
E_TYPE | GetType (void) const |
Returns the type. | |
Protected Attributes | |
E_TYPE | m_Type |
The type of geometric entity. |
Abstract base class for all Geometric entities which should be able to perform the same set of operations such as Move, Reflect etc.
---------------------------------------------------------------------------