octomap 1.5.0
octomap::AbstractOcTree Class Reference

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...

Inheritance diagram for octomap::AbstractOcTree:
Collaboration diagram for octomap::AbstractOcTree:

Public Member Functions

 AbstractOcTree ()
virtual void clear ()=0
virtual AbstractOcTreecreate () const =0
 virtual constructor: creates a new object of same type
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
virtual size_t memoryUsage () const =0
virtual size_t memoryUsageNode () const =0
virtual void prune ()=0
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.
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)
bool write (std::ostream &s) const
 Write file header and complete tree to stream (serialization)
virtual std::ostream & writeData (std::ostream &s) const =0
 Write complete state of tree to stream (without file header) unmodified.
virtual ~AbstractOcTree ()

Static Public Member Functions

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

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"

Friends

class StaticMapInit

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


Constructor & Destructor Documentation

octomap::AbstractOcTree::AbstractOcTree ( )
virtual octomap::AbstractOcTree::~AbstractOcTree ( ) [inline, virtual]

Member Function Documentation

virtual AbstractOcTree* octomap::AbstractOcTree::create ( ) const [pure virtual]

virtual constructor: creates a new object of same type

Implemented in octomap::OcTreeBase< NODE >.

Referenced by createTree().

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!

References create(), OCTOMAP_ERROR, and setResolution().

Referenced by read().

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);

References OCTOMAP_ERROR_STR.

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.

References createTree(), fileHeader, OCTOMAP_DEBUG_STR, OCTOMAP_ERROR_STR, readData(), readHeader(), and size().

virtual std::istream& octomap::AbstractOcTree::readData ( std::istream &  s) [pure virtual]
bool octomap::AbstractOcTree::readHeader ( std::istream &  s,
std::string &  id,
unsigned &  size,
double &  res 
) [static, protected]
bool octomap::AbstractOcTree::write ( const std::string &  filename) const

Write file header and complete tree to file (serialization)

References OCTOMAP_ERROR_STR.

Referenced by main().

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

Write file header and complete tree to stream (serialization)

References fileHeader, getResolution(), getTreeType(), size(), and writeData().

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

Friends And Related Function Documentation

friend class StaticMapInit [friend]

Field Documentation

const std::string octomap::AbstractOcTree::fileHeader = "# Octomap OcTree file" [static, protected]

Referenced by read(), and write().


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