You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: dynamicEDT3D/include/dynamicEDT3D/dynamicEDTOctomap.h
+17-10
Original file line number
Diff line number
Diff line change
@@ -40,36 +40,38 @@
40
40
41
41
#include"dynamicEDT3D.h"
42
42
#include<octomap/OcTree.h>
43
+
#include<octomap/OcTreeStamped.h>
43
44
44
-
/// A DynamicEDTOctomap object connects a DynamicEDT3D object to an octomap.
45
-
classDynamicEDTOctomap: privateDynamicEDT3D {
45
+
/// A DynamicEDTOctomapBase object connects a DynamicEDT3D object to an octomap.
46
+
template <classTREE>
47
+
classDynamicEDTOctomapBase: privateDynamicEDT3D {
46
48
public:
47
-
/** Create a DynamicEDTOctomap object that maintains a distance transform in the bounding box given by bbxMin, bbxMax and clamps distances at maxdist.
49
+
/** Create a DynamicEDTOctomapBase object that maintains a distance transform in the bounding box given by bbxMin, bbxMax and clamps distances at maxdist.
48
50
* treatUnknownAsOccupied configures the treatment of unknown cells in the distance computation.
49
51
*
50
52
* The constructor copies occupancy data but does not yet compute the distance map. You need to call udpate to do this.
51
53
*
52
54
* The distance map is maintained in a full three-dimensional array, i.e., there exists a float field in memory for every voxel inside the bounding box given by bbxMin and bbxMax. Consider this when computing distance maps for large octomaps, they will use much more memory than the octomap itself!
///trigger updating of the distance map. This will query the octomap for the set of changes since the last update.
59
61
///If you set updateRealDist to false, computations will be faster (square root will be omitted), but you can only retrieve squared distances
60
62
virtualvoidupdate(bool updateRealDist=true);
61
63
62
64
///retrieves distance and closestObstacle (closestObstacle is to be discarded if distance is maximum distance, the method does not write closestObstacle in this case).
63
-
///Returns DynamicEDTOctomap::distanceValue_Error if point is outside the map.
65
+
///Returns DynamicEDTOctomapBase::distanceValue_Error if point is outside the map.
//variant of getDistanceAndClosestObstacle that ommits the check whether p is inside the area of the distance map. Use only if you are certain that p is covered by the distance map and if you need to save the time of the check.
@@ -111,7 +113,7 @@ class DynamicEDTOctomap: private DynamicEDT3D {
111
113
voidmapToWorld(int x, int y, int z, octomap::point3d &p) const;
112
114
voidmapToWorld(int x, int y, int z, octomap::OcTreeKey &key) const;
113
115
114
-
octomap::OcTree* octree;
116
+
TREE* octree;
115
117
bool unknownOccupied;
116
118
int treeDepth;
117
119
double treeResolution;
@@ -120,4 +122,9 @@ class DynamicEDTOctomap: private DynamicEDT3D {
0 commit comments