Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mitsuba::KDTreeBase< AABBType > Class Template Reference

Base class of all kd-trees. More...

#include <mitsuba/render/gkdtree.h>

+ Inheritance diagram for mitsuba::KDTreeBase< AABBType >:

Classes

struct  KDNode
 KD-tree node in 8 bytes. More...
 

Public Types

typedef uint32_t IndexType
 Index number format (max 2^32 prims) More...
 
typedef uint32_t SizeType
 Size number format. More...
 

Public Member Functions

 BOOST_STATIC_ASSERT (sizeof(KDNode)==8)
 
ELogLevel getLogLevel () const
 Return the log level of kd-tree status messages. More...
 
void setLogLevel (ELogLevel level)
 Return the log level of kd-tree status messages. More...
 
const KDNodegetRoot () const
 Return the root node of the kd-tree. More...
 
bool isBuilt () const
 Return whether or not the kd-tree has been built. More...
 
const AABBType & getAABB () const
 Return a (slightly enlarged) axis-aligned bounding box containing all primitives. More...
 
const AABBType & getTightAABB () const
 Return a tight axis-aligned bounding box containing all primitives. More...
 
virtual const ClassgetClass () const
 Retrieve this object's class. More...
 
- Public Member Functions inherited from Object
 Object ()
 Construct a new object. More...
 
int getRefCount () const
 Return the current reference count. More...
 
void incRef () const
 Increase the reference count of the object by one. More...
 
void decRef (bool autoDeallocate=true) const
 Decrease the reference count of the object and possibly deallocate it. More...
 
virtual std::string toString () const
 Return a human-readable string representation of the object's contents. More...
 

Static Public Attributes

static Classm_theClass = new Class("KDTreeBase", true, "Object")
 
- Static Public Attributes inherited from Object
static Classm_theClass
 Pointer to the object's class descriptor. More...
 

Protected Member Functions

virtual ~KDTreeBase ()
 
- Protected Member Functions inherited from Object
virtual ~Object ()
 Virtual private deconstructor. (Will only be called by ref) More...
 

Protected Attributes

KDNodem_nodes
 
ELogLevel m_logLevel
 
AABBType m_aabb
 
AABBType m_tightAABB
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
static void staticInitialization ()
 Initializes the built-in reference count debugger (if enabled) More...
 
static void staticShutdown ()
 Free the memory taken by staticInitialization() More...
 

Detailed Description

template<typename AABBType>
class mitsuba::KDTreeBase< AABBType >

Base class of all kd-trees.

This class defines the byte layout for KD-tree nodes and provides methods for querying the tree structure.

Member Typedef Documentation

template<typename AABBType>
typedef uint32_t mitsuba::KDTreeBase< AABBType >::IndexType

Index number format (max 2^32 prims)

template<typename AABBType>
typedef uint32_t mitsuba::KDTreeBase< AABBType >::SizeType

Size number format.

Constructor & Destructor Documentation

template<typename AABBType>
virtual mitsuba::KDTreeBase< AABBType >::~KDTreeBase ( )
inlineprotectedvirtual

Member Function Documentation

template<typename AABBType>
mitsuba::KDTreeBase< AABBType >::BOOST_STATIC_ASSERT ( sizeof(KDNode = =8)
template<typename AABBType>
const AABBType& mitsuba::KDTreeBase< AABBType >::getAABB ( ) const
inline

Return a (slightly enlarged) axis-aligned bounding box containing all primitives.

template<typename AABBType>
const Class * KDTreeBase< AABBType >::getClass ( ) const
virtual

Retrieve this object's class.

Reimplemented from Object.

Reimplemented in mitsuba::ShapeKDTree.

template<typename AABBType>
ELogLevel mitsuba::KDTreeBase< AABBType >::getLogLevel ( ) const
inline

Return the log level of kd-tree status messages.

template<typename AABBType>
const KDNode* mitsuba::KDTreeBase< AABBType >::getRoot ( ) const
inline

Return the root node of the kd-tree.

template<typename AABBType>
const AABBType& mitsuba::KDTreeBase< AABBType >::getTightAABB ( ) const
inline

Return a tight axis-aligned bounding box containing all primitives.

template<typename AABBType>
bool mitsuba::KDTreeBase< AABBType >::isBuilt ( ) const
inline

Return whether or not the kd-tree has been built.

template<typename AABBType>
void mitsuba::KDTreeBase< AABBType >::setLogLevel ( ELogLevel  level)
inline

Return the log level of kd-tree status messages.

Member Data Documentation

template<typename AABBType>
AABBType mitsuba::KDTreeBase< AABBType >::m_aabb
protected
template<typename AABBType>
ELogLevel mitsuba::KDTreeBase< AABBType >::m_logLevel
protected
template<typename AABBType>
KDNode* mitsuba::KDTreeBase< AABBType >::m_nodes
protected
template<typename AABBType>
Class * KDTreeBase< AABBType >::m_theClass = new Class("KDTreeBase", true, "Object")
static
template<typename AABBType>
AABBType mitsuba::KDTreeBase< AABBType >::m_tightAABB
protected

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