VR-Forces 4.0.4 Class Documentation
Public Member Functions | Public Attributes
DtOctreeMember< T > Class Template Reference

DtOctreeMember class. More...

Inheritance diagram for DtOctreeMember< T >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DtOctreeMember (T *object, const DtExtent &extent)
void bind (DtOctreeNode< T > *node)
 Add this member to the specified node. It is incorrect to call this if the member is already bound to a node.
void unbind ()
 Remove this member from the node it's bound to, if any.

Public Attributes

T * myObject
 The object corresponding to this member.
DtExtent myExtent
 The extent of the member at the time it was added or last updated.
DtOctreeNode< T > * boundNode
 The node this member is bound to, if any.
std::list< DtOctreeMember * >
::iterator 
boundIterator
 An iterator pointing to this member's position in the bound node's myMembers list.

Detailed Description

template<class T>
class DtOctreeMember< T >

DtOctreeMember class.

Octree member class. We store both objects and the extents for those objects, since DtVrfObject::extent() can change while an object is in the octree, and we want it to stay in the same place in the octree until explicitly updated.


Constructor & Destructor Documentation

template<class T>
DtOctreeMember< T >::DtOctreeMember ( T *  object,
const DtExtent extent 
) [inline]

Member Function Documentation

template<class T>
void DtOctreeMember< T >::bind ( DtOctreeNode< T > *  node)

Add this member to the specified node. It is incorrect to call this if the member is already bound to a node.

Member functions for DtOctreeData.

References DtOctreeNode< T >::myMembers, and OBJ_ARGS.

Referenced by DtOctreeNode< DtVrfObject >::addMember().

template<class T >
void DtOctreeMember< T >::unbind ( )

Remove this member from the node it's bound to, if any.

Referenced by DtOctree< DtVrfObject >::removeObject(), DtOctreeNode< DtVrfObject >::split(), and DtOctree< DtVrfObject >::updatePositions().


Member Data Documentation

template<class T>
T* DtOctreeMember< T >::myObject

The object corresponding to this member.

Referenced by DtOctreeNode< DtVrfObject >::addMember(), and DtOctreeNode< DtVrfObject >::addMemberToChild().

template<class T>
DtExtent DtOctreeMember< T >::myExtent

The extent of the member at the time it was added or last updated.

Referenced by DtOctreeNode< DtVrfObject >::addMember(), DtOctreeNode< DtVrfObject >::split(), and DtOctree< DtVrfObject >::updatePositions().

template<class T>
DtOctreeNode<T>* DtOctreeMember< T >::boundNode

The node this member is bound to, if any.

Referenced by DtOctree< DtVrfObject >::updatePositions().

template<class T>
std::list<DtOctreeMember*>::iterator DtOctreeMember< T >::boundIterator

An iterator pointing to this member's position in the bound node's myMembers list.

This is only valid if boundNode is non-NULL.


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)