Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions | Private Types | Private Attributes
icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE > Class Template Reference

The OctreeObjects provides a visualizable SceneObject interface for the Octree class. More...

#include <OctreeObject.h>

Inheritance diagram for icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >:
icl::math::Octree< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE > icl::geom::SceneObject

List of all members.

Public Member Functions

 OctreeObject (const Scalar &minX, const Scalar &minY, const Scalar &minZ, const Scalar &width, const Scalar &height, const Scalar &depth)
 create OctreeObject from given axis-aligned bounding box
 OctreeObject (const Scalar &min, const Scalar &len)
 create OctreeObject from given cubic axis-aligned bounding box
void setRenderPoints (bool enabled)
 sets whether points are rendered as well
bool getRenderPoints () const
 return whether points are rendered as well
void setRenderBoxes (bool enabled)
 sets whether aabbs are to be rendered (default: true)
bool getRenderBoxes () const
 return whether aabbs are rendered
void setBoxColor (const GeomColor &color)
 sets the color used for boxes (default is semi-transparent green)
GeomColor getBoxColor () const
 returns the box color
void setPointColor (const GeomColor &color)
 sets the color used for rendering ppoints (if point rendering is activated)
GeomColor getPointColor () const
 returns the point rendering color
virtual void customRender ()
 adapted customRenderMethod

Protected Member Functions

void init ()
void box (const typename Parent::AABB &bb) const
 utility function to render AABB-boxes
void renderNodeWithPoints (const typename Parent::Node *node) const
 recursive render function rendering a node's AABB and its points
void renderNode (const typename Parent::Node *node) const
 recursive render function rendering a node's AABB only

Private Types

typedef math::Octree< Scalar,
CAPACITY, SF, Pt,
ALLOC_CHUNK_SIZE > 
Parent
 typedef to the parent class type

Private Attributes

bool m_renderPoints
 flag whether points are rendered as well
bool m_renderBoxes
 flag whether aabb boxes are rendered
GeomColor m_pointColor
 color used for the points (if rendered)
GeomColor m_boxColor
 color used for the aabb-boxes

Detailed Description

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
class icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >

The OctreeObjects provides a visualizable SceneObject interface for the Octree class.


Member Typedef Documentation

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
typedef math::Octree<Scalar,CAPACITY,SF,Pt, ALLOC_CHUNK_SIZE> icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::Parent [private]

typedef to the parent class type


Constructor & Destructor Documentation

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::OctreeObject ( const Scalar &  minX,
const Scalar &  minY,
const Scalar &  minZ,
const Scalar &  width,
const Scalar &  height,
const Scalar &  depth 
) [inline]

create OctreeObject from given axis-aligned bounding box

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::OctreeObject ( const Scalar &  min,
const Scalar &  len 
) [inline]

create OctreeObject from given cubic axis-aligned bounding box


Member Function Documentation

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::box ( const typename Parent::AABB bb) const [inline, protected]

utility function to render AABB-boxes

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
virtual void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::customRender ( ) [inline, virtual]

adapted customRenderMethod

Reimplemented from icl::geom::SceneObject.

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
GeomColor icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::getBoxColor ( ) const [inline]

returns the box color

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
GeomColor icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::getPointColor ( ) const [inline]

returns the point rendering color

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::getRenderBoxes ( ) const [inline]

return whether aabbs are rendered

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::getRenderPoints ( ) const [inline]

return whether points are rendered as well

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::init ( ) [inline, protected]
template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::renderNode ( const typename Parent::Node node) const [inline, protected]

recursive render function rendering a node's AABB only

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::renderNodeWithPoints ( const typename Parent::Node node) const [inline, protected]

recursive render function rendering a node's AABB and its points

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::setBoxColor ( const GeomColor color) [inline]

sets the color used for boxes (default is semi-transparent green)

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::setPointColor ( const GeomColor color) [inline]

sets the color used for rendering ppoints (if point rendering is activated)

The default point rendering color is (0,128,255,255)

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::setRenderBoxes ( bool  enabled) [inline]

sets whether aabbs are to be rendered (default: true)

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::setRenderPoints ( bool  enabled) [inline]

sets whether points are rendered as well

Please not, that the point rendering of the OctreeObject is less efficient the the point-rendering used in SceneObject or in the PointCouldObjectBase sub-classes. Furthermore, all points are rendered with the same color


Member Data Documentation

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
GeomColor icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::m_boxColor [private]

color used for the aabb-boxes

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
GeomColor icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::m_pointColor [private]

color used for the points (if rendered)

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::m_renderBoxes [private]

flag whether aabb boxes are rendered

template<class Scalar, int CAPACITY = 4, int SF = 32, class Pt = math::FixedColVector<Scalar,4>, int ALLOC_CHUNK_SIZE = 1024>
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::m_renderPoints [private]

flag whether points are rendered as well


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines