Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

csBspTree Class Reference

The BSP tree. More...

#include <bsp.h>

Inheritance diagram for csBspTree:

csPolygonTree List of all members.

Public Methods

 csBspTree (csThing *thing, int mode=BSP_MINIMIZE_SPLITS)
 Create an empty tree for a parent container.

virtual ~csBspTree ()
 Destroy the whole BSP tree (but not the actual polygons and parent objects).

void Build (csPolygonInt **polygons, int num)
 Create the tree with a given set of polygons.

void Build (csPolygonArray &polygons)
 Create the tree with a given set of polygons.

void* Back2Front (const csVector3 &pos, csTreeVisitFunc *func, void *data, csTreeCullFunc *cullfunc=NULL, void *culldata=NULL)
 Traverse the tree from back to front starting at the root and 'pos'.

void* Front2Back (const csVector3 &pos, csTreeVisitFunc *func, void *data, csTreeCullFunc *cullfunc=NULL, void *culldata=NULL)
 Traverse the tree from front to back starting at the root and 'pos'.

void Statistics ()
 Print statistics about this bsp tree.

void Statistics (int *num_nodes, int *num_leaves, int *max_depth, int *tot_polygons, int *max_poly_in_node, int *min_poly_in_node)
 Return statistics about this particular tree.

int* GetVertices (int &count)
 Get a list of all vertices used by all the polygons in this bsp tree. More...

bool IsEmpty ()
 Return true if bsp tree is empty.

void Cache (iFile *cf, csPolygonInt **polygons, int num)
 Cache this tree.

bool ReadFromCache (iFile *cf, csPolygonInt **polygons, int num)
 Read this tree from cache.

int CountPolygons ()
 Count all the polygons in this tree. More...


Detailed Description

The BSP tree.


Member Function Documentation

int csBspTree::CountPolygons ( ) [inline]
 

Count all the polygons in this tree.

This function only calls leaf polygons (i.e. polygons that will actually be returned by Front2Back/Back2Front).

int * csBspTree::GetVertices ( int & count )
 

Get a list of all vertices used by all the polygons in this bsp tree.

This list should be deleted with 'delete[]' after use. The vertices are returned as indices into the parent object (pset).


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000