class mp2p_icp_filters::FilterMerge
Overview
Takes an input point cloud or mrpt::maps::CVoxelMap layer and inserts it into another one of arbitrary metric map type.
Insertion is done by converting the input layer into an mrpt::obs::CObservationPointCloud, then invoking the target layer’s mrpt::maps::CMetricMap::insertObservation()
If the input was a mrpt::maps::CVoxelMap, it is first converted into a point cloud by generating points for each occupied voxel using mrpt::maps::CVoxelMap::getOccupiedVoxels().
Coordinate frames are:
If
input_layer_in_local_coordinates
isfalse
(default): both, input and output layers are in the same frame of reference. Even though, the variablerobot_pose
is important in cases where ray-tracing is necesary, e.g. voxel or grid maps.If
input_layer_in_local_coordinates
istrue
: input is in the vehicle frame, output is in another global frame, in which the vehicle is at poserobot_pose
.
#include <FilterMerge.h> class FilterMerge: public mp2p_icp_filters::FilterBase { public: // structs struct Parameters; // fields Parameters params_; // methods virtual void initialize(const mrpt::containers::yaml& cfg_block); virtual void filter(mp2p_icp::metric_map_t& inOut) const; };
Inherited Members
public: // methods virtual void initialize(const mrpt::containers::yaml& cfg_block) = 0; virtual void filter(mp2p_icp::metric_map_t& inOut) const = 0;
Fields
Parameters params_
Algorithm parameters
Methods
virtual void initialize(const mrpt::containers::yaml& cfg_block)
Loads, from a YAML configuration block, all the common, and implementation-specific parameters.
virtual void filter(mp2p_icp::metric_map_t& inOut) const
See docs above for FilterBase.