Go to the documentation of this file.
6 #define EXPECT_TRUE(args) { \
7 if (!(args)) { fprintf(stderr, "test failed (EXPECT_TRUE) in %s, line %d\n", __FILE__, __LINE__); \
11 #define EXPECT_FALSE(args) { \
12 if (args) { fprintf(stderr, "test failed (EXPECT_FALSE) in %s, line %d\n", __FILE__, __LINE__); \
16 #define EXPECT_EQ(a,b) { \
17 if (!(a == b)) { std::cerr << "test failed: " <<a<<"!="<<b<< " in " \
18 << __FILE__ << ", line " <<__LINE__ << std::endl; \
22 #define EXPECT_FLOAT_EQ(a,b) { \
23 if (!(fabs(a-b) <= 1e-5)) { fprintf(stderr, "test failed: %f != %f in %s, line %d\n", a, b, __FILE__, __LINE__); \
27 #define EXPECT_NEAR(a,b,prec) { \
28 if (!(fabs(a-b) <= prec)) { fprintf(stderr, "test failed: |%f - %f| > %f in %s, line %d\n", a, b, prec, __FILE__, __LINE__); \
float & x()
Definition: Pose6D.h:102
Quaternion()
Default constructor.
Definition: Quaternion.h:66
const leaf_bbx_iterator end_leafs_bbx() const
Definition: OcTreeBaseImpl.h:345
float & pitch()
Definition: Vector3.h:166
void setProbMiss(double prob)
sets the probability for a "miss" (will be converted to logodds) - sensor model
Definition: AbstractOccupancyOcTree.h:192
~Pose6D()
Definition: Pose6D.cpp:55
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY SPECIAL
Definition: LICENSE.txt:25
unsigned int getCount() const
Definition: CountingOcTree.h:60
virtual bool castRay(const point3d &origin, const point3d &direction, point3d &end, bool ignoreUnknownCells=false, double maxRange=-1.0) const
Performs raycasting in 3d, similar to computeRay().
Definition: OccupancyOcTreeBase.hxx:639
int main(int argc, char **argv)
Definition: compare_octrees.cpp:59
virtual void toMaxLikelihood()
Creates the maximum likelihood map by calling toMaxLikelihood on all tree nodes, setting their occupa...
Definition: OccupancyOcTreeBase.hxx:518
bool writeBinaryConst(const std::string &filename) const
Writes OcTree to a binary file using writeBinaryConst().
Definition: AbstractOccupancyOcTree.cpp:60
void ensureLinking()
Dummy function to ensure that MSVC does not drop the StaticMemberInitializer, causing this tree faili...
Definition: OcTreeStamped.h:119
std::string getTreeType() const
returns actual class name as string for identification
Definition: ColorOcTree.h:118
void boundingBoxTest(OcTree *tree)
Definition: test_iterators.cpp:126
OcTreeStamped(double resolution)
Default constructor, sets resolution of leafs.
Definition: OcTreeStamped.cpp:38
bool isOccupied(const point3d &p) const
Definition: MapCollection.hxx:153
int main(int argc, char **argv)
Definition: bt2vrml.cpp:55
virtual std::ostream & writeBinaryData(std::ostream &s) const =0
Writes the actual data, implemented in OccupancyOcTreeBase::writeBinaryData()
Static member object which ensures that this OcTree's prototype ends up in the classIDMapping only on...
Definition: CountingOcTree.h:100
void updateInnerOccupancy()
Updates the occupancy of all inner nodes to reflect their children's occupancy.
Definition: OccupancyOcTreeBase.hxx:494
int main(int argc, char **argv)
Definition: graph2tree.cpp:106
uint16_t key_type
Definition: OcTreeKey.h:63
const Pose6D & operator*=(const Pose6D &p)
In place concatenation.
Definition: Pose6D.cpp:97
virtual bool isNodeCollapsible(const ColorOcTreeNode *node) const
A node is collapsible if all children exist, don't have children of their own and have the same occup...
Definition: ColorOcTree.cpp:127
point3d_collection points
Definition: Pointcloud.h:120
ColorOcTreeNode * search(double x, double y, double z, unsigned int depth=0) const
Search node at specified depth given a 3d point (depth=0: search full tree depth).
Definition: OcTreeBaseImpl.hxx:421
void updateColorChildren()
Definition: ColorOcTree.cpp:85
int main(int, char **)
Definition: simple_example.cpp:49
float & yaw()
Definition: Vector3.h:171
void printUsage(char *self)
Definition: log2graph.cpp:41
double timediff(const timeval &start, const timeval &stop)
Definition: test_iterators.cpp:122
void clear()
Clears all nodes and edges, and will delete the corresponding objects.
Definition: ScanGraph.cpp:167
Base implementation for Occupancy Octrees (e.g.
Definition: OccupancyOcTreeBase.h:69
double getClampingThresMin() const
Definition: AbstractOccupancyOcTree.h:213
std::istream & readBinary(std::istream &s)
Definition: Pointcloud.cpp:296
ColorOcTree(double resolution)
Default constructor, sets resolution of leafs.
Definition: ColorOcTree.cpp:91
Vector3 translation
Definition: Pose6D.h:197
void print_query_info(point3d query, OcTreeNode *node)
Definition: simple_example.cpp:41
#define OCTOMAP_WARNING_STR(args)
Definition: octomap_types.h:77
pose6d pose
6D pose from which the scan was performed
Definition: ScanGraph.h:74
uint8_t b
Definition: ColorOcTree.h:63
Basic node in the OcTree that can hold arbitrary data of type T in value.
Definition: OcTreeDataNode.h:63
virtual bool pruneNode(ColorOcTreeNode *node)
Prunes a node when it is collapsible.
Definition: ColorOcTree.cpp:107
virtual size_t size() const
Definition: OcTreeBaseImpl.h:241
std::pair< point3d, double > OcTreeVolume
A voxel defined by its center point3d and its side length.
Definition: octomap_types.h:57
static const std::string binaryFileHeader
Definition: AbstractOccupancyOcTree.h:235
bool operator==(const Pose6D &other) const
Definition: Pose6D.cpp:115
bool castRay(const point3d &origin, const point3d &direction, point3d &end, bool ignoreUnknownCells=false, double maxRange=-1.0) const
Definition: MapCollection.hxx:189
void toRotMatrix(std::vector< double > &rot_matrix_3_3) const
Definition: Quaternion.cpp:167
virtual bool pruneNode(NODE *node)
Prunes a node when it is collapsible.
Definition: OcTreeBaseImpl.hxx:267
std::ostream & writeBinary(std::ostream &s) const
Definition: Vector3.cpp:99
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap library
Definition: LICENSE.txt:6
float & x()
Definition: Quaternion.h:179
const leaf_iterator end_leafs() const
Definition: OcTreeBaseImpl.h:334
A collection of 3D coordinates (point3d), which are regarded as endpoints of a 3D laser scan.
Definition: Pointcloud.h:47
unsigned char byte
Definition: binvox2bt.cpp:60
int main(int argc, char **argv)
Definition: test_iterators.cpp:212
void ensureLinking()
Dummy function to ensure that MSVC does not drop the StaticMemberInitializer, causing this tree faili...
Definition: ColorOcTree.h:195
void calcBBX(point3d &lowerBound, point3d &upperBound) const
Calculate bounding box of Pointcloud.
Definition: Pointcloud.cpp:134
void setOccupancyThres(double prob)
sets the threshold for occupancy (sensor model)
Definition: AbstractOccupancyOcTree.h:188
void printUsage(char *self)
Definition: convert_octree.cpp:46
KeyBoolMap::const_iterator changedKeysBegin() const
Iterator to traverse all keys of changed nodes.
Definition: OccupancyOcTreeBase.h:363
pose6d constraint
Definition: ScanGraph.h:104
Static member object which ensures that this OcTree's prototype ends up in the classIDMapping only on...
Definition: OcTree.h:79
std::ostream & operator<<(std::ostream &s, const Pose6D &p)
user friendly output in format (x y z, u x y z) which is (translation, rotation)
Definition: Pose6D.cpp:152
std::string getTreeType() const
returns actual class name as string for identification
Definition: OcTreeStamped.h:88
ColorOcTreeNode * getNodeChild(ColorOcTreeNode *node, unsigned int childIdx) const
Definition: OcTreeBaseImpl.hxx:200
Vector3 toEuler() const
Conversion to Euler angles.
Definition: Quaternion.cpp:124
void crop(point3d lowerBound, point3d upperBound)
Crop Pointcloud to given bounding box.
Definition: Pointcloud.cpp:162
ColorOcTreeNode * averageNodeColor(const OcTreeKey &key, uint8_t r, uint8_t g, uint8_t b)
Definition: ColorOcTree.cpp:146
int main(int, char **argv)
Definition: color_tree_histogram.cpp:8
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN CONTRACT
Definition: LICENSE.txt:29
float norm() const
Definition: Quaternion.cpp:99
std::istream & readPoseASCII(std::istream &s)
Definition: ScanGraph.cpp:90
float & z()
Definition: Pose6D.h:104
void push_back(float x, float y, float z)
Definition: Pointcloud.h:61
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED INCLUDING
Definition: LICENSE.txt:22
const unsigned int tree_max_val
Definition: OcTreeBaseImpl.h:546
Static member object which ensures that this OcTree's prototype ends up in the classIDMapping only on...
Definition: OcTreeStamped.h:106
double keyToCoord(key_type key, unsigned depth) const
converts from a discrete key at a given depth into a coordinate corresponding to the key's center
Definition: OcTreeBaseImpl.hxx:394
int main(int, char **)
Definition: test_raycasting.cpp:13
edge_iterator edges_begin()
Definition: ScanGraph.h:185
void deleteNodeChild(ColorOcTreeNode *node, unsigned int childIdx)
Deletes the i-th child of the node.
Definition: OcTreeBaseImpl.hxx:189
OcTree(double resolution)
Default constructor, sets resolution of leafs.
Definition: OcTree.cpp:39
AbstractOccupancyOcTree()
Definition: AbstractOccupancyOcTree.cpp:40
static StaticMemberInitializer ocTreeMemberInit
to ensure static initialization (only once)
Definition: OcTree.h:96
int main(int, char **)
Definition: test_changedkeys.cpp:56
int main(int, char **)
Definition: test_pruning.cpp:9
std::ostream & writeData(std::ostream &s) const
Definition: ColorOcTree.cpp:40
std::istream & readEdgesASCII(std::istream &s)
Definition: ScanGraph.cpp:510
void setColor(Color c)
Definition: ColorOcTree.h:81
Pose6D operator*(const Pose6D &p) const
Concatenation.
Definition: Pose6D.cpp:91
std::ostream & writePoseASCII(std::ostream &s) const
Definition: ScanGraph.cpp:80
leaf_iterator begin_leafs(unsigned char maxDepth=0) const
Definition: OcTreeBaseImpl.h:332
float value
stored data (payload)
Definition: OcTreeDataNode.h:128
unsigned int getLastUpdateTime()
Definition: OcTreeStamped.cpp:43
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INCIDENTAL
Definition: LICENSE.txt:25
Vector3 & rotate_IP(double roll, double pitch, double yaw)
Definition: Vector3.cpp:41
std::ostream & writeBinary(std::ostream &s) const
Definition: ScanGraph.cpp:52
std::istream & read(std::istream &s)
Definition: Quaternion.cpp:261
float & roll()
Definition: Vector3.h:161
point3d getPoint(unsigned int i) const
Returns a copy of the ith point in point cloud. Use operator[] for direct access to point reference.
Definition: Pointcloud.cpp:93
std::ostream & writeBinary(std::ostream &s) const
Definition: Quaternion.cpp:291
float getLogOdds() const
Definition: OcTreeNode.h:68
virtual std::ostream & writeData(std::ostream &s) const =0
Write complete state of tree to stream (without file header) unmodified. Pruning the tree first produ...
void clear()
Definition: Pointcloud.cpp:65
void setResolution(double r)
Change the resolution of the octree, scaling all voxels. This will not preserve the (metric) scale!
Definition: OcTreeBaseImpl.hxx:156
std::ostream & write(std::ostream &s) const
Definition: Quaternion.cpp:270
static const std::string fileHeader
Definition: AbstractOcTree.h:155
const unsigned int tree_depth
Maximum tree depth is fixed to 16 currently.
Definition: OcTreeBaseImpl.h:545
bool readBinary(std::istream &s)
Reads an OcTree from an input stream.
Definition: AbstractOccupancyOcTree.cpp:135
Definition: ColorOcTree.h:108
void updateInnerOccupancy()
Definition: ColorOcTree.cpp:188
bool write(const std::string &filename) const
Write file header and complete tree to file (serialization)
Definition: AbstractOcTree.cpp:45
std::vector< ScanEdge * > getOutEdges(ScanNode *node)
Definition: ScanGraph.cpp:287
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT LIABILITY
Definition: LICENSE.txt:29
virtual bool insertRay(const point3d &origin, const point3d &end, double maxrange=-1.0, bool lazy_eval=false)
Insert one ray between origin and end into the tree.
Definition: OccupancyOcTreeBase.hxx:865
void printUsage(char *self)
Definition: test_iterators.cpp:14
#define OCTOMAP_DEBUG(...)
Definition: octomap_types.h:72
bool edgeExists(unsigned int first_id, unsigned int second_id)
Definition: ScanGraph.cpp:259
float getMaxChildLogOdds() const
Definition: OcTreeNode.cpp:76
std::ostream & writeEdgesASCII(std::ostream &s) const
Definition: ScanGraph.cpp:491
virtual void insertPointCloud(const Pointcloud &scan, const octomap::point3d &sensor_origin, double maxrange=-1., bool lazy_eval=false, bool discretize=false)
Integrate a Pointcloud (in global reference frame), parallelized with OpenMP.
Definition: OccupancyOcTreeBase.hxx:86
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without modification
Definition: LICENSE.txt:10
~Pointcloud()
Definition: Pointcloud.cpp:61
void getCentersMinHitsRecurs(point3d_list &node_centers, unsigned int &min_hits, unsigned int max_depth, CountingOcTreeNode *node, unsigned int depth, const OcTreeKey &parent_key) const
Definition: CountingOcTree.cpp:102
bool operator==(const Quaternion &other) const
Definition: Quaternion.cpp:113
std::vector< ScanNode * >::const_iterator const_iterator
Definition: ScanGraph.h:174
Iterator to iterate over all leafs of the tree.
Definition: OcTreeIterator.hxx:263
#define EXPECT_TRUE(args)
Definition: testing.h:6
virtual std::istream & readBinaryData(std::istream &s)=0
Reads the actual data, implemented in OccupancyOcTreeBase::readBinaryData()
void updateTimestamp()
Definition: OcTreeStamped.h:63
Quaternion normalized() const
Definition: Quaternion.cpp:241
ColorOcTreeNode * root
Pointer to the root NODE, NULL for empty tree.
Definition: OcTreeBaseImpl.h:542
ScanNode * second
Definition: ScanGraph.h:102
Definition: MapCollection.h:45
std::istream & readPlainASCII(std::istream &s)
Reads in a ScanGraph from a "plain" ASCII file of the form NODE x y z R P Y x y z x y z x y z NODE x ...
Definition: ScanGraph.cpp:436
#define OCTOMAP_DEBUG_STR(args)
Definition: octomap_types.h:73
float & y()
Definition: Pose6D.h:103
This class represents a three-dimensional vector.
Definition: Vector3.h:50
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT
Definition: LICENSE.txt:25
virtual NODE * updateNode(const OcTreeKey &key, float log_odds_update, bool lazy_eval=false)
Manipulate log_odds value of a voxel by changing it by log_odds_update (relative).
Definition: OccupancyOcTreeBase.hxx:301
bool readBinaryLegacyHeader(std::istream &s, unsigned int &size, double &res)
Try to read the old binary format for conversion, will be removed in the future.
Definition: AbstractOccupancyOcTree.cpp:98
std::vector< ScanNode * > nodes
Definition: ScanGraph.h:224
#define DEG2RAD(x)
Definition: Utils.h:47
void subSampleRandom(unsigned int num_samples, Pointcloud &sample_cloud)
Definition: Pointcloud.cpp:210
octomap main map data structure, stores 3D occupancy grid map in an OcTree.
Definition: OcTree.h:49
double getResolution() const
Definition: OcTreeBaseImpl.h:109
bool nodeChildExists(const ColorOcTreeNode *node, unsigned int childIdx) const
Safe test if node has a child at index childIdx.
Definition: OcTreeBaseImpl.hxx:235
Vector3 rotate(const Vector3 &v) const
Rotate a vector.
Definition: Quaternion.cpp:255
std::ostream & writeBinary(std::ostream &s) const
Definition: Pointcloud.cpp:324
virtual size_t memoryUsage() const
Definition: OcTreeBaseImpl.hxx:1039
const tree_iterator end_tree() const
Definition: OcTreeBaseImpl.h:350
A ScanGraph is a collection of ScanNodes, connected by ScanEdges.
Definition: ScanGraph.h:114
Color color
Definition: ColorOcTree.h:103
void getVoxelsRecurs(std::list< OcTreeVolume > &voxels, unsigned int max_depth, OcTreeNode *node, unsigned int depth, const point3d &parent_center, const point3d &tree_center, OcTree *tree)
mimics old deprecated behavior to compare against
Definition: test_iterators.cpp:71
void setValue(T v)
sets value to be stored in the node
Definition: OcTreeDataNode.h:105
~ScanGraph()
Definition: ScanGraph.cpp:163
bool isNodeOccupied(const OcTreeNode *occupancyNode) const
queries whether a node is occupied according to the tree's parameter for "occupancy"
Definition: AbstractOccupancyOcTree.h:114
iterator end()
Definition: ScanGraph.h:176
virtual double getResolution() const =0
Definition: OcTreeStamped.h:45
#define EXPECT_FLOAT_EQ(a, b)
Definition: testing.h:22
void printChanges(OcTree &tree)
Definition: test_changedkeys.cpp:9
void printUsage(char *self)
Definition: compare_octrees.cpp:51
void print_query_info(point3d query, OcTreeNode *node)
Definition: normals_example.cpp:44
int main(int argc, char **argv)
Definition: binvox2bt.cpp:63
~ScanNode()
Definition: ScanGraph.cpp:45
~OcTreeNode()
Definition: OcTreeNode.cpp:50
virtual void getMetricMin(double &x, double &y, double &z)
minimum value of the bounding box of all known space in x, y, z
Definition: OcTreeBaseImpl.hxx:942
unordered_ns::unordered_set< OcTreeKey, OcTreeKey::KeyHash > KeySet
Data structure to efficiently compute the nodes to update from a scan insertion using a hash set.
Definition: OcTreeKey.h:129
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A Hornung
Definition: LICENSE.txt:6
size_t getNumPoints(unsigned int max_id=-1) const
Definition: ScanGraph.cpp:611
void computeUpdate(const Pointcloud &scan, const octomap::point3d &origin, KeySet &free_cells, KeySet &occupied_cells, double maxrange)
Helper for insertPointCloud().
Definition: OccupancyOcTreeBase.hxx:169
Nodes to be used in OcTree.
Definition: OcTreeNode.h:55
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright notice
Definition: LICENSE.txt:15
int main(int argc, char **argv)
Definition: log2graph.cpp:56
std::ostream & writeNodePosesASCII(std::ostream &s) const
Definition: ScanGraph.cpp:543
ScanNode * first
Definition: ScanGraph.h:101
This abstract class is an interface to all octrees and provides a factory design pattern for readin a...
Definition: AbstractOcTree.h:50
A 3D scan as Pointcloud, performed from a Pose6D.
Definition: ScanGraph.h:52
void exportDot(std::string filename)
Definition: ScanGraph.cpp:236
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY EXEMPLARY
Definition: LICENSE.txt:25
virtual void expand()
Expands all pruned nodes (reverse of prune())
Definition: OcTreeBaseImpl.hxx:536
std::istream & read(std::istream &s)
Definition: Vector3.cpp:69
iterator begin()
Definition: ScanGraph.h:175
Vector3 transform(const Vector3 &v) const
Transformation of a vector.
Definition: Pose6D.cpp:85
void connectPrevious()
Connect previously added ScanNode to the one before that.
Definition: ScanGraph.cpp:226
void writeVrml(std::string filename)
Export the Pointcloud to a VRML file.
Definition: Pointcloud.cpp:233
#define EXPECT_NEAR(a, b, prec)
Definition: testing.h:27
OcTreeNode()
Definition: OcTreeNode.cpp:45
void setClampingThresMin(double thresProb)
sets the minimum threshold for occupancy clamping (sensor model)
Definition: AbstractOccupancyOcTree.h:194
bool nodeHasChildren(const ColorOcTreeNode *node) const
Safe test if node has any children.
Definition: OcTreeBaseImpl.hxx:244
double getClampingThresMax() const
Definition: AbstractOccupancyOcTree.h:217
int main(int, char **argv)
Definition: test_mapcollection.cpp:28
size_t size() const
Definition: ScanGraph.h:180
CountingOcTree(double resolution)
Default constructor, sets resolution of leafs.
Definition: CountingOcTree.cpp:52
static StaticMemberInitializer colorOcTreeMemberInit
static member to ensure static initialization (only once)
Definition: ColorOcTree.h:198
#define M_PI_2
Definition: binvox2bt.cpp:46
virtual void getMetricSize(double &x, double &y, double &z)
Size of OcTree (all known space) in meters for x, y and z dimension.
Definition: OcTreeBaseImpl.hxx:872
bool isNodeAtThreshold(const OcTreeNode *occupancyNode) const
queries whether a node is at the clamping threshold according to the tree's parameter
Definition: AbstractOccupancyOcTree.h:124
virtual void prune()
Lossless compression of the octree: A node will replace all of its eight children if they have identi...
Definition: OcTreeBaseImpl.hxx:523
virtual bool getRayIntersection(const point3d &origin, const point3d &direction, const point3d ¢er, point3d &intersection, double delta=0.0) const
Retrieves the entry point of a ray into a voxel.
Definition: OccupancyOcTreeBase.hxx:762
void rotate(double roll, double pitch, double yaw)
Rotate each point in pointcloud.
Definition: Pointcloud.cpp:126
static AbstractOcTree * createTree(const std::string id, double res)
Creates a certain OcTree (factory pattern)
Definition: AbstractOcTree.cpp:184
pose6d current_inv_transform
Definition: Pointcloud.h:119
std::istream & read(std::istream &s)
Definition: Pointcloud.cpp:280
const float & operator()(unsigned int i) const
Definition: Quaternion.h:116
Quaternion rotation
Definition: Pose6D.h:198
Definition: ColorOcTree.h:48
ColorOcTreeNode * integrateNodeColor(const OcTreeKey &key, uint8_t r, uint8_t g, uint8_t b)
Definition: ColorOcTree.cpp:163
CountingOcTreeNode()
implementation of CountingOcTreeNode -------------------------------—
Definition: CountingOcTree.cpp:42
ScanNode * getNodeByID(unsigned int id)
will return NULL if node was not found
Definition: ScanGraph.cpp:252
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL WHETHER IN STRICT OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE
#define OCTOMAP_ERROR(...)
Definition: octomap_types.h:78
OctoMap was originally developed by Kai M Wurm and Armin University of Freiburg Further contributors
Definition: AUTHORS.txt:5
std::istream & readBinary(std::istream &s)
Definition: ScanGraph.cpp:65
void updateOccupancyChildren()
update this node's occupancy according to its children's maximum occupancy
Definition: OcTreeNode.h:83
unsigned int id
Definition: ScanGraph.h:75
static bool readHeader(std::istream &s, std::string &id, unsigned &size, double &res)
Definition: AbstractOcTree.cpp:119
static StaticMemberInitializer countingOcTreeMemberInit
static member to ensure static initialization (only once)
Definition: CountingOcTree.h:116
~CountingOcTreeNode()
Definition: CountingOcTree.cpp:47
virtual void getMetricMax(double &x, double &y, double &z)
maximum value of the bounding box of all known space in x, y, z
Definition: OcTreeBaseImpl.hxx:950
unsigned long long memoryFullGrid() const
Definition: OcTreeBaseImpl.hxx:850
Quaternion & normalize()
Definition: Quaternion.cpp:234
int main(int argc, char **argv)
Definition: octree2pointcloud.cpp:52
OcTreeKey is a container class for internal key addressing.
Definition: OcTreeKey.h:70
void transform(pose6d transform)
Apply transform to each point.
Definition: Pointcloud.cpp:102
std::ostream & writeBinary(std::ostream &s) const
Binary output operator.
Definition: Pose6D.cpp:146
std::istream & readBinary(std::istream &s)
Binary input operator.
Definition: Pose6D.cpp:139
float & y()
Definition: Quaternion.h:180
size_t calcNumNodes() const
Traverses the tree to calculate the total number of nodes.
Definition: OcTreeBaseImpl.hxx:1016
void setClampingThresMax(double thresProb)
sets the maximum threshold for occupancy clamping (sensor model)
Definition: AbstractOccupancyOcTree.h:196
std::istream & readBinary(std::istream &s, ScanGraph &graph)
Definition: ScanGraph.cpp:117
int main(int argc, char **argv)
Definition: offset_graph.cpp:43
Quaternion inv() const
Inversion.
Definition: Quaternion.h:156
void copyData(const ColorOcTreeNode &from)
Definition: ColorOcTree.h:75
int main(int argc, char **argv)
Definition: convert_octree.cpp:56
static StaticMemberInitializer ocTreeStampedMemberInit
to ensure static initialization (only once)
Definition: OcTreeStamped.h:122
virtual std::string getTreeType() const =0
returns actual class name as string for identification
uint8_t computeChildIdx(const OcTreeKey &key, int depth)
generate child index (between 0 and 7) from key at given tree depth
Definition: OcTreeKey.h:207
void setProbHit(double prob)
sets the probability for a "hit" (will be converted to logodds) - sensor model
Definition: AbstractOccupancyOcTree.h:190
void ensureLinking()
Dummy function to ensure that MSVC does not drop the StaticMemberInitializer, causing this tree faili...
Definition: CountingOcTree.h:113
std::ostream & operator<<(std::ostream &out, ColorOcTreeNode::Color const &c)
user friendly output in format (r g b)
Definition: ColorOcTree.cpp:253
edge_iterator edges_end()
Definition: ScanGraph.h:186
iterator begin(unsigned char maxDepth=0) const
Definition: OcTreeBaseImpl.h:327
std::istream & readASCII(std::istream &s, ScanGraph &graph)
Definition: ScanGraph.cpp:146
double getProbHit() const
Definition: AbstractOccupancyOcTree.h:204
std::vector< octomath::Vector3 > point3d_collection
Definition: octomap_types.h:53
void getLeafNodesRecurs(std::list< OcTreeVolume > &voxels, unsigned int max_depth, OcTreeNode *node, unsigned int depth, const point3d &parent_center, const point3d &tree_center, OcTree *tree, bool occupied)
mimics old deprecated behavior to compare against
Definition: test_iterators.cpp:38
std::vector< ScanEdge * > getInEdges(ScanNode *node)
Definition: ScanGraph.cpp:299
bool OcTreeVolumeSortPredicate(const OcTreeVolume &lhs, const OcTreeVolume &rhs)
Definition: test_iterators.cpp:112
size_t size() const
Definition: MapCollection.h:79
double getOccupancy(const point3d &p)
Definition: MapCollection.hxx:171
virtual void updateNodeLogOdds(NODE *occupancyNode, const float &update) const
update logodds value of node by adding to the current value.
Definition: OccupancyOcTreeBase.hxx:1091
Pose6D()
Definition: Pose6D.cpp:39
std::istream & readBinary(std::istream &s)
Definition: Vector3.cpp:87
void computeChildCenter(const unsigned int &pos, const float ¢er_offset, const point3d &parent_center, point3d &child_center)
Definition: test_iterators.cpp:21
void ensureLinking()
Dummy function to ensure that MSVC does not drop the StaticMemberInitializer, causing this tree faili...
Definition: OcTree.h:92
void addValue(const float &p)
adds p to the node's logOdds value (with no boundary / threshold checking!)
Definition: OcTreeNode.cpp:91
void printUsage(char *self)
Definition: test_scans.cpp:10
#define OCTOMAP_ERROR_STR(args)
Definition: octomap_types.h:79
virtual size_t size() const =0
std::ostream & write(std::ostream &s) const
Definition: Vector3.cpp:78
void clear()
Deletes the complete tree structure.
Definition: OcTreeBaseImpl.hxx:512
Quaternion operator*(const Quaternion &other) const
Quaternion multiplication.
Definition: Quaternion.cpp:219
static void registerTreeType(AbstractOcTree *tree)
Definition: AbstractOcTree.cpp:205
size_t getNumLeafNodes() const
Traverses the tree to calculate the total number of leaf nodes.
Definition: OcTreeBaseImpl.hxx:1086
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT
Definition: LICENSE.txt:25
A connection between two ScanNodes.
Definition: ScanGraph.h:82
int main(int argc, char **argv)
Definition: eval_octree_accuracy.cpp:60
double getProbMiss() const
Definition: AbstractOccupancyOcTree.h:208
Color getColor() const
Definition: ColorOcTree.h:80
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES
Definition: LICENSE.txt:22
tree_iterator begin_tree(unsigned char maxDepth=0) const
Definition: OcTreeBaseImpl.h:348
std::list< octomath::Vector3 > point3d_list
Definition: octomap_types.h:54
void minDist(double thres)
Definition: Pointcloud.cpp:194
int main(int, char **)
Definition: test_color_tree.cpp:20
#define OCTOMAP_WARNING(...)
Definition: octomap_types.h:76
std::ostream & write(std::ostream &s) const
Output operator.
Definition: Pose6D.cpp:131
Pointcloud()
Definition: Pointcloud.cpp:57
Definition: OcTreeBase.h:44
int main(int argc, char **argv)
Definition: test_scans.cpp:16
float & u()
Definition: Quaternion.h:178
An Octree-node which stores an internal counter per node / volume.
Definition: CountingOcTree.h:53
int main(int, char **)
Definition: intersection_example.cpp:43
bool write(std::string filename)
Definition: MapCollection.hxx:230
std::vector< ScanEdge * >::const_iterator const_edge_iterator
Definition: ScanGraph.h:184
bool isColorSet() const
Definition: ColorOcTree.h:89
KeyBoolMap::const_iterator changedKeysEnd() const
Iterator to traverse all keys of changed nodes.
Definition: OccupancyOcTreeBase.h:366
void compareResults(const std::list< OcTreeVolume > &list_iterator, const std::list< OcTreeVolume > &list_depr)
compare two lists of octree nodes on equality
Definition: test_iterators.cpp:98
void updateInnerOccupancyRecurs(ColorOcTreeNode *node, unsigned int depth)
Definition: ColorOcTree.cpp:192
CountingOcTreeNode * createNodeChild(CountingOcTreeNode *node, unsigned int childIdx)
Creates (allocates) the i-th child of the node.
Definition: OcTreeBaseImpl.hxx:173
float & y()
Definition: Vector3.h:136
void getCentersMinHits(point3d_list &node_centers, unsigned int min_hits) const
Definition: CountingOcTree.cpp:94
void enableChangeDetection(bool enable)
track or ignore changes while inserting scans (default: ignore)
Definition: OccupancyOcTreeBase.h:353
ScanNode * addNode(Pointcloud *scan, pose6d pose)
Creates a new ScanNode in the graph from a Pointcloud.
Definition: ScanGraph.cpp:179
ScanEdge * addEdge(ScanNode *first, ScanNode *second, pose6d constraint)
Creates an edge between two ScanNodes.
Definition: ScanGraph.cpp:191
iterator begin()
Definition: Pointcloud.h:100
size_t tree_size
number of nodes in tree flag to denote whether the octree extent changed (for lazy min/max eval)
Definition: OcTreeBaseImpl.h:550
Quaternion & rot()
Rotational component.
Definition: Pose6D.h:88
void writeColorHistogram(std::string filename)
Definition: ColorOcTree.cpp:208
void print_query_info(point3d query, ColorOcTreeNode *node)
Definition: test_color_tree.cpp:9
Interface class for all octree types that store occupancy.
Definition: AbstractOccupancyOcTree.h:52
void printUsage(char *self)
Definition: octree2pointcloud.cpp:45
float data[4]
Definition: Quaternion.h:194
AbstractOcTree()
Definition: AbstractOcTree.cpp:41
std::ostream & writeBinary(std::ostream &s) const
Definition: ScanGraph.cpp:106
#define M_PI
Definition: Utils.h:38
std::ostream & writeBinary(std::ostream &s) const
Definition: ScanGraph.cpp:328
ColorOcTreeNode::Color getAverageChildColor() const
Definition: ColorOcTree.cpp:54
void increaseCount()
Definition: CountingOcTree.h:61
void transformScans()
Transform every scan according to its pose.
Definition: ScanGraph.cpp:311
T getValue() const
Definition: OcTreeDataNode.h:103
Pose6D & inv_IP()
Inversion.
Definition: Pose6D.cpp:78
void printUsage(char *self)
Definition: bt2vrml.cpp:44
double getMeanChildLogOdds() const
Definition: OcTreeNode.cpp:58
void printUsage(char *self)
Definition: graph2tree.cpp:45
std::istream & readNodePosesASCII(std::istream &s)
Definition: ScanGraph.cpp:556
void outputStatistics(const OcTree *tree)
Definition: graph2tree.cpp:89
std::vector< ScanEdge * > edges
Definition: ScanGraph.h:225
std::ostream & writeASCII(std::ostream &s) const
Definition: ScanGraph.cpp:134
OcTree * generateSphereTree(point3d origin, float radius)
Definition: test_mapcollection.cpp:11
const iterator end() const
Definition: OcTreeBaseImpl.h:329
NODE * getRoot() const
Definition: OcTreeBaseImpl.h:179
int main(int argc, char **argv)
Definition: edit_octree.cpp:45
virtual CountingOcTreeNode * updateNode(const point3d &value)
Definition: CountingOcTree.cpp:57
static AbstractOcTree * read(const std::string &filename)
Read the file header, create the appropriate class and deserialize.
Definition: AbstractOcTree.cpp:74
void printUsage(char *self)
Definition: eval_octree_accuracy.cpp:45
unsigned int getTimestamp() const
Definition: OcTreeStamped.h:62
void operator/=(float x)
Definition: Quaternion.cpp:107
double weight
Definition: ScanGraph.h:105
void degradeOutdatedNodes(unsigned int time_thres)
Definition: OcTreeStamped.cpp:49
point3d_collection::const_iterator const_iterator
Definition: Pointcloud.h:99
double getOccupancy() const
Definition: OcTreeNode.h:65
ColorOcTreeNode * setNodeColor(const OcTreeKey &key, uint8_t r, uint8_t g, uint8_t b)
Definition: ColorOcTree.cpp:96
Tables used by the Marching Cubes Algorithm The tables are from Paul Bourke's web page http://paulbou...
const float & operator()(unsigned int i) const
Definition: Vector3.h:122
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...
void computeChildKey(unsigned int pos, key_type center_offset_key, const OcTreeKey &parent_key, OcTreeKey &child_key)
Computes the key of a child node while traversing the octree, given child index and current key.
Definition: OcTreeKey.h:193
bool operator!=(const Pose6D &other) const
Definition: Pose6D.cpp:120
std::istream & readBinary(std::istream &s)
Definition: Quaternion.cpp:279
This class represents a tree-dimensional pose of an object.
Definition: Pose6D.h:49
AbstractOcTreeNode ** children
pointer to array of children, may be NULL
Definition: OcTreeDataNode.h:126
float & z()
Definition: Quaternion.h:181
bool coordToKeyChecked(const point3d &coord, OcTreeKey &key) const
Converts a 3D coordinate into a 3D OcTreeKey, with boundary checking.
Definition: OcTreeBaseImpl.hxx:340
Pointcloud * scan
Definition: ScanGraph.h:73
void transformAbsolute(pose6d transform)
Apply transform to each point, undo previous transforms.
Definition: Pointcloud.cpp:113
void cropEachScan(point3d lowerBound, point3d upperBound)
Cut Pointclouds to given BBX in local coords.
Definition: ScanGraph.cpp:588
void integrateMissNoTime(OcTreeNodeStamped *node) const
Definition: OcTreeStamped.cpp:66
Pose6D & operator=(const Pose6D &other)
Definition: Pose6D.cpp:63
Quaternion operator*(const Vector3 &v, const Quaternion &q)
Definition: Quaternion.cpp:230
std::istream & readData(std::istream &s)
Read all nodes from the input stream (without file header), for this the tree needs to be already cre...
Definition: OcTreeBaseImpl.hxx:801
virtual void updateNodeLogOdds(OcTreeNodeStamped *node, const float &update) const
update logodds value of node by adding to the current value.
Definition: OcTreeStamped.cpp:61
uint8_t r
Definition: ColorOcTree.h:63
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary forms
Definition: LICENSE.txt:9
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS;OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY
virtual void toMaxLikelihood()=0
float & z()
Definition: Vector3.h:141
bool getNormals(const point3d &point, std::vector< point3d > &normals, bool unknownStatus=true) const
Performs a step of the marching cubes surface reconstruction algorithm to retrieve the normal of the ...
Definition: OccupancyOcTreeBase.hxx:551
double distance(const Pose6D &other) const
Translational distance.
Definition: Pose6D.cpp:103
octomath::Vector3 point3d
Use Vector3 (float precision) as a point3d in octomap.
Definition: octomap_types.h:49
Quaternion & operator=(const Quaternion &other)
Definition: Quaternion.cpp:211
std::vector< ScanNode * >::iterator iterator
Definition: ScanGraph.h:173
std::istream & read(std::istream &s)
Input operator.
Definition: Pose6D.cpp:124
float & x()
Definition: Vector3.h:131
int main(int argc, char **argv)
Definition: test_io.cpp:14
uint8_t g
Definition: ColorOcTree.h:63
Quaternion & inv_IP()
Inversion.
Definition: Quaternion.cpp:248
size_t size() const
Definition: Pointcloud.h:57
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are this list of conditions and the following disclaimer *Redistributions in binary form must reproduce the above copyright this list of conditions and the following disclaimer in the documentation and or other materials provided with the distribution *Neither the name of the University of Freiburg nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED BUT NOT LIMITED TO
Definition: LICENSE.txt:22
This class represents a Quaternion.
Definition: Quaternion.h:56
void swapContent(OcTreeBaseImpl< NODE, INTERFACE > &rhs)
Swap contents of two octrees, i.e., only the underlying pointer / tree structure.
Definition: OcTreeBaseImpl.hxx:114
std::vector< unsigned int > getNeighborIDs(unsigned int id)
Definition: ScanGraph.cpp:272
#define EXPECT_EQ(a, b)
Definition: testing.h:16
virtual void insertPointCloudRays(const Pointcloud &scan, const point3d &sensor_origin, double maxrange=-1., bool lazy_eval=false)
Integrate a Pointcloud (in global reference frame), parallelized with OpenMP.
Definition: OccupancyOcTreeBase.hxx:116
#define EXPECT_FALSE(args)
Definition: testing.h:11
iterator end()
Definition: Pointcloud.h:101
leaf_bbx_iterator begin_leafs_bbx(const OcTreeKey &min, const OcTreeKey &max, unsigned char maxDepth=0) const
Definition: OcTreeBaseImpl.h:337
Pose6D inv() const
Inversion.
Definition: Pose6D.cpp:70
std::istream & readData(std::istream &s)
Definition: ColorOcTree.cpp:47
void crop(point3d lowerBound, point3d upperBound)
Cut graph (all containing Pointclouds) to given BBX in global coords.
Definition: ScanGraph.cpp:596
virtual void expandNode(NODE *node)
Expands a node (reverse of pruning): All children are created and their occupancy probability is set ...
Definition: OcTreeBaseImpl.hxx:257
int main(int, char **)
Definition: normals_example.cpp:52
virtual void setResolution(double res)=0
float prob_miss_log
Definition: AbstractOccupancyOcTree.h:232
OctoMap An Efficient Probabilistic Mapping Framework Based on Octrees License for the octomap K M Wurm and A University of Freiburg All rights reserved Redistribution and use in source and binary with or without are permitted provided that the following conditions are met
Definition: LICENSE.txt:13
octomath::Pose6D pose6d
Use our Pose6D (float precision) as pose6d in octomap.
Definition: octomap_types.h:51
double transLength() const
Translational length.
Definition: Pose6D.cpp:110
bool writeBinary(const std::string &filename)
Writes OcTree to a binary file using writeBinary().
Definition: AbstractOccupancyOcTree.cpp:50
Definition: OcTreeStamped.h:78
unsigned int getTreeDepth() const
Definition: OcTreeBaseImpl.h:111
Vector3 & trans()
Translational component.
Definition: Pose6D.h:82
std::istream & readBinary(std::ifstream &s)
Definition: ScanGraph.cpp:369
std::vector< ScanEdge * >::iterator edge_iterator
Definition: ScanGraph.h:183
Definition: ColorOcTree.h:52
void calcThresholdedNodes(const OcTree *tree, unsigned int &num_thresholded, unsigned int &num_other)
Definition: graph2tree.cpp:74