octomap  1.9.7
octomap Namespace Reference

Tables used by the Marching Cubes Algorithm The tables are from Paul Bourke's web page http://paulbourke.net/geometry/polygonise/ Used with permission here under BSD license. More...

Data Structures

class  AbstractOccupancyOcTree
 Interface class for all octree types that store occupancy. More...
 
class  AbstractOcTree
 This abstract class is an interface to all octrees and provides a factory design pattern for readin and writing all kinds of OcTrees to files (see read()). More...
 
class  AbstractOcTreeNode
 
class  ColorOcTree
 
class  ColorOcTreeNode
 
class  CountingOcTree
 An AbstractOcTree which stores an internal counter per node / volume. More...
 
class  CountingOcTreeNode
 An Octree-node which stores an internal counter per node / volume. More...
 
class  KeyRay
 
class  MapCollection
 
class  MapNode
 
class  OccupancyOcTreeBase
 Base implementation for Occupancy Octrees (e.g. More...
 
class  OcTree
 octomap main map data structure, stores 3D occupancy grid map in an OcTree. More...
 
class  OcTreeBase
 
class  OcTreeBaseImpl
 OcTree base class, to be used with with any kind of OcTreeDataNode. More...
 
class  OcTreeDataNode
 Basic node in the OcTree that can hold arbitrary data of type T in value. More...
 
class  OcTreeKey
 OcTreeKey is a container class for internal key addressing. More...
 
class  OcTreeNode
 Nodes to be used in OcTree. More...
 
class  OcTreeNodeStamped
 
class  OcTreeStamped
 
class  Pointcloud
 A collection of 3D coordinates (point3d), which are regarded as endpoints of a 3D laser scan. More...
 
class  ScanEdge
 A connection between two ScanNodes. More...
 
class  ScanGraph
 A ScanGraph is a collection of ScanNodes, connected by ScanEdges. More...
 
class  ScanNode
 A 3D scan as Pointcloud, performed from a Pose6D. More...
 

Typedefs

typedef unsigned char byte
 
typedef uint16_t key_type
 
typedef unordered_ns::unordered_map< OcTreeKey, bool, OcTreeKey::KeyHashKeyBoolMap
 Data structrure to efficiently track changed nodes as a combination of OcTreeKeys and a bool flag (to denote newly created nodes) More...
 
typedef unordered_ns::unordered_set< OcTreeKey, OcTreeKey::KeyHashKeySet
 Data structure to efficiently compute the nodes to update from a scan insertion using a hash set. More...
 
typedef std::pair< point3d, double > OcTreeVolume
 A voxel defined by its center point3d and its side length. More...
 
typedef octomath::Vector3 point3d
 Use Vector3 (float precision) as a point3d in octomap. More...
 
typedef std::vector< octomath::Vector3point3d_collection
 
typedef std::list< octomath::Vector3point3d_list
 
typedef octomath::Pose6D pose6d
 Use our Pose6D (float precision) as pose6d in octomap. More...
 

Functions

uint8_t computeChildIdx (const OcTreeKey &key, int depth)
 generate child index (between 0 and 7) from key at given tree depth More...
 
void computeChildKey (unsigned int pos, key_type center_offset_key, const OcTreeKey &parent_key, OcTreeKey &child_key)
 Computes the key of a child node while traversing the octree, given child index and current key. More...
 
OcTreeKey computeIndexKey (key_type level, const OcTreeKey &key)
 Generates a unique key for all keys on a certain level of the tree. More...
 
float logodds (double probability)
 compute log-odds from probability: More...
 
std::ostream & operator<< (std::ostream &out, ColorOcTreeNode::Color const &c)
 user friendly output in format (r g b) More...
 
double probability (double logodds)
 compute probability from logodds: More...
 

Variables

static const int edgeTable [256]
 
static const int triTable [256][16]
 
static const point3d vertexList [12]
 

Detailed Description

Tables used by the Marching Cubes Algorithm The tables are from Paul Bourke's web page http://paulbourke.net/geometry/polygonise/ Used with permission here under BSD license.

Namespace the OctoMap library and visualization tools

Typedef Documentation

◆ byte

typedef unsigned char octomap::byte

◆ key_type

typedef uint16_t octomap::key_type

◆ KeyBoolMap

typedef unordered_ns::unordered_map<OcTreeKey, bool, OcTreeKey::KeyHash> octomap::KeyBoolMap

Data structrure to efficiently track changed nodes as a combination of OcTreeKeys and a bool flag (to denote newly created nodes)

◆ KeySet

typedef unordered_ns::unordered_set<OcTreeKey, OcTreeKey::KeyHash> octomap::KeySet

Data structure to efficiently compute the nodes to update from a scan insertion using a hash set.

Note
you need to use boost::unordered_set instead if your compiler does not yet support tr1!

◆ OcTreeVolume

typedef std::pair<point3d, double> octomap::OcTreeVolume

A voxel defined by its center point3d and its side length.

◆ point3d

Use Vector3 (float precision) as a point3d in octomap.

◆ point3d_collection

◆ point3d_list

◆ pose6d

Use our Pose6D (float precision) as pose6d in octomap.

Function Documentation

◆ computeChildIdx()

◆ computeChildKey()

void octomap::computeChildKey ( unsigned int  pos,
key_type  center_offset_key,
const OcTreeKey parent_key,
OcTreeKey child_key 
)
inline

Computes the key of a child node while traversing the octree, given child index and current key.

Parameters
[in]posindex of child node (0..7)
[in]center_offset_keyconstant offset of octree keys
[in]parent_keycurrent (parent) key
[out]child_keycomputed child key

Referenced by octomap::CountingOcTree::getCentersMinHitsRecurs(), iterator_base::singleIncrement(), and leaf_bbx_iterator::singleIncrement().

◆ computeIndexKey()

OcTreeKey octomap::computeIndexKey ( key_type  level,
const OcTreeKey key 
)
inline

Generates a unique key for all keys on a certain level of the tree.

Parameters
levelfrom the bottom (= tree_depth - depth of key)
keyinput indexing key (at lowest resolution / level)
Returns
key corresponding to the input key at the given level

Referenced by iterator_base::getIndexKey().

◆ logodds()

◆ operator<<()

std::ostream & octomap::operator<< ( std::ostream &  out,
ColorOcTreeNode::Color const &  c 
)

◆ probability()

Variable Documentation

◆ edgeTable

const int octomap::edgeTable[256]
static

◆ triTable

const int octomap::triTable[256][16]
static

◆ vertexList

const point3d octomap::vertexList[12]
static
Initial value:
=
{
point3d(1, 0, -1),
point3d(0, -1, -1),
point3d(-1, 0, -1),
point3d(0, 1, -1),
point3d(1, 0, 1),
point3d(0, -1, 1),
point3d(-1, 0, 1),
point3d(0, 1, 1),
point3d(1, 1, 0),
point3d(1, -1, 0),
point3d(-1, -1, 0),
point3d(-1, 1, 0),
}

Referenced by octomap::OccupancyOcTreeBase< OcTreeNodeStamped >::getNormals().

octomap::point3d
octomath::Vector3 point3d
Use Vector3 (float precision) as a point3d in octomap.
Definition: octomap_types.h:49