class csFrustrum A frustrum
| | AddVertex (const csVector3& v) Add a vertex to the frustrum polygon |
| | ClipPolyToPlane (csPlane* plane) Clip the polygon of this frustrum to the postive side of an arbitrary plane (which should be specified relative to the origin of the frustrum) |
| | ClipToPlane (csVector3& v1, csVector3& v2) Clip this frustrum to the positive side of a plane formed by the origin of this frustum, and the two given vertices |
| | Contains (const csVector3& point) Check if a point (given relative to the origin of the frustrum) is inside the frustrum |
| | csFrustrum (csVector3& o, csVector3* verts, int num_verts, csPlane* backp = NULL) Create a frustrum given a polygon and a backplane |
| | csFrustrum (const csFrustrum ©) Copy constructor. |
| | csFrustrum (csVector3& o) Create a new empty frustrum. |
| | GetBackPlane () Get the back plane |
| | GetNumVertices () Get the number of vertices |
| | GetOrigin () Get the origin of this frustrum. |
| | GetVertex (int idx) Get a vertex |
| | GetVertices () Get the array of vertices |
| | Intersect (csVector3* poly, int num) Intersect a convex polygon with this volume |
| | Intersect (const csFrustrum& other) Intersect with another frustrum |
| | IsEmpty () Return true if frustrum is empty. |
| | IsInfinite () Return true if frustrum is infinite. |
| | IsMirrored () Is this frustrum mirrored? |
| | IsWide () Return true if frustrum is infinitely wide but it can still have a back plane. |
| | MakeEmpty () Make the frustrum empty |
| | MakeInfinite () Make the frustrum infinite (i |
| | RemoveBackPlane () Remove the back plane of this frustrum |
| | SetBackPlane (csPlane& plane) Set the back plane of this frustrum |
| | SetMirrored (bool m) Enable/disable mirroring |
| | SetOrigin (csVector3& o) Set the origin of this frustrum. |
| | Transform (csTransform* trans) Apply a transformation to this frustrum |
| | ~csFrustrum () |
| | mirrored If true we have a mirrored frustrum where the direction of the polygon is reversed |
| | wide If true we have a total wide frustrum |
A frustrum. This consist of a center point (origin), a frustrum polygon in 3D space (relative to center point) and a plane. The planes which go through the center and every edge of the polygon form the frustrum. The plane is the back plane of the frustrum. It is also possible to have an infinite frustrum in which case the polygon will be NULL (not specified). The back plane can also be NULL.
Returns a new frustrum which exactly covers the intersection
of the polygon with the frustrum (i.e. the smallest frustrum
which is part of this frustrum and which 'sees' exactly
the same of the given polygon as this frustrum).
This function returns NULL if there is no intersection.
Note that the frustrum polygon of the returned csFrustrum is
guaranteed to be coplanar with the given polygon.
bool mirrored
csFrustrum(csVector3& o)
csFrustrum(csVector3& o, csVector3* verts, int num_verts, csPlane* backp = NULL)
csFrustrum(const csFrustrum ©)
virtual ~csFrustrum()
void SetOrigin(csVector3& o)
csVector3& GetOrigin()
void SetMirrored(bool m)
bool IsMirrored()
void SetBackPlane(csPlane& plane)
csPlane* GetBackPlane()
void RemoveBackPlane()
void AddVertex(const csVector3& v)
int GetNumVertices()
csVector3& GetVertex(int idx)
csVector3* GetVertices()
void Transform(csTransform* trans)
void ClipToPlane(csVector3& v1, csVector3& v2)
void ClipPolyToPlane(csPlane* plane)
csFrustrum* Intersect(const csFrustrum& other)
csFrustrum* Intersect(csVector3* poly, int num)
bool Contains(const csVector3& point)
bool IsEmpty()
bool IsInfinite()
bool IsWide()
void MakeInfinite()
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de