9 #ifndef CSimplePointsMap_H 10 #define CSimplePointsMap_H 40 virtual ~CSimplePointsMap();
50 virtual
void reserve(
size_t newLength);
56 virtual
void resize(
size_t newLength);
62 virtual
void setSize(
size_t newLength);
65 virtual
void setPointFast(
size_t index,
float x,
float y,
float z);
68 virtual
void insertPointFast(
float x,
float y,
float z = 0 );
72 virtual
void copyFrom(const CPointsMap &obj);
78 virtual
void getPointAllFieldsFast( const
size_t index,
std::vector<
float> & point_data )
const {
80 point_data[0] = x[index];
81 point_data[1] = y[index];
82 point_data[2] = z[index];
91 x[index] = point_data[0];
92 y[index] = point_data[1];
93 z[index] = point_data[2];
97 virtual void loadFromRangeScan(
102 virtual void loadFromRangeScan(
135 virtual void internal_clear();
140 virtual void PLY_import_set_vertex_count(
const size_t N);
162 static const int HAS_RGB = 0;
163 static const int HAS_RGBf = 0;
164 static const int HAS_RGBu8 = 0;
169 inline size_t size()
const {
return m_obj.
size(); }
174 template <
typename T>
175 inline void getPointXYZ(
const size_t idx, T &x,T &y, T &z)
const {
179 inline void setPointXYZ(
const size_t idx,
const coords_t x,
const coords_t y,
const coords_t z) {
float coords_t
The type of each point XYZ coordinates.
virtual void resize(size_t newLength)
Resizes all point buffers so they can hold the given number of points: newly created points are set t...
#define MAP_DEFINITION_END(_CLASS_NAME_, _LINKAGE_)
virtual void addFrom_classSpecific(const CPointsMap &anotherMap, const size_t nPreviousPoints)
Auxiliary method called from within addFrom() automatically, to finish the copying of class-specific ...
A helper base class for those PointCloudAdapter<> which do not handle RGB data; it declares needed in...
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. ...
With this struct options are provided to the observation insertion process.
virtual mrpt::maps::CSimplePointsMap * getAsSimplePointsMap()
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans or other sensors...
#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...
virtual void setPointAllFieldsFast(const size_t index, const std::vector< float > &point_data)
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.
#define MRPT_UNUSED_PARAM(a)
Can be used to avoid "not used parameters" warnings from the compiler.
EIGEN_STRONG_INLINE void setSize(size_t row, size_t col)
Changes the size of matrix, maintaining its previous content as possible and padding with zeros where...
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...
PointCloudAdapter(const mrpt::maps::CSimplePointsMap &obj)
Constructor (accept a const ref for convenience)
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...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Options used when evaluating "computeObservationLikelihood" in the derived classes.
virtual const mrpt::maps::CSimplePointsMap * getAsSimplePointsMap() const
If the map is a simple points map or it's a multi-metric map that contains EXACTLY one simple points ...
size_t size() const
Returns the number of stored points in the map.
mrpt::maps::CSimplePointsMap & m_obj
void getPointXYZ(const size_t idx, T &x, T &y, T &z) const
Get XYZ coordinates of i'th point.
An adapter to different kinds of point cloud object.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
size_t size() const
Get number of points.
#define MAP_DEFINITION_START(_CLASS_NAME_, _LINKAGE_)
Add a MAP_DEFINITION_START() ...
void resize(const size_t N)
Set number of points (to uninitialized values)
virtual void setPointFast(size_t index, float x, float y, float z)
Changes the coordinates of the given point (0-based index), without checking for out-of-bounds and wi...