Point Cloud Library (PCL)  1.10.1-dev
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node Class Reference

#include <pcl/recognition/ransac_based/simple_octree.h>

Public Member Functions

 Node ()
 
virtual ~ Node ()
 
void setCenter (const Scalar *c)
 
void setBounds (const Scalar *b)
 
const Scalar * getCenter () const
 
const Scalar * getBounds () const
 
void getBounds (Scalar b[6]) const
 
NodegetChild (int id)
 
NodegetChildren ()
 
void setData (const NodeData &src)
 
NodeData & getData ()
 
const NodeData & getData () const
 
NodegetParent ()
 
float getRadius () const
 
bool hasData ()
 
bool hasChildren ()
 
const std::set< Node * > & getNeighbors () const
 
void deleteChildren ()
 
void deleteData ()
 

Protected Member Functions

void setData (NodeData *data)
 
bool createChildren ()
 
void makeNeighbors (Node *node)
 Make this and 'node' neighbors by inserting each node in the others node neighbor set. More...
 
void setParent (Node *parent)
 
void computeRadius ()
 Computes the "radius" of the node which is half the diagonal length. More...
 

Protected Attributes

NodeData * data_
 
Scalar center_ [3]
 
Scalar bounds_ [6]
 
Nodeparent_
 
Nodechildren_
 
Scalar radius_
 
std::set< Node * > full_leaf_neighbors_
 

Friends

class SimpleOctree
 

Detailed Description

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
class pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node

Definition at line 61 of file simple_octree.h.

Constructor & Destructor Documentation

◆ Node()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::Node ( )
inline

◆ ~ Node()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
virtual pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::~ Node ( )

Member Function Documentation

◆ computeRadius()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::computeRadius ( )
inlineprotected

◆ createChildren()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
bool pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::createChildren ( )
inlineprotected

◆ deleteChildren()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::deleteChildren ( )
inline

◆ deleteData()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::deleteData ( )
inline

◆ getBounds() [1/2]

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
const Scalar* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getBounds ( ) const
inline

Definition at line 78 of file simple_octree.h.

◆ getBounds() [2/2]

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getBounds ( Scalar  b[6]) const
inline

Definition at line 81 of file simple_octree.h.

◆ getCenter()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
const Scalar* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getCenter ( ) const
inline

◆ getChild()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Node* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getChild ( int  id)
inline

Definition at line 84 of file simple_octree.h.

◆ getChildren()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Node* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getChildren ( )
inline

Definition at line 87 of file simple_octree.h.

◆ getData() [1/2]

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
NodeData& pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getData ( )
inline

Definition at line 93 of file simple_octree.h.

◆ getData() [2/2]

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
const NodeData& pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getData ( ) const
inline

Definition at line 96 of file simple_octree.h.

◆ getNeighbors()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
const std::set<Node*>& pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getNeighbors ( ) const
inline

Definition at line 111 of file simple_octree.h.

◆ getParent()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Node* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getParent ( )
inline

Definition at line 99 of file simple_octree.h.

◆ getRadius()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
float pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::getRadius ( ) const
inline

Definition at line 102 of file simple_octree.h.

◆ hasChildren()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
bool pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::hasChildren ( )
inline

Definition at line 108 of file simple_octree.h.

◆ hasData()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
bool pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::hasData ( )
inline

◆ makeNeighbors()

template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::makeNeighbors ( Node node)
inlineprotected

Make this and 'node' neighbors by inserting each node in the others node neighbor set.

Nothing happens of either of the nodes has no data.

Definition at line 182 of file simple_octree.hpp.

References pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::full_leaf_neighbors_, and pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::hasData().

◆ setBounds()

template<typename NodeData , typename NodeDataCreator , typename Scalar>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setBounds ( const Scalar *  b)
inline

◆ setCenter()

template<typename NodeData , typename NodeDataCreator , typename Scalar>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setCenter ( const Scalar *  c)
inline

◆ setData() [1/2]

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setData ( const NodeData &  src)
inline

Definition at line 90 of file simple_octree.h.

◆ setData() [2/2]

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setData ( NodeData *  data)
inlineprotected

Definition at line 123 of file simple_octree.h.

◆ setParent()

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setParent ( Node parent)
inlineprotected

Friends And Related Function Documentation

◆ SimpleOctree

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
friend class SimpleOctree
friend

Definition at line 119 of file simple_octree.h.

Member Data Documentation

◆ bounds_

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Scalar pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::bounds_[6]
protected

◆ center_

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Scalar pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::center_[3]
protected

◆ children_

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Node * pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::children_
protected

◆ data_

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
NodeData* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::data_
protected

◆ full_leaf_neighbors_

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
std::set<Node*> pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::full_leaf_neighbors_
protected

◆ parent_

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Node* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::parent_
protected

Definition at line 143 of file simple_octree.h.

◆ radius_

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Scalar pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::radius_
protected

The documentation for this class was generated from the following files: