In file include/csgeom/poly2d.h:

## class csPoly2D

> The following class represents a general 2D polygon with a bounding box

## Inheritance:

### Public Methods

void AddVertex(float x, float y)
  Add a vertex (2D) to the polygon
void AddVertex(const csVector2& v)
  Add a vertex (2D) to the polygon
bool ClipAgainst(csClipper* view)
  Clipping routines
csPoly2D(int start_size = 10)
  Make a new empty polygon
csPoly2D(csPoly2D& copy)
  Copy constructor.
csBox& GetBoundingBox()
  Get the bounding box (in 2D space) for this polygon.
csVector2* GetFirst()
  Get the first vertex
csVector2* GetLast()
  Get the last vertex
int GetNumVertices()
  Get the number of vertices
csVector2* GetVertex(int i)
  Get the specified vertex
csVector2* GetVertices()
  Get the array with all vertices
void MakeEmpty()
  Initialize the polygon to empty
void MakeRoom(int new_max)
  Make room for at least the specified number of vertices
csVector2& operator[] (int i)
  Get the specified vertex
void SetVertices(csVector2 *v, int num)
  Set all polygon vertices at once
virtual ~csPoly2D()
  Destructor.

### Protected Fields

csBox bbox
  A 2D bounding box that is maintained automatically.
int max_vertices
int num_vertices
csVector2* vertices
  The 2D vertices.

## Documentation

> The following class represents a general 2D polygon with a bounding box

`csVector2* vertices`
  The 2D vertices.

`int num_vertices`

`int max_vertices`

`csBox bbox`
  A 2D bounding box that is maintained automatically.

`csPoly2D(int start_size = 10)`
  Make a new empty polygon

`csPoly2D(csPoly2D& copy)`
  Copy constructor.

`virtual ~csPoly2D()`
  Destructor.

`void MakeEmpty()`
  Initialize the polygon to empty

`int GetNumVertices()`
  Get the number of vertices

`csVector2* GetVertices()`
  Get the array with all vertices

`csVector2* GetVertex(int i)`
  Get the specified vertex

`csVector2& operator[] (int i)`
  Get the specified vertex

`csVector2* GetFirst()`
  Get the first vertex

`csVector2* GetLast()`
  Get the last vertex

`void MakeRoom(int new_max)`
  Make room for at least the specified number of vertices

`void AddVertex(const csVector2& v)`
  Add a vertex (2D) to the polygon

`void AddVertex(float x, float y)`
  Add a vertex (2D) to the polygon

`void SetVertices(csVector2 *v, int num)`
  Set all polygon vertices at once

`csBox& GetBoundingBox()`
  Get the bounding box (in 2D space) for this polygon.

`bool ClipAgainst(csClipper* view)`
  Clipping routines. They return false if the resulting polygon is not visible for some reason. Note that these routines must not be called if the polygon is not visible. These routines will not check that. Note that these routines will put the resulting clipped 2D polygon in place of the original 2D polygon.

Direct child classes:
  csPolygon2D

alphabetic index hierarchy of classes

this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de