submodules
mp2p_icp
mp2p_icp_filters
src
FilterDeleteLayer.cpp
Go to the documentation of this file.
1
/* -------------------------------------------------------------------------
2
* A repertory of multi primitive-to-primitive (MP2P) ICP algorithms in C++
3
* Copyright (C) 2018-2021 Jose Luis Blanco, University of Almeria
4
* See LICENSE for license information.
5
* ------------------------------------------------------------------------- */
13
#include <
mp2p_icp_filters/FilterDeleteLayer.h
>
14
#include <mrpt/containers/yaml.h>
15
16
IMPLEMENTS_MRPT_OBJECT
(
17
FilterDeleteLayer,
mp2p_icp_filters::FilterBase
,
mp2p_icp_filters
)
18
19
using namespace
mp2p_icp_filters
;
20
21
void
FilterDeleteLayer::Parameters::load_from_yaml
(
22
const
mrpt::containers::yaml& c)
23
{
24
MCP_LOAD_REQ(c,
pointcloud_layer_to_remove
);
25
MCP_LOAD_OPT(c,
error_on_missing_input_layer
);
26
}
27
28
FilterDeleteLayer::FilterDeleteLayer
() =
default
;
29
30
void
FilterDeleteLayer::initialize
(
const
mrpt::containers::yaml& c)
31
{
32
MRPT_START
33
34
MRPT_LOG_DEBUG_STREAM(
"Loading these params:\n"
<< c);
35
params_
.
load_from_yaml
(c);
36
37
MRPT_END
38
}
39
40
void
FilterDeleteLayer::filter
(
mp2p_icp::metric_map_t
& inOut)
const
41
{
42
MRPT_START
43
44
const
auto
nRemoved =
45
inOut.
layers
.erase(
params_
.
pointcloud_layer_to_remove
);
46
47
if
(
params_
.
error_on_missing_input_layer
)
48
{
49
ASSERTMSG_(
50
nRemoved != 0, mrpt::format(
51
"Point cloud layer '%s' was not found."
,
52
params_
.
pointcloud_layer_to_remove
.c_str()));
53
}
54
MRPT_END
55
}
mp2p_icp_filters::FilterDeleteLayer::Parameters::error_on_missing_input_layer
bool error_on_missing_input_layer
Definition:
FilterDeleteLayer.h:46
mp2p_icp_filters::FilterDeleteLayer::initialize
void initialize(const mrpt::containers::yaml &c) override
Definition:
FilterDeleteLayer.cpp:30
FilterDeleteLayer.h
Removes a given point layer.
mp2p_icp_filters::FilterDeleteLayer::FilterDeleteLayer
FilterDeleteLayer()
IMPLEMENTS_MRPT_OBJECT
IMPLEMENTS_MRPT_OBJECT(FilterDeleteLayer, mp2p_icp_filters::FilterBase, mp2p_icp_filters) using namespace mp2p_icp_filters
mp2p_icp_filters::FilterDeleteLayer::Parameters::load_from_yaml
void load_from_yaml(const mrpt::containers::yaml &c)
Definition:
FilterDeleteLayer.cpp:21
mp2p_icp_filters::FilterDeleteLayer::Parameters::pointcloud_layer_to_remove
std::string pointcloud_layer_to_remove
Definition:
FilterDeleteLayer.h:41
mp2p_icp_filters::FilterBase
Definition:
FilterBase.h:37
mp2p_icp_filters::FilterDeleteLayer::filter
void filter(mp2p_icp::metric_map_t &inOut) const override
Definition:
FilterDeleteLayer.cpp:40
mp2p_icp_filters::FilterDeleteLayer::params_
Parameters params_
Definition:
FilterDeleteLayer.h:50
mp2p_icp::metric_map_t
Generic container of pointcloud(s), extracted features and other maps.
Definition:
metricmap.h:47
mp2p_icp::metric_map_t::layers
std::map< layer_name_t, mrpt::maps::CMetricMap::Ptr > layers
Definition:
metricmap.h:74
mp2p_icp_filters
Definition:
FilterBase.h:25
mrpt_local_obstacles
Author(s): Jose-Luis Blanco-Claraco
autogenerated on Mon Aug 14 2023 02:09:02