#include <bspbbox.h>
Inheritance diagram for csBspPolygon:
Public Methods | |
void | Dump () |
Debug. | |
virtual | ~csBspPolygon () |
Destructor. | |
csPolyTreeBBox* | GetParent () |
Get the parent container. | |
void | SetParent (csPolyTreeBBox *par) |
Set the parent container. | |
csVisObjInfo* | GetOriginator () |
Get originator. | |
void | SetOriginator (csVisObjInfo *org) |
Set originator. | |
csPolyIndexed& | GetPolygon () |
Get the reference to the polygon. | |
virtual int | GetVertexCount () |
Get number of vertices. | |
virtual int* | GetVertexIndices () |
Get vertex index table (required for csPolygonInt). | |
virtual csPolygonInt* | GetUnsplitPolygon () |
Get original polygon (not known for this polygon type). | |
void | SetPolyPlane (const csPlane3 &pl) |
Set the plane for this polygon. | |
csPlane3* | GetPolyPlane () |
Return the plane of this polygon. | |
int | Classify (const csPlane3 &pl) |
Classify a polygon with regards to this one. | |
int | ClassifyX (float x) |
Same as Classify() but for X plane only. | |
int | ClassifyY (float y) |
Same as Classify() but for Y plane only. | |
int | ClassifyZ (float z) |
Same as Classify() but for Z plane only. | |
void | SplitWithPlane (csPolygonInt **front, csPolygonInt **back, const csPlane3 &split_plane) |
Split this polygon with the given plane (A,B,C,D). | |
void | SplitWithPlaneX (csPolygonInt **front, csPolygonInt **back, float x) |
Split this polygon to the x-plane. | |
void | SplitWithPlaneY (csPolygonInt **front, csPolygonInt **back, float y) |
Split this polygon to the y-plane. | |
void | SplitWithPlaneZ (csPolygonInt **front, csPolygonInt **back, float z) |
Split this polygon to the z-plane. | |
int | GetType () |
Return 3 to indicate it is a bsp polygon. | |
void | Transform (const csTransform &trans) |
Transform the plane of this polygon. | |
bool | ClipToPlane (csPlane3 *portal_plane, const csVector3 &v_w2c, csVector3 *&pverts, int &num_verts, bool cw=true) |
Clip this polygon to the Z plane and if portal_plane is given also clip the polygon to that plane. More... | |
bool | DoPerspective (const csTransform &trans, csVector3 *source, int num_verts, csPolygon2D *dest, bool mirror) |
Perspective correct a polygon. More... | |
bool | Overlaps (csPolygonInt *) |
Not implemented yet! @@. | |
bool | IntersectSegment (const csVector3 &start, const csVector3 &end, csVector3 &isect, float *pr=NULL) |
Intersect object-space segment with this polygon. More... | |
Static Public Methods | |
csPolygonIntPool& | GetPolygonPool () |
A pool of csBspPolygon. | |
Friends | |
class | csBspPolygonFactory |
It is specifically designed to be able to add bounding boxes to sprites and dynamic things and then add those bounding boxes to the BSP tree.
|
Clip this polygon to the Z plane and if portal_plane is given also clip the polygon to that plane. @@ NOTE @@ This function is almost identical to the one in csPolygon3D. It should be possible to reuse that code. |
|
Perspective correct a polygon. Note that this function is nearly identical to a version in csPolygon3D. It should be possible to reuse that code. |
|
Intersect object-space segment with this polygon. Return true if it intersects and the intersection point in world coordinates. |