VR-Forces 4.8 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. More...
 
void unbind (DtOctreeNode< T > *node)
 Remove this member from the specified node. More...
 
void unbind ()
 Remove this member from all nodes. More...
 
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. More...
 
DtExtent myExtent
 The extent of the member at the time it was added or last updated. More...
 
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. More...
 
unsigned int mySearchKey
 

Friends

template<class U >
class DtOctreeNode
 
template<class U >
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.

More octree debugging support.

This defines a subclass of the octree class that performs some basic checking that intersections aren't failing. Member functions for DtOctreeData

References DtOctreeNode< T >::myMembers.

Referenced by DtOctreeNode< const 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>
template<class U >
friend class DtOctreeNode
friend
template<class T>
template<class U >
friend class DtOctree
friend

Member Data Documentation

template<class T>
T* DtOctreeMember< T >::myObject
protected
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< const DtVrfObject >::addMember(), DtOctreeNode< const DtVrfObject >::split(), and DtOctree< const 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 Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)