9 #ifndef OCTOMAP_ABSTRACT_OCTREE_H
10 #define OCTOMAP_ABSTRACT_OCTREE_H
80 virtual size_t size()
const = 0;
83 virtual void getMetricMin(
double& x,
double& y,
double& z) = 0;
84 virtual void getMetricMin(
double& x,
double& y,
double& z)
const = 0;
85 virtual void getMetricMax(
double& x,
double& y,
double& z) = 0;
86 virtual void getMetricMax(
double& x,
double& y,
double& z)
const = 0;
87 virtual void getMetricSize(
double& x,
double& y,
double& z) = 0;
89 virtual void prune() = 0;
91 virtual void clear() = 0;
121 bool write(
const std::string& filename)
const;
123 bool write(std::ostream& s)
const;
156 virtual std::istream&
readData(std::istream &s) = 0;
160 virtual std::ostream&
writeData(std::ostream &s)
const = 0;
166 static bool readHeader(std::istream &s, std::string&
id,
unsigned&
size,
double& res);
OctoMap: A probabilistic, flexible, and compact 3D mapping library for robotic systems.
This abstract class is an interface to all octrees and provides a factory design pattern for readin a...
virtual std::ostream & writeData(std::ostream &s) const =0
Write complete state of tree to stream (without file header) unmodified.
static std::map< std::string, AbstractOcTree * > & classIDMapping()
create private store, Construct on first use
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 cre...
static AbstractOcTree * createTree(const std::string id, double res)
Creates a certain OcTree (factory pattern)
virtual double getResolution() const =0
friend class StaticMapInit
virtual size_t memoryUsage() const =0
static AbstractOcTree * read(const std::string &filename)
Read the file header, create the appropriate class and deserialize.
bool write(const std::string &filename) const
Write file header and complete tree to file (serialization)
virtual void getMetricSize(double &x, double &y, double &z)=0
virtual AbstractOcTree * create() const =0
virtual constructor: creates a new object of same type
virtual std::string getTreeType() const =0
returns actual class name as string for identification
virtual void getMetricMin(double &x, double &y, double &z)=0
static void registerTreeType(AbstractOcTree *tree)
static const std::string fileHeader
static bool readHeader(std::istream &s, std::string &id, unsigned &size, double &res)
virtual void getMetricMax(double &x, double &y, double &z)=0
virtual ~AbstractOcTree()
virtual size_t size() const =0
virtual size_t memoryUsageNode() const =0
virtual void setResolution(double res)=0