Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
octomap::OcTreeDataNode< T > Class Template Reference

#include <OcTreeDataNode.h>

Inheritance diagram for octomap::OcTreeDataNode< T >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef T DataType
 Make the templated data type available from the outside.

Public Member Functions

bool childExists (unsigned int i) const
bool collapsible () const
bool createChild (unsigned int i)
 initialize i-th child, allocate children array if needed
void deleteChild (unsigned int i)
 Deletes the i-th child of the node.
void expandNode ()
OcTreeDataNode< T > * getChild (unsigned int i)
const OcTreeDataNode< T > * getChild (unsigned int i) const
getValue () const
bool hasChildren () const
 OcTreeDataNode ()
 OcTreeDataNode (T initVal)
 OcTreeDataNode (const OcTreeDataNode &rhs)
 Copy constructor, performs a recursive deep-copy of all children.
bool operator== (const OcTreeDataNode &rhs) const
 Equals operator, compares if the stored value is identical.
bool pruneNode ()
std::istream & readValue (std::istream &s)
void setValue (T v)
 sets value to be stored in the node
std::ostream & writeValue (std::ostream &s) const
 ~OcTreeDataNode ()

Protected Member Functions

void allocChildren ()

Protected Attributes

OcTreeDataNode< T > ** children
 pointer to array of children, may be NULL
value
 stored data (payload)

Detailed Description

template<typename T>
class octomap::OcTreeDataNode< T >

Basic node in the OcTree that can hold arbitrary data of type T in value. This is the base class for nodes used in an OcTree. The used implementation for occupancy mapping is in OcTreeNode.#

Template Parameters:
Tdata to be stored in the node (e.g. a float for probabilities)

Definition at line 56 of file OcTreeDataNode.h.


Member Typedef Documentation

template<typename T>
typedef T octomap::OcTreeDataNode< T >::DataType

Make the templated data type available from the outside.

Definition at line 145 of file OcTreeDataNode.h.


Constructor & Destructor Documentation

template<typename T>
octomap::OcTreeDataNode< T >::OcTreeDataNode ( )
template<typename T>
octomap::OcTreeDataNode< T >::OcTreeDataNode ( initVal)
template<typename T>
octomap::OcTreeDataNode< T >::OcTreeDataNode ( const OcTreeDataNode< T > &  rhs)

Copy constructor, performs a recursive deep-copy of all children.

template<typename T>
octomap::OcTreeDataNode< T >::~OcTreeDataNode ( )

Member Function Documentation

template<typename T>
void octomap::OcTreeDataNode< T >::allocChildren ( ) [protected]
template<typename T>
bool octomap::OcTreeDataNode< T >::childExists ( unsigned int  i) const

Safe test to check of the i-th child exists, first tests if there are any children.

Returns:
true if the i-th child exists
template<typename T>
bool octomap::OcTreeDataNode< T >::collapsible ( ) const

A node is collapsible if all children exist, don't have children of their own and have the same occupancy value

template<typename T>
bool octomap::OcTreeDataNode< T >::createChild ( unsigned int  i)

initialize i-th child, allocate children array if needed

Reimplemented in octomap::ColorOcTreeNode, octomap::OcTreeNodeStamped, octomap::CountingOcTreeNode, and octomap::OcTreeNode.

template<typename T>
void octomap::OcTreeDataNode< T >::deleteChild ( unsigned int  i)

Deletes the i-th child of the node.

template<typename T>
void octomap::OcTreeDataNode< T >::expandNode ( )

Expands a node (reverse of pruning): All children are created and their occupancy probability is set to the node's value.

You need to verify that this is indeed a pruned node (i.e. not a leaf at the lowest level)

Reimplemented in octomap::ColorOcTreeNode, and octomap::CountingOcTreeNode.

template<typename T>
OcTreeDataNode<T>* octomap::OcTreeDataNode< T >::getChild ( unsigned int  i)
Returns:
a pointer to the i-th child of the node. The child needs to exist.

Reimplemented in octomap::ColorOcTreeNode, octomap::CountingOcTreeNode, octomap::OcTreeNode, and octomap::OcTreeNodeStamped.

template<typename T>
const OcTreeDataNode<T>* octomap::OcTreeDataNode< T >::getChild ( unsigned int  i) const
Returns:
a const pointer to the i-th child of the node. The child needs to exist.

Reimplemented in octomap::ColorOcTreeNode, octomap::CountingOcTreeNode, octomap::OcTreeNode, and octomap::OcTreeNodeStamped.

template<typename T>
T octomap::OcTreeDataNode< T >::getValue ( ) const [inline]
Returns:
value stored in the node

Definition at line 118 of file OcTreeDataNode.h.

template<typename T>
bool octomap::OcTreeDataNode< T >::hasChildren ( ) const
Returns:
true if the node has at least one child
template<typename T>
bool octomap::OcTreeDataNode< T >::operator== ( const OcTreeDataNode< T > &  rhs) const

Equals operator, compares if the stored value is identical.

template<typename T>
bool octomap::OcTreeDataNode< T >::pruneNode ( )

Prunes a node when it is collapsible

Returns:
true if pruning was successful

Reimplemented in octomap::ColorOcTreeNode.

template<typename T>
std::istream& octomap::OcTreeDataNode< T >::readValue ( std::istream &  s)

Read node from binary stream (incl. float value), recursively continue with all children.

Parameters:
s
Returns:

Reimplemented in octomap::ColorOcTreeNode.

template<typename T>
void octomap::OcTreeDataNode< T >::setValue ( v) [inline]

sets value to be stored in the node

Definition at line 120 of file OcTreeDataNode.h.

template<typename T>
std::ostream& octomap::OcTreeDataNode< T >::writeValue ( std::ostream &  s) const

Write node to binary stream (incl float value), recursively continue with all children. This preserves the complete state of the node.

Parameters:
s
Returns:

Reimplemented in octomap::ColorOcTreeNode.


Member Data Documentation

template<typename T>
OcTreeDataNode<T>** octomap::OcTreeDataNode< T >::children [protected]

pointer to array of children, may be NULL

Definition at line 152 of file OcTreeDataNode.h.

template<typename T>
T octomap::OcTreeDataNode< T >::value [protected]

stored data (payload)

Definition at line 154 of file OcTreeDataNode.h.


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


octomap
Author(s): Kai M. Wurm , Armin Hornung
autogenerated on Thu Aug 27 2015 14:13:14