csPoly2DEdges Class Reference
[Geometry utilities]
The following class represents a general 2D polygon represented with edges instead of vertices.
More...
#include <polyedge.h>
Public Methods | |
csPoly2DEdges (int start_size=10) | |
Make a new empty polygon. | |
csPoly2DEdges (csPoly2DEdges ©) | |
Copy constructor. | |
virtual | ~csPoly2DEdges () |
Destructor. | |
void | MakeEmpty () |
Initialize the polygon to empty. | |
int | GetEdgeCount () |
Get the number of edges. | |
csSegment2 * | GetEdges () |
Get the array with all edges. | |
csSegment2 * | GetEdge (int i) |
Get the specified edge. | |
csSegment2 & | operator[] (int i) |
Get the specified edge. | |
csSegment2 * | GetFirst () |
Get the first edge. | |
csSegment2 * | GetLast () |
Get the last edge. | |
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 edges. | |
void | SetEdgeCount (int n) |
Set the number of edges. | |
int | AddEdge (const csSegment2 &e) |
Add a edge (2D) to the polygon. | |
int | AddEdge (const csVector2 &v1, const csVector2 &v2) |
Add a edge (2D) to the polygon. | |
void | Intersect (const csPlane2 &plane, csPoly2DEdges &left, csPoly2DEdges &right, bool &onplane) const |
Intersect this polygon with a given plane and return the two resulting polygons in left and right. | |
Static Public Methods | |
bool | In (csSegment2 *poly, int num_edge, const csVector2 &v) |
Test if a vector is inside the given polygon. | |
Protected Attributes | |
csSegment2 * | edges |
The edges. |
Detailed Description
The following class represents a general 2D polygon represented with edges instead of vertices.
Definition at line 37 of file polyedge.h.
Constructor & Destructor Documentation
|
Make a new empty polygon.
|
|
Copy constructor.
|
|
Destructor.
|
Member Function Documentation
|
Add a edge (2D) to the polygon. Return index of added edge. |
|
Add a edge (2D) to the polygon. Return index of added edge. Definition at line 128 of file polyedge.h. References csSegment2::End(), and csSegment2::Start(). |
|
Get the specified edge.
Definition at line 77 of file polyedge.h. |
|
Get the number of edges.
Definition at line 67 of file polyedge.h. |
|
Get the array with all edges.
Definition at line 72 of file polyedge.h. |
|
Get the first edge.
Definition at line 95 of file polyedge.h. |
|
Get the last edge.
Definition at line 101 of file polyedge.h. |
|
Test if a vector is inside the given polygon.
|
|
Test if this vector is inside the polygon.
|
|
Intersect this polygon with a given plane and return the two resulting polygons in left and right. This version is robust. If one of the edges of this polygon happens to be on the same plane as 'plane' then this edge will be ignored and 'onplane' will be set to true.
Note that this routine may result in unconnected polygons. i.e. edges that are not adjacent. |
|
Initialize the polygon to empty.
|
|
Make room for at least the specified number of edges.
|
|
Get the specified edge.
Definition at line 86 of file polyedge.h. |
|
Set the number of edges.
Definition at line 122 of file polyedge.h. |
Member Data Documentation
|
The edges.
Definition at line 41 of file polyedge.h. |
The documentation for this class was generated from the following file:
- csgeom/polyedge.h
Generated for Crystal Space by doxygen 1.2.18