MRPT  2.0.0
List of all members | Public Member Functions | Public Attributes
mrpt::opengl::COctreePointRenderer< Derived >::TNode Struct Reference

Detailed Description

template<class Derived>
struct mrpt::opengl::COctreePointRenderer< Derived >::TNode

The structure for each octree spatial node.

Each node can either be a leaf of has 8 children nodes. Instead of pointers, children are referenced by their indices in m_octree_nodes

Definition at line 132 of file COctreePointRenderer.h.

Public Member Functions

 TNode ()
 
void update_bb (const mrpt::math::TPoint3Df &p)
 update bounding box with a new point: More...
 
float getCornerX (int i) const
 
float getCornerY (int i) const
 
float getCornerZ (int i) const
 
void setBBFromOrderInParent (const TNode &parent, int my_child_index)
 

Public Attributes

bool is_leaf {true}
 true: it's a leaf and pts has valid indices; false: children is valid. More...
 
mrpt::math::TPoint3Df bb_min
 
mrpt::math::TPoint3Df bb_max
 
std::vector< size_t > pts
 Point indices in the derived class that fall into this node. More...
 
bool all {false}
 true: All elements in the reference object; false: only those in pts More...
 
mrpt::math::TPoint3Df center
 [is_leaf=false] The center of the node, whose coordinates are used to decide between the 8 children nodes. More...
 
size_t child_id [8]
 [is_leaf=false] The indices in m_octree_nodes of the 8 children. More...
 

Constructor & Destructor Documentation

◆ TNode()

template<class Derived>
mrpt::opengl::COctreePointRenderer< Derived >::TNode::TNode ( )
inline

Definition at line 134 of file COctreePointRenderer.h.

Member Function Documentation

◆ getCornerX()

template<class Derived>
float mrpt::opengl::COctreePointRenderer< Derived >::TNode::getCornerX ( int  i) const
inline

◆ getCornerY()

template<class Derived>
float mrpt::opengl::COctreePointRenderer< Derived >::TNode::getCornerY ( int  i) const
inline

◆ getCornerZ()

template<class Derived>
float mrpt::opengl::COctreePointRenderer< Derived >::TNode::getCornerZ ( int  i) const
inline

◆ setBBFromOrderInParent()

template<class Derived>
void mrpt::opengl::COctreePointRenderer< Derived >::TNode::setBBFromOrderInParent ( const TNode parent,
int  my_child_index 
)
inline

◆ update_bb()

template<class Derived>
void mrpt::opengl::COctreePointRenderer< Derived >::TNode::update_bb ( const mrpt::math::TPoint3Df p)
inline

update bounding box with a new point:

Definition at line 170 of file COctreePointRenderer.h.

References mrpt::opengl::COctreePointRenderer< Derived >::TNode::bb_max, mrpt::opengl::COctreePointRenderer< Derived >::TNode::bb_min, mrpt::keep_max(), mrpt::keep_min(), mrpt::math::TPoint3D_data< T >::x, mrpt::math::TPoint3D_data< T >::y, and mrpt::math::TPoint3D_data< T >::z.

Here is the call graph for this function:

Member Data Documentation

◆ all

template<class Derived>
bool mrpt::opengl::COctreePointRenderer< Derived >::TNode::all {false}

true: All elements in the reference object; false: only those in pts

Definition at line 159 of file COctreePointRenderer.h.

◆ bb_max

template<class Derived>
mrpt::math::TPoint3Df mrpt::opengl::COctreePointRenderer< Derived >::TNode::bb_max

◆ bb_min

template<class Derived>
mrpt::math::TPoint3Df mrpt::opengl::COctreePointRenderer< Derived >::TNode::bb_min

◆ center

template<class Derived>
mrpt::math::TPoint3Df mrpt::opengl::COctreePointRenderer< Derived >::TNode::center

[is_leaf=false] The center of the node, whose coordinates are used to decide between the 8 children nodes.

Definition at line 164 of file COctreePointRenderer.h.

Referenced by mrpt::opengl::COctreePointRenderer< Derived >::TNode::setBBFromOrderInParent().

◆ child_id

template<class Derived>
size_t mrpt::opengl::COctreePointRenderer< Derived >::TNode::child_id[8]

[is_leaf=false] The indices in m_octree_nodes of the 8 children.

Definition at line 167 of file COctreePointRenderer.h.

◆ is_leaf

template<class Derived>
bool mrpt::opengl::COctreePointRenderer< Derived >::TNode::is_leaf {true}

true: it's a leaf and pts has valid indices; false: children is valid.

Definition at line 149 of file COctreePointRenderer.h.

◆ pts

template<class Derived>
std::vector<size_t> mrpt::opengl::COctreePointRenderer< Derived >::TNode::pts

Point indices in the derived class that fall into this node.

Definition at line 156 of file COctreePointRenderer.h.




Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020