MRPT  2.0.3
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

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.17 for MRPT 2.0.3 at Fri May 15 15:49:54 UTC 2020