#include <AbstractOcTree.h>
Public Member Functions | |
AbstractOcTree () | |
virtual void | clear ()=0 |
virtual AbstractOcTree * | create () const =0 |
virtual constructor: creates a new object of same type More... | |
virtual void | expand ()=0 |
virtual void | getMetricMax (double &x, double &y, double &z)=0 |
virtual void | getMetricMax (double &x, double &y, double &z) const =0 |
virtual void | getMetricMin (double &x, double &y, double &z)=0 |
virtual void | getMetricMin (double &x, double &y, double &z) const =0 |
virtual void | getMetricSize (double &x, double &y, double &z)=0 |
virtual double | getResolution () const =0 |
virtual std::string | getTreeType () const =0 |
returns actual class name as string for identification More... | |
virtual size_t | memoryUsage () const =0 |
virtual size_t | memoryUsageNode () const =0 |
virtual void | prune ()=0 |
virtual std::istream & | readData (std::istream &s)=0 |
virtual void | setResolution (double res)=0 |
virtual size_t | size () const =0 |
bool | write (const std::string &filename) const |
Write file header and complete tree to file (serialization) More... | |
bool | write (std::ostream &s) const |
Write file header and complete tree to stream (serialization) More... | |
virtual std::ostream & | writeData (std::ostream &s) const =0 |
virtual | ~AbstractOcTree () |
Static Public Member Functions | |
static AbstractOcTree * | createTree (const std::string id, double res) |
static AbstractOcTree * | read (const std::string &filename) |
static AbstractOcTree * | read (std::istream &s) |
Static Protected Member Functions | |
static bool | readHeader (std::istream &s, std::string &id, unsigned &size, double &res) |
static void | registerTreeType (AbstractOcTree *tree) |
Static Protected Attributes | |
static const std::string | fileHeader = "# Octomap OcTree file" |
Static Private Member Functions | |
static std::map< std::string, AbstractOcTree * > & | classIDMapping () |
create private store, Construct on first use More... | |
Friends | |
class | StaticMapInit |
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()).
Definition at line 50 of file AbstractOcTree.h.
octomap::AbstractOcTree::AbstractOcTree | ( | ) |
Definition at line 41 of file AbstractOcTree.cpp.
|
inlinevirtual |
Definition at line 54 of file AbstractOcTree.h.
|
staticprivate |
create private store, Construct on first use
Definition at line 197 of file AbstractOcTree.cpp.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
virtual constructor: creates a new object of same type
Implemented in octomap::ColorOcTree, octomap::OcTreeStamped, octomap::OcTree, octomap::OcTreeBase< NODE >, and octomap::OcTreeBase< CountingOcTreeNode >.
|
static |
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
returns actual class name as string for identification
Implemented in octomap::ColorOcTree, octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >, octomap::OcTreeStamped, octomap::OcTree, octomap::OcTreeBase< NODE >, and octomap::OcTreeBase< CountingOcTreeNode >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
static |
Read the file header, create the appropriate class and deserialize. This creates a new octree which you need to delete yourself. If you expect or requre a specific kind of octree, use dynamic_cast afterwards:
Definition at line 74 of file AbstractOcTree.cpp.
|
static |
Read the file header, create the appropriate class and deserialize. This creates a new octree which you need to delete yourself.
Definition at line 87 of file AbstractOcTree.cpp.
|
pure virtual |
Read all nodes from the input stream (without file header), for this the tree needs to be already created. For general file IO, you should probably use AbstractOcTree::read() instead.
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
staticprotected |
Definition at line 119 of file AbstractOcTree.cpp.
|
staticprotected |
Definition at line 205 of file AbstractOcTree.cpp.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
pure virtual |
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
bool octomap::AbstractOcTree::write | ( | const std::string & | filename | ) | const |
Write file header and complete tree to file (serialization)
Definition at line 45 of file AbstractOcTree.cpp.
bool octomap::AbstractOcTree::write | ( | std::ostream & | s | ) | const |
Write file header and complete tree to stream (serialization)
Definition at line 61 of file AbstractOcTree.cpp.
|
pure virtual |
Write complete state of tree to stream (without file header) unmodified. Pruning the tree first produces smaller files (lossless compression)
Implemented in octomap::OcTreeBaseImpl< NODE, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >, octomap::OcTreeBaseImpl< CountingOcTreeNode, AbstractOcTree >, octomap::OcTreeBaseImpl< NODE, AbstractOcTree >, octomap::OcTreeBaseImpl< ColorOcTreeNode, AbstractOccupancyOcTree >, and octomap::OcTreeBaseImpl< OcTreeNodeStamped, AbstractOccupancyOcTree >.
|
friend |
Definition at line 51 of file AbstractOcTree.h.
|
staticprotected |
Definition at line 155 of file AbstractOcTree.h.