CrystalSpace

Public API Reference

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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:

iBase List of all members.

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 csBox3GetBoundingBox () 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 csBox3GetNodeBBox (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

virtual void iStaticPVSTree::Clear  )  [pure virtual]
 

Clear the PVS information.

This must be called if you want to recreate the PVS.

virtual void* iStaticPVSTree::CreateRootNode  )  [pure virtual]
 

Create a root node for the tree.

The returned void* is the representation of that root node. Calling this function automatically calls Clear().

virtual void iStaticPVSTree::GetAxisAndPosition void *  node,
int &  axis,
float &  where
const [pure virtual]
 

Return the axis and split position of a node.

virtual const csBox3& iStaticPVSTree::GetBoundingBox  )  const [pure virtual]
 

Get the bounding box for the PVS tree.

virtual void* iStaticPVSTree::GetFirstChild void *  parent  )  const [pure virtual]
 

Return the first child of a node.

virtual const csBox3& iStaticPVSTree::GetNodeBBox void *  node  )  const [pure virtual]
 

Get the box for the given node.

virtual void* iStaticPVSTree::GetRootNode  )  [pure virtual]
 

Return the root node.

virtual void* iStaticPVSTree::GetSecondChild void *  parent  )  const [pure virtual]
 

Return the second child of a node.

virtual bool iStaticPVSTree::IsBoundingBoxSet  )  const [pure virtual]
 

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.

virtual void iStaticPVSTree::MarkInvisible void *  source,
void *  target
[pure virtual]
 

Mark node 'target' as being invisible from node 'source'.

virtual void iStaticPVSTree::SetBoundingBox const csBox3 bbox  )  [pure virtual]
 

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.

virtual void iStaticPVSTree::SplitNode void *  parent,
int  axis,
float  where,
void *&  child1,
void *&  child2
[pure virtual]
 

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.

virtual void iStaticPVSTree::UpdateBoundingBoxes  )  [pure virtual]
 

After building the KDtree this function must be called to make sure all node bounding boxes are ok.

virtual bool iStaticPVSTree::WriteOut  )  [pure virtual]
 

Write out the PVS information to the cache.

Returns false on failure.


The documentation for this struct was generated from the following file:
Generated for Crystal Space by doxygen 1.4.4