34#ifndef OCTOMAP_COLOR_OCTREE_H
35#define OCTOMAP_COLOR_OCTREE_H
55 Color(uint8_t _r, uint8_t _g, uint8_t _b)
56 :
r(_r),
g(_g),
b(_b) {}
58 return (
r==other.
r &&
g==other.
g &&
b==other.
b);
61 return (
r!=other.
r ||
g!=other.
g ||
b!=other.
b);
82 inline void setColor(uint8_t r, uint8_t g, uint8_t b) {
99 std::istream&
readData(std::istream &s);
100 std::ostream&
writeData(std::ostream &s)
const;
132 uint8_t g, uint8_t b);
136 uint8_t g, uint8_t b) {
144 uint8_t g, uint8_t b);
148 uint8_t g, uint8_t b) {
156 uint8_t g, uint8_t b);
160 uint8_t g, uint8_t b) {
static void registerTreeType(AbstractOcTree *tree)
Definition AbstractOcTree.cpp:205
Definition ColorOcTree.h:52
Color(uint8_t _r, uint8_t _g, uint8_t _b)
Definition ColorOcTree.h:55
bool operator==(const Color &other) const
Definition ColorOcTree.h:57
Color()
Definition ColorOcTree.h:54
uint8_t g
Definition ColorOcTree.h:63
uint8_t b
Definition ColorOcTree.h:63
uint8_t r
Definition ColorOcTree.h:63
bool operator!=(const Color &other) const
Definition ColorOcTree.h:60
Definition ColorOcTree.h:48
Color getColor() const
Definition ColorOcTree.h:80
bool isColorSet() const
Definition ColorOcTree.h:89
void setColor(Color c)
Definition ColorOcTree.h:81
ColorOcTreeNode::Color getAverageChildColor() const
Definition ColorOcTree.cpp:54
std::istream & readData(std::istream &s)
Definition ColorOcTree.cpp:47
Color & getColor()
Definition ColorOcTree.h:86
void updateColorChildren()
Definition ColorOcTree.cpp:85
ColorOcTreeNode()
Definition ColorOcTree.h:67
Color color
Definition ColorOcTree.h:103
ColorOcTreeNode(const ColorOcTreeNode &rhs)
Definition ColorOcTree.h:69
bool operator==(const ColorOcTreeNode &rhs) const
Definition ColorOcTree.h:71
friend class ColorOcTree
Definition ColorOcTree.h:50
void setColor(uint8_t r, uint8_t g, uint8_t b)
Definition ColorOcTree.h:82
std::ostream & writeData(std::ostream &s) const
Definition ColorOcTree.cpp:40
void copyData(const ColorOcTreeNode &from)
Definition ColorOcTree.h:75
Static member object which ensures that this OcTree's prototype ends up in the classIDMapping only on...
Definition ColorOcTree.h:182
StaticMemberInitializer()
Definition ColorOcTree.h:184
void ensureLinking()
Dummy function to ensure that MSVC does not drop the StaticMemberInitializer, causing this tree faili...
Definition ColorOcTree.h:195
Definition ColorOcTree.h:108
std::string getTreeType() const
returns actual class name as string for identification
Definition ColorOcTree.h:118
void updateInnerOccupancy()
Definition ColorOcTree.cpp:188
ColorOcTreeNode * integrateNodeColor(float x, float y, float z, uint8_t r, uint8_t g, uint8_t b)
Definition ColorOcTree.h:158
ColorOcTreeNode * averageNodeColor(const OcTreeKey &key, uint8_t r, uint8_t g, uint8_t b)
Definition ColorOcTree.cpp:146
virtual bool isNodeCollapsible(const ColorOcTreeNode *node) const
Definition ColorOcTree.cpp:127
ColorOcTree * create() const
virtual constructor: creates a new object of same type (Covariant return type requires an up-to-date ...
Definition ColorOcTree.h:116
void writeColorHistogram(std::string filename)
Definition ColorOcTree.cpp:208
ColorOcTreeNode * setNodeColor(float x, float y, float z, uint8_t r, uint8_t g, uint8_t b)
Definition ColorOcTree.h:134
void updateInnerOccupancyRecurs(ColorOcTreeNode *node, unsigned int depth)
Definition ColorOcTree.cpp:192
virtual bool pruneNode(ColorOcTreeNode *node)
Prunes a node when it is collapsible.
Definition ColorOcTree.cpp:107
ColorOcTreeNode * integrateNodeColor(const OcTreeKey &key, uint8_t r, uint8_t g, uint8_t b)
Definition ColorOcTree.cpp:163
ColorOcTree(double resolution)
Default constructor, sets resolution of leafs.
Definition ColorOcTree.cpp:91
static StaticMemberInitializer colorOcTreeMemberInit
static member to ensure static initialization (only once)
Definition ColorOcTree.h:198
ColorOcTreeNode * setNodeColor(const OcTreeKey &key, uint8_t r, uint8_t g, uint8_t b)
Definition ColorOcTree.cpp:96
ColorOcTreeNode * averageNodeColor(float x, float y, float z, uint8_t r, uint8_t g, uint8_t b)
Definition ColorOcTree.h:146
bool coordToKeyChecked(const point3d &coord, OcTreeKey &key) const
Definition OcTreeBaseImpl.hxx:340
void clearKeyRays()
Clear KeyRay vector to minimize unneeded memory.
Definition OcTreeBaseImpl.h:120
double resolution
Definition OcTreeBaseImpl.h:547
T value
stored data (payload)
Definition OcTreeDataNode.h:128
void copyData(const OcTreeDataNode &from)
Definition OcTreeDataNode.hxx:73
OcTreeKey is a container class for internal key addressing.
Definition OcTreeKey.h:70
OcTreeNode()
Definition OcTreeNode.cpp:45
OccupancyOcTreeBase(double resolution)
Definition OccupancyOcTreeBase.hxx:42
Namespace the OctoMap library and visualization tools.
octomath::Vector3 point3d
Use Vector3 (float precision) as a point3d in octomap.
Definition octomap_types.h:49
std::ostream & operator<<(std::ostream &out, ColorOcTreeNode::Color const &c)
user friendly output in format (r g b)
Definition ColorOcTree.cpp:253