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

C2DPolyArc Class Reference

Class which represents a closed area with lines that are either straight or curved. More...

#include <2DPolyArc.h>

Inheritance diagram for C2DPolyArc:

C2DPolyBase C2DBase List of all members.

Public Member Functions

 C2DPolyArc (void)
 Constructor.
 C2DPolyArc (const C2DPolyBase &Other)
 Constructor.
 C2DPolyArc (const C2DPolyArc &Other)
 Constructor.
 ~C2DPolyArc (void)
 Destructor.
void SetStartPoint (const C2DPoint &Point)
 Sets the starting point.
void LineTo (const C2DPoint &Point, double dRadius, bool bCentreOnRight, bool bArcOnRight)
 Radius of the arc from the PREVIOUS point to the new one. bCentreOnRight indicates whether the centre of the arc is to the right of the line. bArcOnRight indicates whether the curve is to the right i.e. anti-clockwise.
void LineTo (const C2DPoint &Point)
 Adds a point which is a striaght line from the previous.
void Close (double dRadius, bool bCentreOnRight, bool bArcOnRight)
 Close with a curved line. WILL AUTO JOIN TO THE FIRST POINT.
void Close (void)
 Close with a straight line. WILL AUTO JOIN TO THE FIRST POINT.
bool CreateRandom (const C2DRect &cBoundary, int nMinPoints, int nMaxPoints)
 Creates a random shape e.g. for testing.
void Clear (void)
 Clears.
int GetPointsCount (void) const
 Returns the number of points.
void GetNonOverlaps (const C2DPolyArc &Other, C2DHoledPolyArcSet &HoledPolygons, CGrid::eDegenerateHandling eDegen=CGrid::None) const
 Gets the non overlaps i.e. the parts of this that aren't in the other.
void GetNonOverlaps (const C2DPolyArc &Other, C2DHoledPolyBaseSet &HoledPolygons, CGrid::eDegenerateHandling eDegen=CGrid::None) const
 Gets the non overlaps i.e. the parts of this that aren't in the other.
void GetUnion (const C2DPolyArc &Other, C2DHoledPolyArcSet &HoledPolygons, CGrid::eDegenerateHandling eDegen=CGrid::None) const
 Gets the union of the 2 shapes.
void GetUnion (const C2DPolyArc &Other, C2DHoledPolyBaseSet &HoledPolygons, CGrid::eDegenerateHandling eDegen=CGrid::None) const
 Gets the union of the 2 shapes.
void GetOverlaps (const C2DPolyArc &Other, C2DHoledPolyArcSet &Polygons, CGrid::eDegenerateHandling eDegen=CGrid::None) const
 Gets the overlaps of the 2 shapes.
void GetOverlaps (const C2DPolyArc &Other, C2DHoledPolyBaseSet &Polygons, CGrid::eDegenerateHandling eDegen=CGrid::None) const
 Gets the overlaps of the 2 shapes.
double GetArea (void) const
 Gets the area.
C2DPoint GetCentroid (void) const
 Returns the centroid.
void RotateToRight (double dAng, const C2DPoint &Origin)
 Rotates the polygon to the right around the origin given.
void RotateToRight (double dAng)
 Rotates the polygon to the right around the centroid.

Detailed Description

Class which represents a closed area with lines that are either straight or curved.

Class which represents a closed area with lines that are either straight or curved. Inherits most funcionality from the area base class.

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


Constructor & Destructor Documentation

C2DPolyArc::C2DPolyArc (  void   ) 
 

Constructor.

--------------------------------------------------------------------------
C2DPolyArc::C2DPolyArc

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

C2DPolyArc::C2DPolyArc (  const C2DPolyBase &  Other  ) 
 

Constructor.

--------------------------------------------------------------------------
C2DPolyArc::C2DPolyArc

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

C2DPolyArc::C2DPolyArc (  const C2DPolyArc &  Other  ) 
 

Constructor.

--------------------------------------------------------------------------
C2DPolyArc::C2DPolyArc

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

C2DPolyArc::~C2DPolyArc (  void   ) 
 

Destructor.

--------------------------------------------------------------------------
C2DPolyArc::~C2DPolyArc

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


Member Function Documentation

void C2DPolyArc::Clear (  void   ) 
 

Clears.

--------------------------------------------------------------------------
C2DPolyArc::Clear

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

Reimplemented from C2DPolyBase.

void C2DPolyArc::Close (  void   ) 
 

Close with a straight line. WILL AUTO JOIN TO THE FIRST POINT.

--------------------------------------------------------------------------
C2DPolyArc::Close

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

void C2DPolyArc::Close (  double  dRadius,
bool  bCentreOnRight,
bool  bArcOnRight
) 
 

Close with a curved line. WILL AUTO JOIN TO THE FIRST POINT.

--------------------------------------------------------------------------
C2DPolyArc::Close

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

bool C2DPolyArc::CreateRandom (  const C2DRect &  cBoundary,
int  nMinPoints,
int  nMaxPoints
) 
 

Creates a random shape e.g. for testing.

--------------------------------------------------------------------------
C2DPolygon::CreateRandom

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

double C2DPolyArc::GetArea (  void   )  const
 

Gets the area.

--------------------------------------------------------------------------
C2DPolyArc::GetArea

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

C2DPoint C2DPolyArc::GetCentroid (  void   )  const
 

Returns the centroid.

--------------------------------------------------------------------------
C2DPolyArc::GetCentroid

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

void C2DPolyArc::GetNonOverlaps (  const C2DPolyArc &  Other,
C2DHoledPolyBaseSet &  HoledPolygons,
CGrid::eDegenerateHandling  eDegen = CGrid::None
)  const
 

Gets the non overlaps i.e. the parts of this that aren't in the other.

--------------------------------------------------------------------------
C2DPolyArc::GetNonOverlaps

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

void C2DPolyArc::GetNonOverlaps (  const C2DPolyArc &  Other,
C2DHoledPolyArcSet &  HoledPolygons,
CGrid::eDegenerateHandling  eDegen = CGrid::None
)  const
 

Gets the non overlaps i.e. the parts of this that aren't in the other.

--------------------------------------------------------------------------
C2DPolyArc::GetNonOverlaps

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

void C2DPolyArc::GetOverlaps (  const C2DPolyArc &  Other,
C2DHoledPolyBaseSet &  Polygons,
CGrid::eDegenerateHandling  eDegen = CGrid::None
)  const
 

Gets the overlaps of the 2 shapes.

--------------------------------------------------------------------------
C2DPolyArc::GetOverlaps

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

void C2DPolyArc::GetOverlaps (  const C2DPolyArc &  Other,
C2DHoledPolyArcSet &  Polygons,
CGrid::eDegenerateHandling  eDegen = CGrid::None
)  const
 

Gets the overlaps of the 2 shapes.

--------------------------------------------------------------------------
C2DPolyArc::GetOverlaps

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

void C2DPolyArc::GetUnion (  const C2DPolyArc &  Other,
C2DHoledPolyBaseSet &  HoledPolygons,
CGrid::eDegenerateHandling  eDegen = CGrid::None
)  const
 

Gets the union of the 2 shapes.

--------------------------------------------------------------------------
C2DPolyArc::GetUnion

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

void C2DPolyArc::GetUnion (  const C2DPolyArc &  Other,
C2DHoledPolyArcSet &  HoledPolygons,
CGrid::eDegenerateHandling  eDegen = CGrid::None
)  const
 

Gets the union of the 2 shapes.

--------------------------------------------------------------------------
C2DPolyArc::GetUnion

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

void C2DPolyArc::LineTo (  const C2DPoint &  Point  ) 
 

Adds a point which is a striaght line from the previous.

--------------------------------------------------------------------------
C2DPolyArc::LineTo

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

void C2DPolyArc::LineTo (  const C2DPoint &  Point,
double  dRadius,
bool  bCentreOnRight,
bool  bArcOnRight
) 
 

Radius of the arc from the PREVIOUS point to the new one. bCentreOnRight indicates whether the centre of the arc is to the right of the line. bArcOnRight indicates whether the curve is to the right i.e. anti-clockwise.

Radius of the arc from the PREVIOUS point to the new one. bCentreOnRight indicates whether the centre of the arc is to the right of the line. bArcOnRight indicates whether the curve is to the right i.e. anti-clockwise.

void C2DPolyArc::RotateToRight (  double  dAng  ) 
 

Rotates the polygon to the right around the centroid.

--------------------------------------------------------------------------
C2DPolyArc::RotateToRight

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

void C2DPolyArc::RotateToRight (  double  dAng,
const C2DPoint &  Origin
)  [virtual]
 

Rotates the polygon to the right around the origin given.

--------------------------------------------------------------------------
C2DPolyArc::RotateToRight

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

Reimplemented from C2DPolyBase.

void C2DPolyArc::SetStartPoint (  const C2DPoint &  Point  ) 
 

Sets the starting point.

--------------------------------------------------------------------------
C2DPolyArc::SetStartPoint

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


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