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