Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

C2DBase Class Reference

Abstract base class for all Geometric entities. More...

#include <2DBase.h>

Inheritance diagram for C2DBase:

C2DBaseSet C2DCircle C2DHoledPolyBase C2DLineBase C2DPoint C2DPolyBase C2DRect C2DRoute C2DSegment C2DTriangle List of all members.

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.

Detailed Description

Abstract base class for all Geometric entities.

Abstract base class for all Geometric entities which should be able to perform the same set of operations such as Move, Reflect etc.

---------------------------------------------------------------------------


The documentation for this class was generated from the following file:
Generated on Mon Apr 21 11:43:51 2008 for GeoLib by  doxygen 1.4.4