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_filter(const mrpt::containers::yaml& c); virtual void filter(mp2p_icp::metric_map_t& inOut) const; };
Inherited Members
public: // methods virtual void filter(mp2p_icp::metric_map_t& inOut) const = 0; FilterBase& operator = (const FilterBase&); FilterBase& operator = (FilterBase&&);
Fields
Parameters params
Algorithm parameters
Methods
virtual void filter(mp2p_icp::metric_map_t& inOut) const
See docs above for FilterBase.