Image Component Library (ICL)
|
The OctreeObjects provides a visualizable SceneObject interface for the Octree class. More...
#include <OctreeObject.h>
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 |
The OctreeObjects provides a visualizable SceneObject interface for the Octree class.
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
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
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
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
virtual void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::customRender | ( | ) | [inline, virtual] |
adapted customRenderMethod
Reimplemented from icl::geom::SceneObject.
GeomColor icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::getBoxColor | ( | ) | const [inline] |
returns the box color
GeomColor icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::getPointColor | ( | ) | const [inline] |
returns the point rendering color
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::getRenderBoxes | ( | ) | const [inline] |
return whether aabbs are rendered
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::getRenderPoints | ( | ) | const [inline] |
return whether points are rendered as well
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::init | ( | ) | [inline, protected] |
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
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
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)
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)
void icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::setRenderBoxes | ( | bool | enabled | ) | [inline] |
sets whether aabbs are to be rendered (default: true)
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
GeomColor icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::m_boxColor [private] |
color used for the aabb-boxes
GeomColor icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::m_pointColor [private] |
color used for the points (if rendered)
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::m_renderBoxes [private] |
flag whether aabb boxes are rendered
bool icl::geom::OctreeObject< Scalar, CAPACITY, SF, Pt, ALLOC_CHUNK_SIZE >::m_renderPoints [private] |
flag whether points are rendered as well