9 #ifndef CSimplePointsMap_H 10 #define CSimplePointsMap_H 45 virtual void reserve(
size_t newLength)
override;
46 virtual void resize(
size_t newLength)
override;
47 virtual void setSize(
size_t newLength)
override;
63 const size_t index, std::vector<float>& point_data)
const override 76 const size_t index,
const std::vector<float>& point_data)
override 97 const CPointsMap& anotherMap,
const size_t nPreviousPoints)
override 105 template <
class Derived>
107 template <
class Derived>
166 static const int HAS_RGB = 0;
168 static const int HAS_RGBf = 0;
170 static const int HAS_RGBu8 = 0;
178 inline size_t size()
const {
return m_obj.
size(); }
182 template <
typename T>
float coords_t
The type of each point XYZ coordinates.
virtual void insertPointFast(float x, float y, float z=0) override
The virtual method for insertPoint() without calling mark_as_modified()
void getPointFast(size_t index, float &x, float &y, float &z) const
Just like getPoint() but without checking out-of-bound index and without returning the point weight...
#define MAP_DEFINITION_END(_CLASS_NAME_, _LINKAGE_)
virtual void reserve(size_t newLength) override
Reserves memory for a given number of points: the size of the map does not change, it only reserves the memory.
A helper base class for those PointCloudAdapter<> which do not handle RGB data; it declares needed in...
#define MAP_DEFINITION_START(_CLASS_NAME_)
Add a MAP_DEFINITION_START() ...
#define THROW_EXCEPTION(msg)
Declares a class derived from "CObservation" that encapsules a 3D range scan measurement, as from a time-of-flight range camera or any other RGBD sensor.
void setPointXYZ(const size_t idx, const coords_t x, const coords_t y, const coords_t z)
Set XYZ coordinates of i'th point.
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. ...
CSimplePointsMap()
Default constructor.
GLsizei GLsizei GLuint * obj
virtual const mrpt::maps::CSimplePointsMap * getAsSimplePointsMap() const override
If the map is a simple points map or it's a multi-metric map that contains EXACTLY one simple points ...
With this struct options are provided to the observation insertion process.
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans or other sensors...
virtual void setSize(size_t newLength) override
Resizes all point buffers so they can hold the given number of points, erasing all previous contents ...
virtual void getPointAllFieldsFast(const size_t index, std::vector< float > &point_data) const override
Get all the data fields for one point as a vector: [X Y Z] Unlike getPointAllFields(), this method does not check for index out of bounds.
#define MRPT_UNUSED_PARAM(a)
Can be used to avoid "not used parameters" warnings from the compiler.
virtual void loadFromRangeScan(const mrpt::obs::CObservation2DRangeScan &rangeScan, const mrpt::poses::CPose3D *robotPose=nullptr) override
See CPointsMap::loadFromRangeScan()
virtual void addFrom_classSpecific(const CPointsMap &anotherMap, const size_t nPreviousPoints) override
Auxiliary method called from within addFrom() automatically, to finish the copying of class-specific ...
virtual ~CSimplePointsMap()
Destructor.
void getPointXYZ(const size_t idx, T &x, T &y, T &z) const
Get XYZ coordinates of i'th point.
virtual void internal_clear() override
Clear the map, erasing all the points.
virtual void copyFrom(const CPointsMap &obj) override
Virtual assignment operator, to be implemented in derived classes.
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...
#define ASSERTDEB_(f)
Defines an assertion mechanism - only when compiled in debug.
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser sc...
size_t size() const
Get number of points.
PointCloudAdapter(const mrpt::maps::CSimplePointsMap &obj)
Constructor (accept a const ref for convenience)
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Options used when evaluating "computeObservationLikelihood" in the derived classes.
void setInvalidPoint(const size_t idx)
Set XYZ coordinates of i'th point.
mrpt::maps::CSimplePointsMap & m_obj
virtual void setPointFast(size_t index, float x, float y, float z) override
Changes the coordinates of the given point (0-based index), without checking for out-of-bounds and wi...
virtual void setPointAllFieldsFast(const size_t index, const std::vector< float > &point_data) override
Set all the data fields for one point as a vector: [X Y Z] Unlike setPointAllFields(), this method does not check for index out of bounds.
virtual void PLY_import_set_vertex_count(const size_t N) override
In a base class, reserve memory to prepare subsequent calls to PLY_import_set_vertex.
An adapter to different kinds of point cloud object.
size_t size() const
Returns the number of stored points in the map.
virtual void resize(size_t newLength) override
Resizes all point buffers so they can hold the given number of points: newly created points are set t...
virtual mrpt::maps::CSimplePointsMap * getAsSimplePointsMap() override
void resize(const size_t N)
Set number of points (to uninitialized values)