csPolygonClipper Class Reference
[Geometry utilities]
The csPolygonClipper class can be used for clipping any polygon against any other convex polygon.
More...
#include <csgeom/polyclip.h>
Inheritance diagram for csPolygonClipper:
Public Member Functions | |
virtual int | ClassifyBox (const csBox2 &box) |
Classify some bounding box against this clipper. | |
virtual uint8 | Clip (csVector2 *InPolygon, size_t InCount, csVector2 *OutPolygon, size_t &OutCount, csVertexStatus *OutStatus) |
Clip and return additional information about each vertex. | |
virtual uint8 | Clip (csVector2 *InPolygon, size_t InCount, csVector2 *OutPolygon, size_t &OutCount, csBox2 &BoundingBox) |
Clip and compute the bounding box. | |
virtual uint8 | Clip (csVector2 *InPolygon, size_t InCount, csVector2 *OutPolygon, size_t &OutCount) |
Simple clipping. | |
csPolygonClipper (csVector2 *Clipper, size_t Count, bool mirror=false, bool copy=false) | |
Create a polygon clipper object from a set of 2D vectors. | |
csPolygonClipper (csPoly2D *Clipper, bool mirror=false, bool copy=false) | |
Create a polygon clipper object from a 2D polygon. | |
virtual ClipperType | GetClipperType () const |
Retrieve the type of this clipper. | |
virtual csVector2 * | GetClipPoly () |
Return a pointer to the array of csVector2's. | |
virtual size_t | GetVertexCount () |
Return number of vertices for this clipper polygon. | |
virtual bool | IsInside (const csVector2 &v) |
Return true if given point is inside (or on bound) of clipper polygon. | |
virtual | ~csPolygonClipper () |
Destroy the polygon clipper object. |
Detailed Description
The csPolygonClipper class can be used for clipping any polygon against any other convex polygon.The clipper object should be used, if possible, for many polygons (for example, a 3D sprite can initialize a clipper object then clip all of its triangle against it at once) as the initialization of clipper polygon involves some (although not too expensive) calculations. The clipping polygon *should* be convex since the routine does not expect any line to intersect the edge of clipping polygon more than twice.
Definition at line 142 of file polyclip.h.
Constructor & Destructor Documentation
csPolygonClipper::csPolygonClipper | ( | csPoly2D * | Clipper, | |
bool | mirror = false , |
|||
bool | copy = false | |||
) |
Create a polygon clipper object from a 2D polygon.
csPolygonClipper::csPolygonClipper | ( | csVector2 * | Clipper, | |
size_t | Count, | |||
bool | mirror = false , |
|||
bool | copy = false | |||
) |
Create a polygon clipper object from a set of 2D vectors.
virtual csPolygonClipper::~csPolygonClipper | ( | ) | [virtual] |
Destroy the polygon clipper object.
Member Function Documentation
virtual int csPolygonClipper::ClassifyBox | ( | const csBox2 & | box | ) | [virtual] |
virtual uint8 csPolygonClipper::Clip | ( | csVector2 * | InPolygon, | |
size_t | InCount, | |||
csVector2 * | OutPolygon, | |||
size_t & | OutCount, | |||
csVertexStatus * | OutStatus | |||
) | [virtual] |
virtual ClipperType csPolygonClipper::GetClipperType | ( | ) | const [inline, virtual] |
Retrieve the type of this clipper.
Implements iClipper2D.
Definition at line 193 of file polyclip.h.
virtual csVector2* csPolygonClipper::GetClipPoly | ( | ) | [inline, virtual] |
Return a pointer to the array of csVector2's.
Implements iClipper2D.
Definition at line 190 of file polyclip.h.
virtual size_t csPolygonClipper::GetVertexCount | ( | ) | [inline, virtual] |
Return number of vertices for this clipper polygon.
Implements iClipper2D.
Definition at line 187 of file polyclip.h.
virtual bool csPolygonClipper::IsInside | ( | const csVector2 & | v | ) | [virtual] |
The documentation for this class was generated from the following file:
- csgeom/polyclip.h
Generated for Crystal Space by doxygen 1.4.7