ArVizDrawer.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 <vector>
25
#include <set>
26
27
#include <VirtualRobot/BoundingBox.h>
28
29
#include <
RobotAPI/components/ArViz/Client/ScopedClient.h
>
30
#include <RobotAPI/interface/units/LaserScannerUnit.h>
31
32
#include "
ArmarXSimulation/components/LaserScannerSimulation/OccupancyGrid.h
"
33
#include "
RobotAPI/components/ArViz/Client/Elements.h
"
34
35
namespace
armarx::laser_scanner_simulation
36
{
37
class
ArVizDrawer
:
virtual
public
armarx::viz::ScopedClient
38
{
39
public
:
40
using
ScopedClient::ScopedClient;
41
42
void
drawBoundingBoxes
(
const
std::vector<VirtualRobot::BoundingBox>& boundingBoxes);
43
void
drawOccupancyGrid
(
const
OccupancyGrid
& grid,
float
boxPosZ);
44
45
void
prepareScan
(
const
LaserScan& scan,
const
std::string& frame,
const
Eigen::Affine3f& scannerPose);
46
void
drawScans
();
47
48
private
:
49
// as the set is ordered, laser scans will always have the same color
50
std::set<std::string> frames;
51
52
std::unordered_map<std::string, viz::PointCloud> clouds;
53
};
54
55
}
// namespace armarx::laser_scanner_simulation
armarx::laser_scanner_simulation::ArVizDrawer::drawBoundingBoxes
void drawBoundingBoxes(const std::vector< VirtualRobot::BoundingBox > &boundingBoxes)
Definition:
ArVizDrawer.cpp:35
armarx::laser_scanner_simulation::ArVizDrawer::prepareScan
void prepareScan(const LaserScan &scan, const std::string &frame, const Eigen::Affine3f &scannerPose)
Definition:
ArVizDrawer.cpp:193
armarx::armem::vision::OccupancyGrid
Definition:
types.h:36
armarx::laser_scanner_simulation::ArVizDrawer::drawOccupancyGrid
void drawOccupancyGrid(const OccupancyGrid &grid, float boxPosZ)
Definition:
ArVizDrawer.cpp:126
ScopedClient.h
armarx::viz::ScopedClient
viz::Client that will delete (clear) committed layers when destroyed.
Definition:
ScopedClient.h:42
Elements.h
armarx::laser_scanner_simulation
Definition:
ArVizDrawer.cpp:18
OccupancyGrid.h
armarx::laser_scanner_simulation::ArVizDrawer::drawScans
void drawScans()
Definition:
ArVizDrawer.cpp:213
armarx::laser_scanner_simulation::ArVizDrawer
Definition:
ArVizDrawer.h:37
ArmarXSimulation
components
LaserScannerSimulation
ArVizDrawer.h
Generated on Sat Oct 12 2024 09:14:04 for armarx_documentation by
1.8.17