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:
Collaboration graph
[legend]

List of all members.

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 60 of file simple_octree.h.


Constructor & Destructor Documentation

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

Definition at line 14 of file simple_octree.hpp.

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

Member Function Documentation

template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::computeRadius (  )  [inline, protected]
template<typename NodeData , typename NodeDataCreator , typename Scalar >
bool pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::createChildren (  )  [inline, protected]
template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::deleteChildren (  )  [inline]
template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::deleteData (  )  [inline]
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 80 of file simple_octree.h.

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

Definition at line 77 of file simple_octree.h.

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

Definition at line 86 of file simple_octree.h.

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

Definition at line 95 of file simple_octree.h.

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

Definition at line 92 of file simple_octree.h.

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 110 of file simple_octree.h.

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

Definition at line 98 of file simple_octree.h.

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

Definition at line 101 of file simple_octree.h.

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
bool pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::hasChildren (  )  [inline]
template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
bool pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::hasData (  )  [inline]
template<typename NodeData , typename NodeDataCreator , typename Scalar >
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::makeNeighbors ( Node node  )  [inline, protected]

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 179 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().

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

template<typename NodeData , typename NodeDataCreator , typename Scalar>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setBounds ( const Scalar *  b  )  [inline]
template<typename NodeData , typename NodeDataCreator , typename Scalar>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setCenter ( const Scalar *  c  )  [inline]
template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
void pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::setData ( NodeData *  data  )  [inline, protected]

Definition at line 122 of file simple_octree.h.

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

Friends And Related Function Documentation

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

Definition at line 118 of file simple_octree.h.


Member Data Documentation

template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Scalar pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::bounds_[6] [protected]
template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Scalar pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::center_[3] [protected]
template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Node * pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::children_ [protected]
template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
NodeData* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::data_ [protected]
template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
std::set<Node*> pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::full_leaf_neighbors_ [protected]
template<typename NodeData, typename NodeDataCreator, typename Scalar = float>
Node* pcl::recognition::SimpleOctree< NodeData, NodeDataCreator, Scalar >::Node::parent_ [protected]

Definition at line 142 of file simple_octree.h.

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:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends