src
offset_graph.cpp
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
#include "
octomap.h
"
35
#include <string.h>
36
#include <stdlib.h>
37
#include <stdio.h>
38
39
using namespace
std;
40
using namespace
octomap
;
41
using namespace
octomath
;
42
43
int
main
(
int
argc,
char
** argv) {
44
45
if
(argc != 4) {
46
printf(
"usage: in.graph offset out.graph\n"
);
47
exit(0);
48
}
49
50
ScanGraph
* graph =
new
ScanGraph
();
51
graph->
readBinary
(argv[1]);
52
53
double
offset = atof(argv[2]);
54
Pose6D
trans(0,0,-offset,0,0,0);
55
56
for
(
ScanGraph::iterator
scan_it = graph->
begin
(); scan_it != graph->
end
(); scan_it++) {
57
(*scan_it)->scan->transform(trans);
58
(*scan_it)->pose *= trans.
inv
();
59
}
60
61
graph->
writeBinary
(argv[3]);
62
63
return
0;
64
}
octomap::ScanGraph
Definition:
ScanGraph.h:114
octomap::ScanGraph::end
iterator end()
Definition:
ScanGraph.h:176
octomap::ScanGraph::begin
iterator begin()
Definition:
ScanGraph.h:175
octomath
main
int main(int argc, char **argv)
Definition:
offset_graph.cpp:43
octomap.h
octomap::ScanGraph::writeBinary
std::ostream & writeBinary(std::ostream &s) const
Definition:
ScanGraph.cpp:328
octomap
octomath::Pose6D
This class represents a tree-dimensional pose of an object.
Definition:
Pose6D.h:49
octomap::ScanGraph::iterator
std::vector< ScanNode * >::iterator iterator
Definition:
ScanGraph.h:173
octomath::Pose6D::inv
Pose6D inv() const
Inversion.
Definition:
Pose6D.cpp:70
octomap::ScanGraph::readBinary
std::istream & readBinary(std::ifstream &s)
Definition:
ScanGraph.cpp:369
octomap
Author(s): Kai M. Wurm
, Armin Hornung
autogenerated on Tue Dec 12 2023 03:39:40