Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

sheep::OctreeNode< Item > Struct Template Reference

#include <octree.h>

List of all members.

Public Types

typedef std::vector< Item > ItemVector
typedef ItemVector::const_iterator ItemVectorConstIt

Public Member Functions

 OctreeNode ()
 OctreeNode (const AABB3 &voxel)
 ~OctreeNode ()
template<typename ItemVoxelIntersector> void Subdivide (int pop_threshold, int remaining_subdiv, ItemVoxelIntersector &intersector)
template<typename Visitor> bool Trace (const Point3 &origin, Real tx0, Real ty0, Real tz0, Real tx1, Real ty1, Real tz1, unsigned int a, unsigned int b, Visitor &visitor) const
template<typename Visitor> void Visit (Visitor &visitor) const

Public Attributes

AABB3 m_voxel
 The volume occupied by the node.

Point3 m_center
 The center of this volume.

bool m_is_leaf
 Indicates whether this node is a leaf or not.

OctreeNodem_children [8]
 The children of this node.

ItemVector m_items
 Items owned by this node, if this node is a leaf.

template<typename Item>
struct sheep::OctreeNode< Item >


Member Typedef Documentation

template<typename Item>
typedef std::vector<Item> sheep::OctreeNode< Item >::ItemVector
 

Definition at line 58 of file sheep/src/common/math/octree.h.

template<typename Item>
typedef ItemVector::const_iterator sheep::OctreeNode< Item >::ItemVectorConstIt
 

Definition at line 59 of file sheep/src/common/math/octree.h.


Constructor & Destructor Documentation

template<typename Item>
sheep::OctreeNode< Item >::OctreeNode  )  [inline]
 

Definition at line 445 of file sheep/src/common/math/octree.h.

template<typename Item>
sheep::OctreeNode< Item >::OctreeNode const AABB3 voxel  )  [inline]
 

Definition at line 449 of file sheep/src/common/math/octree.h.

template<typename Item>
sheep::OctreeNode< Item >::~OctreeNode  )  [inline]
 

Definition at line 455 of file sheep/src/common/math/octree.h.


Member Function Documentation

template<typename Item>
template<typename ItemVoxelIntersector>
void sheep::OctreeNode< Item >::Subdivide int  pop_threshold,
int  remaining_subdiv,
ItemVoxelIntersector &  intersector
[inline]
 

Definition at line 68 of file sheep/src/common/math/octree.h.

Referenced by sheep::OctreeNode< const triangle * >::Subdivide().

template<typename Item>
template<typename Visitor>
bool sheep::OctreeNode< Item >::Trace const Point3 origin,
Real  tx0,
Real  ty0,
Real  tz0,
Real  tx1,
Real  ty1,
Real  tz1,
unsigned int  a,
unsigned int  b,
Visitor &  visitor
const [inline]
 

Definition at line 136 of file sheep/src/common/math/octree.h.

Referenced by sheep::OctreeNode< const triangle * >::Trace().

template<typename Item>
template<typename Visitor>
void sheep::OctreeNode< Item >::Visit Visitor &  visitor  )  const [inline]
 

Definition at line 288 of file sheep/src/common/math/octree.h.

Referenced by sheep::OctreeNode< const triangle * >::Visit().


Member Data Documentation

template<typename Item>
Point3 sheep::OctreeNode< Item >::m_center
 

The center of this volume.

Definition at line 53 of file sheep/src/common/math/octree.h.

Referenced by sheep::Octree< const triangle * >::Hit().

template<typename Item>
OctreeNode* sheep::OctreeNode< Item >::m_children[8]
 

The children of this node.

Definition at line 56 of file sheep/src/common/math/octree.h.

Referenced by sheep::Octree< const triangle * >::Hit().

template<typename Item>
bool sheep::OctreeNode< Item >::m_is_leaf
 

Indicates whether this node is a leaf or not.

Definition at line 55 of file sheep/src/common/math/octree.h.

Referenced by sheep::Octree< const triangle * >::Hit().

template<typename Item>
ItemVector sheep::OctreeNode< Item >::m_items
 

Items owned by this node, if this node is a leaf.

Definition at line 61 of file sheep/src/common/math/octree.h.

Referenced by sheep::OctreeNode< const triangle * >::Subdivide().

template<typename Item>
AABB3 sheep::OctreeNode< Item >::m_voxel
 

The volume occupied by the node.

Definition at line 52 of file sheep/src/common/math/octree.h.


The documentation for this struct was generated from the following file:
Generated on Tue May 11 01:31:54 2004 for toxic by doxygen 1.3.6