Public Methods |
| csPoly2D (int start_size=10) |
| Make a new empty polygon.
|
| csPoly2D (const csPoly2D ©) |
| Copy constructor.
|
virtual | ~csPoly2D () |
| Destructor.
|
csPoly2D& | operator= (const csPoly2D &other) |
| Assignment operator.
|
void | MakeEmpty () |
| Initialize the polygon to empty.
|
int | GetVertexCount () |
| Get the number of vertices.
|
int | GetVertexCount () const |
| 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.
|
const csVector2& | operator[] (int i) const |
| Get the specified vertex.
|
csVector2* | GetFirst () |
| Get the first vertex.
|
csVector2* | GetLast () |
| Get the last vertex.
|
bool | In (const csVector2 &v) |
| Test if this vector is inside the polygon.
|
void | MakeRoom (int new_max) |
| Make room for at least the specified number of vertices.
|
void | SetVertexCount (int n) |
| Set the number of vertices.
|
int | AddVertex (const csVector2 &v) |
| Add a vertex (2D) to the polygon. More...
|
int | AddVertex (float x, float y) |
| Add a vertex (2D) to the polygon. More...
|
void | SetVertices (csVector2 const *v, int num) |
| Set all polygon vertices at once. More...
|
void | UpdateBoundingBox () |
| Update the bounding box (useful after SetVertices).
|
csBox2& | GetBoundingBox () |
| Get the bounding box (in 2D space) for this polygon.
|
bool | ClipAgainst (iClipper2D *view) |
| Clipping routines. More...
|
void | Intersect (const csPlane2 &plane, csPoly2D &left, csPoly2D &right) const |
| Intersect this polygon with a given plane and return the two resulting polygons in left and right. More...
|
void | ClipPlane (const csPlane2 &plane, csPoly2D &right) const |
| This routine is similar to Intersect but it only returns the polygon on the 'right' (positive) side of the plane.
|
void | ExtendConvex (const csPoly2D &other, int this_edge) |
| Extend this polygon with another polygon so that the resulting polygon is: (a) still convex, (b) fully contains this polygon, and (c) contains as much as possible of the other polgon. More...
|
float | GetSignedArea () |
| Calculate the signed area of this polygon.
|
void | Random (int num, const csBox2 &max_bbox) |
| Generate a random convex polygon with the specified number of vertices. More...
|
Static Public Methods |
bool | In (csVector2 *poly, int num_poly, const csVector2 &v) |
| Test if a vector is inside the given polygon.
|
Protected Attributes |
csVector2* | vertices |
| The 2D vertices.
|
int | num_vertices |
int | max_vertices |
csBox2 | bbox |
| A 2D bounding box that is maintained automatically.
|