CS::Geometry Namespace Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

Classes | Typedefs
CS::Geometry Namespace Reference

Geometry and mesh tools related classes. More...

## Classes
class | Box
| A box. More...
class | Capsule
| A capsule. More...
class | Cone
| A Cone. More...
class | DensityTextureMapper
| Density based texture mapper. More...
class | GeneralMeshBuilder
| Tools related to creating genmesh instances and factories. More...
struct | iObjectDescriptor
| If you implement this interface then you can give that to the KDtree. More...
class | KDTree
| A KD-tree. More...
class | KDTreeChild
| A child in the KD-tree (usually some object). More...
struct | Primitive
| Superclass for all primitives. More...
class | Primitives
| A primitive mesh generator. More...
class | Sphere
| A sphere. More...
class | TableTextureMapper
| Table texture mapper. More...
class | TesselatedBox
| A Tesselated box. More...
class | TesselatedQuad
| A tesselated quad. More...
struct | TextureMapper
| Class for controlling texture mapping on the generated meshes. More...
## Typedefs
typedef bool( | KDTreeVisitFunc )(KDTree *treenode, void *userdata, uint32 timestamp, uint32 &frustum_mask)
| A callback function for visiting a KD-tree node.

## Detailed Description

Geometry and mesh tools related classes.

## Typedef Documentation

typedef bool( CS::Geometry::KDTreeVisitFunc)(KDTree *treenode, void *userdata, uint32 timestamp, uint32 &frustum_mask)

A callback function for visiting a KD-tree node.

If this function returns true the traversal will continue. Otherwise Front2Back() will stop.

This function is itself responsible for calling Distribute() on the given treenode to ensure that the objects in this node are properly distributed to the children. If the function doesn't want or need this functionality it doesn't have to do Distribute().

If this function decides to process the given node then it is also responsible for checking the timestamp of every child in this node with the timestamp given to this function. If this timestamp is different the child has not been processed before. This function should then update the timestamp of the child. If this is not done then some objects will be encountered multiple times. In some cases this may not be a problem or even desired.

'frustum_mask' can be modified by this function to reduce the number of plane tests (for frustum culling) that have to occur for children of this node.

Definition at line 88 of file kdtreex.h.