10 #ifndef MRPT_CColouredOctoMap_H
11 #define MRPT_CColouredOctoMap_H
17 namespace octomap {
class ColorOcTreeNode; }
32 :
public COctoMapBase<octomap::ColorOcTree, octomap::ColorOcTreeNode>
67 const double x,
const double y,
const double z,
const uint8_t r,
97 const float end_x,
const float end_y,
const float end_z,
98 const float sensor_x,
const float sensor_y,
const float sensor_z);
103 const double x,
const double y,
const double z,
bool occupied);
107 const float x,
const float y,
const float z)
const;
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
#define MAP_DEFINITION_END(_CLASS_NAME_)
#define MAP_DEFINITION_START(_CLASS_NAME_)
Add a MAP_DEFINITION_START() ...
A three-dimensional probabilistic occupancy grid, implemented as an octo-tree with the "octomap" C++ ...
TColourUpdate getVoxelColourMethod()
Get the method used to update voxels colour.
void updateVoxelColour(const double x, const double y, const double z, const uint8_t r, const uint8_t g, const uint8_t b)
Manually update the colour of the voxel at (x,y,z)
bool internal_insertObservation(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D *robotPose) override
Internal method called by insertObservation()
float getOccupancyThresLog() const override
size_t calcNumNodes() const
Traverses the tree to calculate the total number of nodes.
bool isPointWithinOctoMap(const float x, const float y, const float z) const
Check whether the given point lies within the volume covered by the octomap (that is,...
CColouredOctoMap(const double resolution=0.10)
Default constructor.
void setOccupancyThres(double prob) override
void insertRay(const float end_x, const float end_y, const float end_z, const float sensor_x, const float sensor_y, const float sensor_z)
Just like insertPointCloud but with a single ray.
size_t memoryUsage() const
size_t memoryFullGrid() const
unsigned int getTreeDepth() const
TColourUpdate
This allows the user to select the desired method to update voxels colour.
void updateVoxel(const double x, const double y, const double z, bool occupied)
Manually updates the occupancy of the voxel at (x,y,z) as being occupied (true) or free (false),...
float getProbMissLog() const override
double getResolution() const
virtual bool isEmpty() const override
Returns true if the map is empty/no observation has been inserted.
void getMetricMin(double &x, double &y, double &z)
minimum value of the bounding box of all known space in x, y, z
double getClampingThresMax() const override
float getProbHitLog() const override
void setClampingThresMax(double thresProb) override
size_t getNumLeafNodes() const
Traverses the tree to calculate the total number of leaf nodes.
float getClampingThresMinLog() const override
size_t memoryUsageNode() const
double getOccupancyThres() const override
void getMetricSize(double &x, double &y, double &z)
Size of OcTree (all known space) in meters for x, y and z dimension.
TColourUpdate m_colour_method
double getProbHit() const override
double getClampingThresMin() const override
void setProbMiss(double prob) override
bool getPointColour(const float x, const float y, const float z, uint8_t &r, uint8_t &g, uint8_t &b) const
Get the RGB colour of a point.
virtual void internal_clear() override
Internal method called by clear()
void setClampingThresMin(double thresProb) override
double getProbMiss() const override
virtual void getAsOctoMapVoxels(mrpt::opengl::COctoMapVoxels &gl_obj) const override
Builds a renderizable representation of the octomap as a mrpt::opengl::COctoMapVoxels object.
float getClampingThresMaxLog() const override
void setProbHit(double prob) override
void getMetricMax(double &x, double &y, double &z)
maximum value of the bounding box of all known space in x, y, z
void setVoxelColourMethod(TColourUpdate new_method)
Set the method used to update voxels colour.
virtual ~CColouredOctoMap()
Destructor.
A three-dimensional probabilistic occupancy grid, implemented as an octo-tree with the "octomap" C++ ...
Declares a class that represents any robot's observation.
A flexible renderer of voxels, typically from a 3D octo map (see mrpt::maps::COctoMap).
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
GLdouble GLdouble GLdouble r
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.