octomap
1.9.8
Toggle main menu visibility
Loading...
Searching...
No Matches
OcTreeNode.h
Go to the documentation of this file.
1
/*
2
* OctoMap - An Efficient Probabilistic 3D Mapping Framework Based on Octrees
3
* https://octomap.github.io/
4
*
5
* Copyright (c) 2009-2013, K.M. Wurm and A. Hornung, University of Freiburg
6
* All rights reserved.
7
* License: New BSD
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions are met:
11
*
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the distribution.
17
* * Neither the name of the University of Freiburg nor the names of its
18
* contributors may be used to endorse or promote products derived from
19
* this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
* POSSIBILITY OF SUCH DAMAGE.
32
*/
33
34
#ifndef OCTOMAP_OCTREE_NODE_H
35
#define OCTOMAP_OCTREE_NODE_H
36
37
#include "
octomap_types.h
"
38
#include "
octomap_utils.h
"
39
#include "
OcTreeDataNode.h
"
40
#include <limits>
41
42
namespace
octomap
{
43
55
class
OcTreeNode
:
public
OcTreeDataNode
<float> {
56
57
public
:
58
OcTreeNode
();
59
~OcTreeNode
();
60
61
62
// -- node occupancy ----------------------------
63
65
inline
double
getOccupancy
()
const
{
return
probability
(
value
); }
66
68
inline
float
getLogOdds
()
const
{
return
value
; }
70
inline
void
setLogOdds
(
float
l) {
value
= l; }
71
75
double
getMeanChildLogOdds
()
const
;
76
80
float
getMaxChildLogOdds
()
const
;
81
83
inline
void
updateOccupancyChildren
() {
84
this->
setLogOdds
(this->
getMaxChildLogOdds
());
// conservative
85
}
86
88
void
addValue
(
const
float
& p);
89
90
91
protected
:
92
// "value" stores log odds occupancy probability
93
};
94
95
}
// end namespace
96
97
#endif
OcTreeDataNode.h
octomap::OcTreeDataNode< float >::value
float value
Definition
OcTreeDataNode.h:128
octomap::OcTreeDataNode< float >::OcTreeDataNode
OcTreeDataNode()
Definition
OcTreeDataNode.hxx:37
octomap::OcTreeNode::updateOccupancyChildren
void updateOccupancyChildren()
update this node's occupancy according to its children's maximum occupancy
Definition
OcTreeNode.h:83
octomap::OcTreeNode::getMaxChildLogOdds
float getMaxChildLogOdds() const
Definition
OcTreeNode.cpp:76
octomap::OcTreeNode::getLogOdds
float getLogOdds() const
Definition
OcTreeNode.h:68
octomap::OcTreeNode::setLogOdds
void setLogOdds(float l)
sets log odds occupancy of node
Definition
OcTreeNode.h:70
octomap::OcTreeNode::getOccupancy
double getOccupancy() const
Definition
OcTreeNode.h:65
octomap::OcTreeNode::OcTreeNode
OcTreeNode()
Definition
OcTreeNode.cpp:45
octomap::OcTreeNode::addValue
void addValue(const float &p)
adds p to the node's logOdds value (with no boundary / threshold checking!)
Definition
OcTreeNode.cpp:91
octomap::OcTreeNode::getMeanChildLogOdds
double getMeanChildLogOdds() const
Definition
OcTreeNode.cpp:58
octomap
Namespace the OctoMap library and visualization tools.
octomap::probability
double probability(double logodds)
compute probability from logodds:
Definition
octomap_utils.h:47
octomap_types.h
octomap_utils.h
include
octomap
OcTreeNode.h
Generated on
for octomap by
1.18.0