include
octomap
OcTree.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_H
35
#define OCTOMAP_OCTREE_H
36
37
38
#include "
OccupancyOcTreeBase.h
"
39
#include "
OcTreeNode.h
"
40
#include "
ScanGraph.h
"
41
42
namespace
octomap
{
43
49
class
OcTree
:
public
OccupancyOcTreeBase
<OcTreeNode> {
50
51
public
:
53
OcTree
(
double
resolution
);
54
60
OcTree
(std::string _filename);
61
62
virtual
~OcTree
(){}
63
66
OcTree
*
create
()
const
{
return
new
OcTree
(
resolution
); }
67
68
std::string
getTreeType
()
const
{
return
"OcTree"
;}
69
70
71
protected
:
79
class
StaticMemberInitializer
{
80
public
:
81
StaticMemberInitializer
() {
82
OcTree
* tree =
new
OcTree
(0.1);
83
tree->
clearKeyRays
();
84
AbstractOcTree::registerTreeType
(tree);
85
}
86
92
void
ensureLinking
() {}
93
};
94
96
static
StaticMemberInitializer
ocTreeMemberInit
;
97
};
98
99
}
// end namespace
100
101
#endif
octomap::OccupancyOcTreeBase
Definition:
OccupancyOcTreeBase.h:69
octomap::OcTree::StaticMemberInitializer
Definition:
OcTree.h:79
octomap::OcTree::create
OcTree * create() const
Definition:
OcTree.h:66
octomap::OcTree::OcTree
OcTree(double resolution)
Default constructor, sets resolution of leafs.
Definition:
OcTree.cpp:39
octomap::OcTree::ocTreeMemberInit
static StaticMemberInitializer ocTreeMemberInit
to ensure static initialization (only once)
Definition:
OcTree.h:96
octomap::OcTree
Definition:
OcTree.h:49
octomap::OcTree::getTreeType
std::string getTreeType() const
returns actual class name as string for identification
Definition:
OcTree.h:68
OcTreeNode.h
octomap::OcTree::~OcTree
virtual ~OcTree()
Definition:
OcTree.h:62
octomap::OcTree::StaticMemberInitializer::ensureLinking
void ensureLinking()
Definition:
OcTree.h:92
octomap::AbstractOcTree::registerTreeType
static void registerTreeType(AbstractOcTree *tree)
Definition:
AbstractOcTree.cpp:205
OccupancyOcTreeBase.h
octomap
octomap::OcTreeBaseImpl< OcTreeNode, AbstractOccupancyOcTree >::resolution
double resolution
in meters
Definition:
OcTreeBaseImpl.h:547
octomap::OcTreeBaseImpl::clearKeyRays
void clearKeyRays()
Definition:
OcTreeBaseImpl.h:120
ScanGraph.h
octomap::OcTree::StaticMemberInitializer::StaticMemberInitializer
StaticMemberInitializer()
Definition:
OcTree.h:81
octomap
Author(s): Kai M. Wurm
, Armin Hornung
autogenerated on Tue Dec 12 2023 03:39:40