Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node Class Reference

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

Collaboration diagram for pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node:

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.
void setParent (Node *parent)
void computeRadius ()
 Computes the "radius" of the node which is half the diagonal length.

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

Definition at line 21 of file simple_octree.hpp.

References children_, data_, and parent_.

Referenced by makeNeighbors(), and setParent().

◆ ~Node()

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

Definition at line 29 of file simple_octree.hpp.

References deleteChildren(), and deleteData().

Member Function Documentation

◆ computeRadius()

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

Computes the "radius" of the node which is half the diagonal length.

Definition at line 58 of file simple_octree.hpp.

References bounds_.

◆ 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

Definition at line 156 of file simple_octree.hpp.

References children_.

Referenced by ~Node().

◆ deleteData()

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

Definition at line 164 of file simple_octree.hpp.

References data_.

Referenced by ~Node().

◆ 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.

References bounds_.

◆ 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.

References bounds_.

◆ 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

◆ 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.

References children_.

◆ 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.

References data_.

◆ 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.

References data_.

◆ 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.

References full_leaf_neighbors_.

◆ 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.

References parent_.

◆ 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.

References radius_.

◆ hasChildren()

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

◆ 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 172 of file simple_octree.hpp.

References full_leaf_neighbors_, hasData(), and Node().

Referenced by pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::insertNeighbors().

◆ setBounds()

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

Definition at line 46 of file simple_octree.hpp.

References bounds_.

◆ setCenter()

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

Definition at line 37 of file simple_octree.hpp.

References center_.

◆ setData() [1/2]

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

◆ 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.

References data_.

◆ setParent()

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

Definition at line 134 of file simple_octree.h.

References Node(), and parent_.

◆ SimpleOctree

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

Definition at line 119 of file simple_octree.h.

References SimpleOctree.

Referenced by SimpleOctree.

Member Data Documentation

◆ bounds_

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

Definition at line 142 of file simple_octree.h.

Referenced by computeRadius(), getBounds(), getBounds(), and setBounds().

◆ center_

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

Definition at line 142 of file simple_octree.h.

Referenced by getCenter(), and setCenter().

◆ 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

Definition at line 141 of file simple_octree.h.

Referenced by deleteData(), getData(), getData(), hasData(), Node(), setData(), and setData().

◆ 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

Definition at line 145 of file simple_octree.h.

Referenced by getNeighbors(), and makeNeighbors().

◆ 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.

Referenced by getParent(), Node(), and setParent().

◆ radius_

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

Definition at line 144 of file simple_octree.h.

Referenced by getRadius().


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