Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
Functions
Variables
Typedefs
Classes
Class List
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
g
i
k
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
w
Typedefs
Related Functions
Files
File List
File Members
All
b
c
d
e
g
m
o
p
r
t
Functions
b
c
g
m
o
p
t
Macros
include
octomap
OcTreeDataNode.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_DATA_NODE_H
35
#define OCTOMAP_OCTREE_DATA_NODE_H
36
37
38
#include "
octomap_types.h
"
39
#include "assert.h"
40
41
namespace
octomap
{
42
43
class
AbstractOcTreeNode
{
44
45
46
};
47
48
// forward declaration for friend in OcTreeDataNode
49
template
<
typename
NODE,
typename
I>
class
OcTreeBaseImpl
;
50
63
template
<
typename
T>
class
OcTreeDataNode
:
public
AbstractOcTreeNode
{
64
template
<
typename
NODE,
typename
I>
65
friend
class
OcTreeBaseImpl
;
66
67
public
:
68
69
OcTreeDataNode
();
70
OcTreeDataNode
(T initVal);
71
74
OcTreeDataNode
(
const
OcTreeDataNode
& rhs);
75
78
~OcTreeDataNode
();
79
82
void
copyData
(
const
OcTreeDataNode
& from);
83
85
bool
operator==
(
const
OcTreeDataNode
& rhs)
const
;
86
87
88
89
90
91
// -- children ----------------------------------
92
96
OCTOMAP_DEPRECATED
(
bool
childExists(
unsigned
int
i)
const
);
97
100
OCTOMAP_DEPRECATED
(
bool
hasChildren()
const
);
101
103
T
getValue
()
const
{
return
value
;}
105
void
setValue
(T v) {
value
= v;}
106
107
// file IO:
108
110
std::istream&
readData
(std::istream &s);
111
113
std::ostream&
writeData
(std::ostream &s)
const
;
114
115
117
typedef
T
DataType
;
118
119
120
protected
:
121
void
allocChildren
();
122
126
AbstractOcTreeNode
**
children
;
128
T
value
;
129
130
};
131
132
133
}
// end namespace
134
135
#include "octomap/OcTreeDataNode.hxx"
136
137
#endif
octomap::OcTreeBaseImpl
Definition:
OcTreeBaseImpl.h:75
octomap::OcTreeDataNode
Definition:
OcTreeDataNode.h:63
octomap::OcTreeDataNode::value
T value
stored data (payload)
Definition:
OcTreeDataNode.h:128
octomap::OcTreeDataNode::setValue
void setValue(T v)
sets value to be stored in the node
Definition:
OcTreeDataNode.h:105
octomap::AbstractOcTreeNode
Definition:
OcTreeDataNode.h:43
octomap::OcTreeDataNode::copyData
void copyData(const OcTreeDataNode &from)
octomap::OcTreeDataNode::~OcTreeDataNode
~OcTreeDataNode()
octomap_types.h
octomap::OcTreeDataNode::DataType
T DataType
Make the templated data type available from the outside.
Definition:
OcTreeDataNode.h:117
octomap::OcTreeDataNode::readData
std::istream & readData(std::istream &s)
Read node payload (data only) from binary stream.
octomap::OcTreeDataNode::OCTOMAP_DEPRECATED
OCTOMAP_DEPRECATED(bool childExists(unsigned int i) const)
octomap::OcTreeDataNode::getValue
T getValue() const
Definition:
OcTreeDataNode.h:103
octomap::OcTreeDataNode::writeData
std::ostream & writeData(std::ostream &s) const
Write node payload (data only) to binary stream.
octomap::OcTreeDataNode::operator==
bool operator==(const OcTreeDataNode &rhs) const
Equals operator, compares if the stored value is identical.
octomap
octomap::OcTreeDataNode::OcTreeDataNode
OcTreeDataNode()
octomap::OcTreeDataNode::children
AbstractOcTreeNode ** children
Definition:
OcTreeDataNode.h:126
octomap::OcTreeDataNode::allocChildren
void allocChildren()
octomap
Author(s): Kai M. Wurm
, Armin Hornung
autogenerated on Tue Dec 12 2023 03:39:40