VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Types | Protected Attributes | Friends
DtOctreeMember< T > Class Template Reference

DtOctreeMember class. More...

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

Public Member Functions

 DtOctreeMember (T *object, const DtExtent &extent)
void bind (DtOctreeNode< T > *node)
 Add this member to the specified node.
void unbind (DtOctreeNode< T > *node)
 Remove this member from the specified node.
void unbind ()
 Remove this member from all nodes.
bool testKey (const unsigned int key)

Protected Types

typedef std::pair
< DtOctreeNode< T >
*, typename std::list
< DtOctreeMember * >::iterator > 
NodeBinding

Protected 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.
std::list< NodeBindingmyBindings
 A list of the nodes this member is bound to, if any, and iterators to this member's position in the bound node's myMembers list.
unsigned int mySearchKey

Friends

class DtOctreeNode
class DtOctree

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::roughExtent() 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.

Member Typedef Documentation

template<class T>
typedef std::pair<DtOctreeNode<T>*, typename std::list<DtOctreeMember*>::iterator> DtOctreeMember< T >::NodeBinding
protected

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.

Member functions for DtOctreeData.

References DtOctreeNode< T >::myMembers.

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

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

Remove this member from all nodes.

template<class T>
bool DtOctreeMember< T >::testKey ( const unsigned int  key)
inline

Friends And Related Function Documentation

template<class T>
friend class DtOctreeNode
friend
template<class T>
friend class DtOctree
friend

Member Data Documentation

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

The object corresponding to this member.

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

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

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>
std::list<NodeBinding> DtOctreeMember< T >::myBindings
protected

A list of the nodes this member is bound to, if any, and iterators to this member's position in the bound node's myMembers list.

template<class T>
unsigned int DtOctreeMember< T >::mySearchKey
protected

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

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)