9 #ifndef CWeightedPointsMap_H
10 #define CWeightedPointsMap_H
44 virtual void reserve(
size_t newLength)
override;
45 virtual void resize(
size_t newLength)
override;
46 virtual void setSize(
size_t newLength)
override;
66 const size_t index, std::vector<float>& point_data)
const override
81 const size_t index,
const std::vector<float>& point_data)
override
104 const CPointsMap& anotherMap,
const size_t nPreviousPoints)
override;
107 template <
class Derived>
109 template <
class Derived>
164 mrpt::maps::CWeightedPointsMap, float>
173 static const int HAS_RGB = 0;
175 static const int HAS_RGBf = 0;
177 static const int HAS_RGBu8 = 0;
185 inline size_t size()
const {
return m_obj.
size(); }
189 template <
typename T>
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
#define MAP_DEFINITION_END(_CLASS_NAME_, _LINKAGE_)
#define MAP_DEFINITION_START(_CLASS_NAME_)
Add a MAP_DEFINITION_START() ...
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans or other sensors.
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,...
size_t size() const
Returns the number of stored points in the map.
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans.
virtual void setSize(size_t newLength) override
Resizes all point buffers so they can hold the given number of points, erasing all previous contents ...
std::vector< uint32_t > pointWeight
The points weights.
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 insertPointFast(float x, float y, float z=0) override
The virtual method for insertPoint() without calling mark_as_modified()
virtual void internal_clear() override
Clear the map, erasing all the points.
virtual void loadFromRangeScan(const mrpt::obs::CObservation2DRangeScan &rangeScan, const mrpt::poses::CPose3D *robotPose=nullptr) override
See CPointsMap::loadFromRangeScan()
virtual ~CWeightedPointsMap()
Destructor.
virtual unsigned int getPointWeight(size_t index) const override
Gets the point weight, which is ignored in all classes (defaults to 1) but in those which actually st...
CWeightedPointsMap()
Default constructor.
virtual void reserve(size_t newLength) override
Reserves memory for a given number of points: the size of the map does not change,...
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.
virtual void setPointWeight(size_t index, unsigned long w) override
Sets the point weight, which is ignored in all classes but those which actually store that field (Not...
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 WEIGHT] Unlike setPointAllFields(),...
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 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 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 WEIGHT] Unlike getPointAllFields(),...
virtual void copyFrom(const CPointsMap &obj) override
Virtual assignment operator, to be implemented in derived classes
A "CObservation"-derived class that represents a 2D range scan measurement (typically from a laser sc...
Declares a class derived from "CObservation" that encapsules a 3D range scan measurement,...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
PointCloudAdapter(const mrpt::maps::CWeightedPointsMap &obj)
Constructor (accept a const ref for convenience)
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.
mrpt::maps::CWeightedPointsMap & m_obj
size_t size() const
Get number of points.
float coords_t
The type of each point XYZ coordinates.
void getPointXYZ(const size_t idx, T &x, T &y, T &z) const
Get XYZ coordinates of i'th point.
void resize(const size_t N)
Set number of points (to uninitialized values)
An adapter to different kinds of point cloud object.
A helper base class for those PointCloudAdapter<> which do not handle RGB data; it declares needed in...
GLsizei GLsizei GLuint * obj
GLubyte GLubyte GLubyte GLubyte w
#define ASSERTDEB_(f)
Defines an assertion mechanism - only when compiled in debug.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
With this struct options are provided to the observation insertion process.
Options used when evaluating "computeObservationLikelihood" in the derived classes.