iStaticPVSTree Struct Reference
This interface allows someone to write the PVS data for the PVS visibility culler. More...
#include <ivaria/pvstree.h>
Inheritance diagram for iStaticPVSTree:

Public Member Functions | |
virtual void | Clear ()=0 |
Clear the PVS information. | |
virtual void * | CreateRootNode ()=0 |
Create a root node for the tree. | |
virtual void | GetAxisAndPosition (void *node, int &axis, float &where) const =0 |
Return the axis and split position of a node. | |
virtual const csBox3 & | GetBoundingBox () const =0 |
Get the bounding box for the PVS tree. | |
virtual void * | GetFirstChild (void *parent) const =0 |
Return the first child of a node. | |
virtual const csBox3 & | GetNodeBBox (void *node) const =0 |
Get the box for the given node. | |
virtual void * | GetRootNode ()=0 |
Return the root node. | |
virtual void * | GetSecondChild (void *parent) const =0 |
Return the second child of a node. | |
virtual bool | IsBoundingBoxSet () const =0 |
Return true if the bounding box of the PVS is set. | |
virtual void | MarkInvisible (void *source, void *target)=0 |
Mark node 'target' as being invisible from node 'source'. | |
virtual void | SetBoundingBox (const csBox3 &bbox)=0 |
Setup a PVS tree with the given bounding box. | |
virtual void | SplitNode (void *parent, int axis, float where, void *&child1, void *&child2)=0 |
Split a give node along the given axis (x=0, y=1, z=2) and at the specified position along that axis. | |
virtual void | UpdateBoundingBoxes ()=0 |
After building the KDtree this function must be called to make sure all node bounding boxes are ok. | |
virtual bool | WriteOut ()=0 |
Write out the PVS information to the cache. |
Detailed Description
This interface allows someone to write the PVS data for the PVS visibility culler.
Definition at line 48 of file pvstree.h.
Member Function Documentation
|
Clear the PVS information. This must be called if you want to recreate the PVS. |
|
Create a root node for the tree. The returned void* is the representation of that root node. Calling this function automatically calls Clear(). |
|
Return the axis and split position of a node.
|
|
Get the bounding box for the PVS tree.
|
|
Return the first child of a node.
|
|
Get the box for the given node.
|
|
Return the root node.
|
|
Return the second child of a node.
|
|
Return true if the bounding box of the PVS is set. False otherwise. The PVScalc tool will use that information to know if it should manually calculate the bounding box. |
|
Mark node 'target' as being invisible from node 'source'.
|
|
Setup a PVS tree with the given bounding box. This is mostly used in situations where you want to setup a PVS culler at runtime. Normally this information is present in the XML parameters for the PVS culler. |
|
Split a give node along the given axis (x=0, y=1, z=2) and at the specified position along that axis. Returns two new children in 'child1' and 'child2'. If the node is already split the previous children will be destroyed. |
|
After building the KDtree this function must be called to make sure all node bounding boxes are ok.
|
|
Write out the PVS information to the cache. Returns false on failure. |
The documentation for this struct was generated from the following file:
- ivaria/pvstree.h
Generated for Crystal Space by doxygen 1.4.4