Template class that implements the data structure and algorithms for Octree-based efficient rendering.
Definition at line 62 of file COctreePointRenderer.h.
#include <mrpt/opengl/COctreePointRenderer.h>

Classes | |
| struct | TNode |
| The structure for each octree spatial node. More... | |
| struct | TRenderQueueElement |
Public Types | |
| enum | { OCTREE_ROOT_NODE = 0 } |
Public Member Functions | |
| COctreePointRenderer () | |
| Default ctor. | |
| COctreePointRenderer (const COctreePointRenderer &) | |
| Copy ctor. | |
| size_t | octree_get_node_count () const |
| Return the number of octree nodes (all of them, including the empty ones) | |
| size_t | octree_get_visible_nodes () const |
| Return the number of visible octree nodes in the last render event. | |
| void | octree_mark_as_outdated () |
| Called from the derived class (or the user) to indicate we have/want to rebuild the entire node tree (for example, after modifying the point cloud or any global octree parameter) | |
| void | octree_get_graphics_boundingboxes (mrpt::opengl::CSetOfObjects &gl_bb, const double lines_width=1, const TColorf lines_color=TColorf(1, 1, 1)) const |
| Returns a graphical representation of all the bounding boxes of the octree (leaf) nodes. | |
| void | octree_debug_dump_tree (std::ostream &o) const |
| Used for debug only. | |
Protected Member Functions | |
| Derived & | octree_derived () |
| const Derived & | octree_derived () const |
| void | octree_assure_uptodate () const |
| Must be called at children class' render() previously to octree_render() | |
| void | octree_render (const mrpt::opengl::CRenderizable::TRenderInfo &ri) const |
| Render the entire octree recursively. | |
Private Member Functions | |
| void | octree_recursive_render (size_t node_idx, const mrpt::opengl::CRenderizable::TRenderInfo &ri, TPixelCoordf cr_px[8], float cr_z[8], bool corners_are_all_computed=true, bool trust_me_youre_visible=false, float approx_area_sqpixels=0) const |
| Render a given node. | |
| void | internal_octree_assure_uptodate () |
| void | internal_recursive_split (const size_t node_id, const bool all_pts=false) |
Private Attributes | |
| std::vector< TRenderQueueElement > | m_render_queue |
| The list of elements that really are visible and will be rendered. | |
| bool | m_octree_has_to_rebuild_all |
| std::deque< TNode > | m_octree_nodes |
| First one [0] is always the root node. | |
| volatile size_t | m_visible_octree_nodes |
| volatile size_t | m_visible_octree_nodes_ongoing |
| anonymous enum |
Definition at line 78 of file COctreePointRenderer.h.
| mrpt::opengl::COctreePointRenderer< Derived >::COctreePointRenderer | ( | ) | [inline] |
Default ctor.
Definition at line 66 of file COctreePointRenderer.h.
| mrpt::opengl::COctreePointRenderer< Derived >::COctreePointRenderer | ( | const COctreePointRenderer< Derived > & | ) | [inline] |
Copy ctor.
Definition at line 73 of file COctreePointRenderer.h.
| void mrpt::opengl::COctreePointRenderer< Derived >::internal_octree_assure_uptodate | ( | ) | [inline, private] |
Definition at line 412 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_assure_uptodate().
| void mrpt::opengl::COctreePointRenderer< Derived >::internal_recursive_split | ( | const size_t | node_id, |
| const bool | all_pts = false |
||
| ) | [inline, private] |
Definition at line 427 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::internal_octree_assure_uptodate(), and mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::internal_recursive_split().
| void mrpt::opengl::COctreePointRenderer< Derived >::octree_assure_uptodate | ( | ) | const [inline, protected] |
Must be called at children class' render() previously to octree_render()
Definition at line 86 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_get_graphics_boundingboxes().
| void mrpt::opengl::COctreePointRenderer< Derived >::octree_debug_dump_tree | ( | std::ostream & | o ) | const [inline] |
Used for debug only.
Definition at line 567 of file COctreePointRenderer.h.
| const Derived& mrpt::opengl::COctreePointRenderer< Derived >::octree_derived | ( | ) | const [inline, protected] |
Definition at line 83 of file COctreePointRenderer.h.
| Derived& mrpt::opengl::COctreePointRenderer< Derived >::octree_derived | ( | ) | [inline, protected] |
Definition at line 82 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::internal_recursive_split(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_debug_dump_tree(), and mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_render().
| void mrpt::opengl::COctreePointRenderer< Derived >::octree_get_graphics_boundingboxes | ( | mrpt::opengl::CSetOfObjects & | gl_bb, |
| const double | lines_width = 1, |
||
| const TColorf | lines_color = TColorf(1,1,1) |
||
| ) | const [inline] |
Returns a graphical representation of all the bounding boxes of the octree (leaf) nodes.
Definition at line 545 of file COctreePointRenderer.h.
| size_t mrpt::opengl::COctreePointRenderer< Derived >::octree_get_node_count | ( | ) | const [inline] |
Return the number of octree nodes (all of them, including the empty ones)
Definition at line 535 of file COctreePointRenderer.h.
| size_t mrpt::opengl::COctreePointRenderer< Derived >::octree_get_visible_nodes | ( | ) | const [inline] |
Return the number of visible octree nodes in the last render event.
Definition at line 538 of file COctreePointRenderer.h.
| void mrpt::opengl::COctreePointRenderer< Derived >::octree_mark_as_outdated | ( | ) | [inline] |
Called from the derived class (or the user) to indicate we have/want to rebuild the entire node tree (for example, after modifying the point cloud or any global octree parameter)
Definition at line 541 of file COctreePointRenderer.h.
| void mrpt::opengl::COctreePointRenderer< Derived >::octree_recursive_render | ( | size_t | node_idx, |
| const mrpt::opengl::CRenderizable::TRenderInfo & | ri, | ||
| TPixelCoordf | cr_px[8], | ||
| float | cr_z[8], | ||
| bool | corners_are_all_computed = true, |
||
| bool | trust_me_youre_visible = false, |
||
| float | approx_area_sqpixels = 0 |
||
| ) | const [inline, private] |
Render a given node.
Definition at line 217 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_recursive_render(), and mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_render().
| void mrpt::opengl::COctreePointRenderer< Derived >::octree_render | ( | const mrpt::opengl::CRenderizable::TRenderInfo & | ri ) | const [inline, protected] |
Render the entire octree recursively.
Should be called from children's render() method.
Definition at line 94 of file COctreePointRenderer.h.
bool mrpt::opengl::COctreePointRenderer< Derived >::m_octree_has_to_rebuild_all [private] |
Definition at line 210 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::internal_octree_assure_uptodate(), and mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_mark_as_outdated().
std::deque<TNode> mrpt::opengl::COctreePointRenderer< Derived >::m_octree_nodes [private] |
First one [0] is always the root node.
Definition at line 211 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::internal_octree_assure_uptodate(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::internal_recursive_split(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_debug_dump_tree(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_get_graphics_boundingboxes(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_get_node_count(), mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_recursive_render(), and mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_render().
std::vector<TRenderQueueElement> mrpt::opengl::COctreePointRenderer< Derived >::m_render_queue [mutable, private] |
The list of elements that really are visible and will be rendered.
Definition at line 207 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_recursive_render(), and mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_render().
volatile size_t mrpt::opengl::COctreePointRenderer< Derived >::m_visible_octree_nodes [mutable, private] |
Definition at line 214 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_get_visible_nodes(), and mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_render().
volatile size_t mrpt::opengl::COctreePointRenderer< Derived >::m_visible_octree_nodes_ongoing [mutable, private] |
Definition at line 214 of file COctreePointRenderer.h.
Referenced by mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_recursive_render(), and mrpt::opengl::COctreePointRenderer< CPointCloudColoured >::octree_render().
| Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:30:30 UTC 2011 |