9 #ifndef CObservation2DRangeScan_H
10 #define CObservation2DRangeScan_H
70 std::vector<
float> scan;
75 std::vector<
char> validRange;
119 mutable
mrpt::slam::CMetricMapPtr m_cachedMap;
121 void internal_buildAuxPointsMap( const
void *options = NULL ) const;
132 template <class POINTSMAP>
133 inline const POINTSMAP* getAuxPointsMap()
const {
134 return static_cast<const POINTSMAP*
>(m_cachedMap.pointer());
145 template <
class POINTSMAP>
147 if (!m_cachedMap.present()) internal_buildAuxPointsMap(options);
148 return static_cast<const POINTSMAP*
>(m_cachedMap.pointer());
157 bool isPlanarScan(
const double tolerance = 0)
const;
175 void truncateByDistanceAndAngle(
float min_distance,
float max_angle,
float min_height = 0,
float max_height = 0,
float h = 0 );
180 void filterByExclusionAreas(
const TListExclusionAreas &areas );
185 void filterByExclusionAreas(
const TListExclusionAreasWithRanges &areas );
190 void filterByExclusionAngles(
const std::vector<std::pair<double,double> > &angles );
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser sc...
std::vector< std::pair< mrpt::math::CPolygon, std::pair< double, double > > > TListExclusionAreasWithRanges
Used in filterByExclusionAreas.
#define MRPT_DECLARE_TTYPENAME_PTR(_TYPE)
This namespace contains algorithms for SLAM, localization, map building, representation of robot's ac...
void getSensorPose(CPose3D &out_sensorPose) const
A general method to retrieve the sensor pose on the robot.
std::vector< mrpt::math::CPolygon > TListExclusionAreas
Used in filterByExclusionAreas.
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
void setSensorPose(const CPose3D &newSensorPose)
A general method to change the sensor pose on the robot.
Declares a class that represents any robot's observation.
const POINTSMAP * buildAuxPointsMap(const void *options=NULL) const
Returns a cached points map representing this laser scan, building it upon the first call...
bool operator<(const COccupancyGridMap2D::TPairLikelihoodIndex &e1, const COccupancyGridMap2D::TPairLikelihoodIndex &e2)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
Auxiliary struct that holds all the relevant geometry information about a 2D scan.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)