Main Page
Classes
Class List
Class Hierarchy
Class Members
All
a
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
w
~
Functions
a
c
d
e
f
g
i
k
l
o
p
r
s
t
u
w
~
Variables
a
c
d
l
m
n
o
p
r
s
t
Typedefs
Files
File List
File Members
All
Functions
src
octree_stamped_native_ros.cpp
Go to the documentation of this file.
1
/******************************************************************************
2
* *
3
* octree_stamped_native_ros.cpp *
4
* ============================= *
5
* *
6
*******************************************************************************
7
* *
8
* Repository: *
9
* https://github.com/TUC-ProAut/ros_octomap *
10
* *
11
* Chair of Automation Technology, Technische Universität Chemnitz *
12
* https://www.tu-chemnitz.de/etit/proaut *
13
* *
14
* Author: *
15
* Peter Weissig *
16
* *
17
*******************************************************************************
18
* *
19
* New BSD License *
20
* *
21
* Copyright (c) 2015-2021 TU Chemnitz *
22
* All rights reserved. *
23
* *
24
* Redistribution and use in source and binary forms, with or without *
25
* modification, are permitted provided that the following conditions are met: *
26
* * Redistributions of source code must retain the above copyright notice, *
27
* this list of conditions and the following disclaimer. *
28
* * Redistributions in binary form must reproduce the above copyright *
29
* notice, this list of conditions and the following disclaimer in the *
30
* documentation and/or other materials provided with the distribution. *
31
* * Neither the name of the copyright holder nor the names of its *
32
* contributors may be used to endorse or promote products derived from *
33
* this software without specific prior written permission. *
34
* *
35
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
36
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
37
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR *
38
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR *
39
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
40
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
41
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
42
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, *
43
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR *
44
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
45
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
46
* *
47
******************************************************************************/
48
49
// local headers
50
#include "
octomap_pa/octree_stamped_native_ros.h
"
51
52
// standard headers
53
#include <string>
54
#include <sstream>
55
#include <vector>
56
57
//**************************[cOctreeStampedNativeRos]**************************
58
cOctreeStampedNativeRos::cOctreeStampedNativeRos
(
const
double
resolution) :
59
TreeTypeBase
(resolution) {
60
61
}
62
63
//**************************[~cOctreeStampedNativeRos]*************************
64
cOctreeStampedNativeRos::~cOctreeStampedNativeRos
() {
65
}
66
67
//**************************[degradeOutdatedNodes]*****************************
68
void
cOctreeStampedNativeRos::degradeOutdatedNodes
() {
69
70
::octomap::OcTreeStamped::degradeOutdatedNodes(
71
(
unsigned
int
)
rosparams_
.
degrading_time_
);
72
}
73
74
//**************************[checkDegrading]***********************************
75
void
cOctreeStampedNativeRos::checkDegrading
() {
76
77
if
(!
rosparams_
.
auto_degrading_
) {
78
return
;
79
}
80
81
// check if interval is reached
82
if
(
getOutputTime
() -
last_degrading_time_
>
83
ros::Duration
(
rosparams_
.
auto_degrading_intervall_
)) {
84
last_degrading_time_
=
getOutputTime
();
85
86
degradeOutdatedNodes
();
87
}
88
}
octree_stamped_native_ros.h
cOctreeStampedPaRosParameter::auto_degrading_intervall_
double auto_degrading_intervall_
intervall for automatic degrading (2.0s)
Definition:
octree_stamped_pa_ros_parameter.h:116
cOctreeStampedPaRosParameter::auto_degrading_
bool auto_degrading_
turns on automatic degrading (true)
Definition:
octree_stamped_pa_ros_parameter.h:113
cOctreeBasePaRos
Definition:
octree_base_pa_ros.h:78
cOctreeStampedNativeRos::rosparams_
cOctreeStampedPaRosParameter rosparams_
parameters
Definition:
octree_stamped_native_ros.h:125
cOctreeStampedNativeRos::last_degrading_time_
ros::Time last_degrading_time_
Definition:
octree_stamped_native_ros.h:128
cOctreeStampedNativeRos::checkDegrading
void checkDegrading(void)
helper function for automatic degrading
Definition:
octree_stamped_native_ros.cpp:75
cOctreeStampedPaRosParameter::degrading_time_
double degrading_time_
duration how long the outdated nodes will be kept (60s)
Definition:
octree_stamped_pa_ros_parameter.h:110
cOctreeBasePaRos< octomap::OcTreeStamped >::getOutputTime
ros::Time getOutputTime(void) const
function for returning the time of output messages
cOctreeStampedNativeRos::~cOctreeStampedNativeRos
virtual ~cOctreeStampedNativeRos()
default destructor
Definition:
octree_stamped_native_ros.cpp:64
ros::Duration
cOctreeStampedNativeRos::degradeOutdatedNodes
void degradeOutdatedNodes(void)
degrading outdated nodes
Definition:
octree_stamped_native_ros.cpp:68
cOctreeStampedNativeRos::cOctreeStampedNativeRos
cOctreeStampedNativeRos(const double resolution)
default constructor
Definition:
octree_stamped_native_ros.cpp:58
octomap_pa
Author(s):
autogenerated on Wed Mar 2 2022 00:46:31