src
log2graph.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/octomap.h
>
35
#include <string.h>
36
#include <stdlib.h>
37
38
using namespace
std;
39
using namespace
octomap
;
40
41
void
printUsage
(
char
*
self
){
42
std::cerr <<
"\nUSAGE: "
<<
self
<<
" InputFile.log OutputFile.graph\n\n"
;
43
44
std::cerr <<
"This tool converts a plain text log file into a binary scangraph file"
<< std::endl;
45
std::cerr <<
"which can be used in Octomap.\n\n"
;
46
std::cerr <<
"The log file needs to be in the format of:\n"
47
<<
"NODE x y z roll pitch yaw\n"
48
<<
"x y z\nx y z\n...\n"
49
<<
"NODE x y z roll pitch yaw\n"
50
<<
"x y z\n...\n\n"
51
<<
"Lines starting with '#' or empty lines are ignored.\n\n"
;
52
53
exit(0);
54
}
55
56
int
main
(
int
argc,
char
** argv) {
57
// default values:
58
string
logFilename =
""
;
59
string
graphFilename =
""
;
60
61
62
if
(argc != 3){
63
printUsage
(argv[0]);
64
}
else
{
65
logFilename = std::string(argv[1]);
66
graphFilename = std::string(argv[2]);
67
}
68
69
cout <<
"\nReading Log file\n===========================\n"
;
70
ScanGraph
* graph =
new
ScanGraph
();
71
graph->
readPlainASCII
(logFilename);
72
73
cout <<
"\nWriting binary graph file\n===========================\n"
;
74
75
graph->
writeBinary
(graphFilename);
76
77
return
0;
78
}
printUsage
void printUsage(char *self)
Definition:
log2graph.cpp:41
octomap::ScanGraph::readPlainASCII
std::istream & readPlainASCII(std::istream &s)
Definition:
ScanGraph.cpp:436
octomap::ScanGraph
Definition:
ScanGraph.h:114
main
int main(int argc, char **argv)
Definition:
log2graph.cpp:56
octomap.h
octomap::ScanGraph::writeBinary
std::ostream & writeBinary(std::ostream &s) const
Definition:
ScanGraph.cpp:328
octomap
octomap
Author(s): Kai M. Wurm
, Armin Hornung
autogenerated on Tue Dec 12 2023 03:39:40