Main MRPT website > C++ reference for MRPT 1.4.0
List of all members | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Static Protected Attributes | Static Private Member Functions | Friends
octomap::AbstractOcTree Class Referenceabstract

Detailed Description

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 64 of file AbstractOcTree.h.

#include <mrpt/otherlibs/octomap/AbstractOcTree.h>

Inheritance diagram for octomap::AbstractOcTree:
Inheritance graph

Public Member Functions

 AbstractOcTree ()
 
virtual ~AbstractOcTree ()
 
virtual AbstractOcTreecreate () const =0
 virtual constructor: creates a new object of same type More...
 
virtual std::string getTreeType () const =0
 returns actual class name as string for identification More...
 
virtual double getResolution () const =0
 
virtual void setResolution (double res)=0
 
virtual size_t size () const =0
 
virtual size_t memoryUsage () const =0
 
virtual size_t memoryUsageNode () 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 getMetricMax (double &x, double &y, double &z)=0
 
virtual void getMetricMax (double &x, double &y, double &z) const =0
 
virtual void getMetricSize (double &x, double &y, double &z)=0
 
virtual void prune ()=0
 
virtual void expand ()=0
 
virtual void clear ()=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::istream & readData (std::istream &s)=0
 Read all nodes from the input stream (without file header), for this the tree needs to be already created. More...
 
virtual std::ostream & writeData (std::ostream &s) const =0
 Write complete state of tree to stream (without file header) unmodified. More...
 

Static Public Member Functions

static AbstractOcTreecreateTree (const std::string id, double res)
 Creates a certain OcTree (factory pattern) More...
 
static AbstractOcTreeread (const std::string &filename)
 Read the file header, create the appropriate class and deserialize. More...
 
static AbstractOcTreeread (std::istream &s)
 Read the file header, create the appropriate class and deserialize. More...
 

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
 

Static Private Member Functions

static std::map< std::string, AbstractOcTree * > & classIDMapping ()
 create private store, Construct on first use More...
 

Friends

class StaticMapInit
 

Constructor & Destructor Documentation

octomap::AbstractOcTree::AbstractOcTree ( )
virtual octomap::AbstractOcTree::~AbstractOcTree ( )
inlinevirtual

Member Function Documentation

static std::map<std::string, AbstractOcTree*>& octomap::AbstractOcTree::classIDMapping ( )
staticprivate

create private store, Construct on first use

Referenced by ~AbstractOcTree().

virtual void octomap::AbstractOcTree::clear ( )
pure virtual
virtual AbstractOcTree* octomap::AbstractOcTree::create ( ) const
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 >.

Referenced by ~AbstractOcTree().

static AbstractOcTree* octomap::AbstractOcTree::createTree ( const std::string  id,
double  res 
)
static

Creates a certain OcTree (factory pattern)

Parameters
idunique ID of OcTree
resresolution of OcTree
Returns
pointer to newly created OcTree (empty). NULL if the ID is unknown!

Referenced by ~AbstractOcTree().

virtual void octomap::AbstractOcTree::expand ( )
pure virtual
virtual void octomap::AbstractOcTree::getMetricMax ( double &  x,
double &  y,
double &  z 
)
pure virtual
virtual void octomap::AbstractOcTree::getMetricMax ( double &  x,
double &  y,
double &  z 
) const
pure virtual
virtual void octomap::AbstractOcTree::getMetricMin ( double &  x,
double &  y,
double &  z 
)
pure virtual
virtual void octomap::AbstractOcTree::getMetricMin ( double &  x,
double &  y,
double &  z 
) const
pure virtual
virtual void octomap::AbstractOcTree::getMetricSize ( double &  x,
double &  y,
double &  z 
)
pure virtual
virtual double octomap::AbstractOcTree::getResolution ( ) const
pure virtual
virtual std::string octomap::AbstractOcTree::getTreeType ( ) const
pure virtual
virtual size_t octomap::AbstractOcTree::memoryUsage ( ) const
pure virtual
virtual size_t octomap::AbstractOcTree::memoryUsageNode ( ) const
pure virtual
virtual void octomap::AbstractOcTree::prune ( )
pure virtual
static AbstractOcTree* octomap::AbstractOcTree::read ( const std::string &  filename)
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:

AbstractOcTree* tree = AbstractOcTree::read("filename.ot");
OcTree* octree = dynamic_cast<OcTree*>(tree);

Referenced by ~AbstractOcTree().

static AbstractOcTree* octomap::AbstractOcTree::read ( std::istream &  s)
static

Read the file header, create the appropriate class and deserialize.

This creates a new octree which you need to delete yourself.

virtual std::istream& octomap::AbstractOcTree::readData ( std::istream &  s)
pure virtual
static bool octomap::AbstractOcTree::readHeader ( std::istream &  s,
std::string &  id,
unsigned &  size,
double &  res 
)
staticprotected

Referenced by ~AbstractOcTree().

static void octomap::AbstractOcTree::registerTreeType ( AbstractOcTree tree)
staticprotected
virtual void octomap::AbstractOcTree::setResolution ( double  res)
pure virtual
virtual size_t octomap::AbstractOcTree::size ( ) const
pure virtual
bool octomap::AbstractOcTree::write ( const std::string &  filename) const

Write file header and complete tree to file (serialization)

Referenced by ~AbstractOcTree().

bool octomap::AbstractOcTree::write ( std::ostream &  s) const

Write file header and complete tree to stream (serialization)

virtual std::ostream& octomap::AbstractOcTree::writeData ( std::ostream &  s) const
pure virtual

Friends And Related Function Documentation

friend class StaticMapInit
friend

Definition at line 65 of file AbstractOcTree.h.

Member Data Documentation

const std::string octomap::AbstractOcTree::fileHeader
staticprotected

Definition at line 169 of file AbstractOcTree.h.




Page generated by Doxygen 1.8.11 for MRPT 1.4.0 SVN:Unversioned directory at Tue Jun 28 11:46:25 UTC 2016