ArVizDrawerMapBuilder.h
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @author Fabian Reister ( fabian dot reister at kit dot edu )
17
* @date 2021
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <Eigen/Geometry>
25
26
#include <
ArmarXCore/core/services/tasks/RunningTask.h
>
27
28
#include <
RobotAPI/components/ArViz/Client/ScopedClient.h
>
29
30
namespace
cartographer::mapping
31
{
32
class
MapBuilderInterface;
33
}
// namespace cartographer::mapping
34
35
namespace
armarx::localization_and_mapping::cartographer_adapter
36
{
37
38
/**
39
* @brief The ArVizDrawerMapBuilder class.
40
*
41
* Draws
42
* - the pose graph
43
* - the occupancy grid map
44
* - the frames (global & map)
45
*/
46
class
ArVizDrawerMapBuilder
// : public armarx::viz::ScopedClient
47
{
48
49
public
:
50
ArVizDrawerMapBuilder
(
armarx::viz::Client
& arviz,
51
::cartographer::mapping::MapBuilderInterface& mapBuilder,
52
const
Eigen::Isometry3f& world_T_map);
53
~ArVizDrawerMapBuilder
();
54
55
// Call this method for periodic map visualization.
56
// Internally, it starts a periodic task for the drawOnce method.
57
void
startMappingVisu
();
58
59
// Call this method if you only want to visualize, e.g., a recorded map once
60
void
drawOnce
();
61
62
private
:
63
void
run();
64
65
armarx::viz::Client
& arviz;
66
67
void
drawOptimizedPoseGraph();
68
void
drawGridMap();
69
void
drawFrames();
70
71
::cartographer::mapping::MapBuilderInterface& mapBuilder;
72
73
RunningTask<ArVizDrawerMapBuilder>::pointer_type
runningTask;
74
75
const
Eigen::Isometry3f world_T_map;
76
};
77
78
79
}
// namespace armarx::localization_and_mapping::cartographer_adapter
armarx::localization_and_mapping::cartographer_adapter::ArVizDrawerMapBuilder::drawOnce
void drawOnce()
Definition:
ArVizDrawerMapBuilder.cpp:137
ScopedClient.h
armarx::localization_and_mapping::cartographer_adapter::ArVizDrawerMapBuilder
The ArVizDrawerMapBuilder class.
Definition:
ArVizDrawerMapBuilder.h:46
RunningTask.h
armarx::localization_and_mapping::cartographer_adapter::ArVizDrawerMapBuilder::ArVizDrawerMapBuilder
ArVizDrawerMapBuilder(armarx::viz::Client &arviz, ::cartographer::mapping::MapBuilderInterface &mapBuilder, const Eigen::Isometry3f &world_T_map)
Definition:
ArVizDrawerMapBuilder.cpp:99
armarx::localization_and_mapping::cartographer_adapter::ArVizDrawerMapBuilder::startMappingVisu
void startMappingVisu()
Definition:
ArVizDrawerMapBuilder.cpp:112
armarx::localization_and_mapping::cartographer_adapter::ArVizDrawerMapBuilder::~ArVizDrawerMapBuilder
~ArVizDrawerMapBuilder()
Definition:
ArVizDrawerMapBuilder.cpp:118
cartographer::mapping
Definition:
ArVizDrawer.h:40
armarx::localization_and_mapping::cartographer_adapter
This file is part of ArmarX.
Definition:
ApproximateTimeQueue.cpp:15
IceUtil::Handle
Definition:
forward_declarations.h:30
armarx::viz::Client
Definition:
Client.h:117
armarx
localization_and_mapping
cartographer_adapter
ArVizDrawerMapBuilder.h
Generated by
1.8.17