9 #ifndef CObservation2DRangeScan_H
10 #define CObservation2DRangeScan_H
67 std::vector<
float> scan;
68 std::vector<
char> validRange;
72 mrpt::poses::CPose3D sensorPose;
86 mutable
mrpt::maps::CMetricMapPtr m_cachedMap;
88 void internal_buildAuxPointsMap( const
void *options = NULL ) const;
99 template <class POINTSMAP>
100 inline const POINTSMAP* getAuxPointsMap()
const {
101 return static_cast<const POINTSMAP*
>(m_cachedMap.pointer());
112 template <
class POINTSMAP>
114 if (!m_cachedMap.present()) internal_buildAuxPointsMap(options);
115 return static_cast<const POINTSMAP*
>(m_cachedMap.pointer());
124 bool isPlanarScan(
const double tolerance = 0)
const;
131 virtual void getDescriptionAsText(std::ostream &o)
const;
136 void truncateByDistanceAndAngle(
float min_distance,
float max_angle,
float min_height = 0,
float max_height = 0,
float h = 0 );
141 void filterByExclusionAreas(
const TListExclusionAreas &areas );
146 void filterByExclusionAreas(
const TListExclusionAreasWithRanges &areas );
151 void filterByExclusionAngles(
const std::vector<std::pair<double,double> > &angles );
std::vector< std::pair< mrpt::math::CPolygon, std::pair< double, double > > > TListExclusionAreasWithRanges
Used in filterByExclusionAreas.
void setSensorPose(const mrpt::poses::CPose3D &newSensorPose)
A general method to change the sensor pose on the robot.
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const
A general method to retrieve the sensor pose on the robot.
#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...
Auxiliary struct that holds all the relevant geometry information about a 2D scan.
This namespace contains algorithms for SLAM, localization, map building, representation of robot's ac...
const POINTSMAP * buildAuxPointsMap(const void *options=NULL) const
Returns a cached points map representing this laser scan, building it upon the first call...
bool OBS_IMPEXP operator<(const T2DScanProperties &a, const T2DScanProperties &b)
Order operator, so T2DScanProperties can appear in associative STL containers.
#define MRPT_DECLARE_TTYPENAME_PTR_NAMESPACE(_TYPE, __NS)
std::vector< mrpt::math::CPolygon > TListExclusionAreas
Used in filterByExclusionAreas.
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...
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser sc...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents any robot's observation.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)