9 #ifndef CObservation2DRangeScan_H 10 #define CObservation2DRangeScan_H 72 std::vector<
float> scan;
73 std::vector<
char> validRange;
77 mrpt::poses::CPose3D sensorPose;
91 mutable mrpt::maps::CMetricMapPtr m_cachedMap;
93 void internal_buildAuxPointsMap( const
void *options = NULL ) const;
104 template <class POINTSMAP>
105 inline const POINTSMAP* getAuxPointsMap()
const {
106 return static_cast<const POINTSMAP*
>(m_cachedMap.pointer());
117 template <
class POINTSMAP>
119 if (!m_cachedMap.present()) internal_buildAuxPointsMap(options);
120 return static_cast<const POINTSMAP*
>(m_cachedMap.pointer());
129 bool isPlanarScan(
const double tolerance = 0)
const;
136 virtual void getDescriptionAsText(std::ostream &o)
const;
141 void truncateByDistanceAndAngle(
float min_distance,
float max_angle,
float min_height = 0,
float max_height = 0,
float h = 0 );
156 void filterByExclusionAngles(
const std::vector<std::pair<double,double> > &angles );
#define DECLARE_MEXPLUS_FROM(complete_type)
This must be inserted if a custom conversion method for MEX API is implemented in the class...
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.
#define DECLARE_MEX_CONVERSION
This must be inserted if a custom conversion method for MEX API is implemented in the class...
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_)