28 #ifndef CSimplePointsMap_H
29 #define CSimplePointsMap_H
61 virtual ~CSimplePointsMap();
71 virtual
void reserve(
size_t newLength);
77 virtual
void resize(
size_t newLength);
83 virtual
void setSize(
size_t newLength);
86 virtual
void setPointFast(
size_t index,
float x,
float y,
float z);
89 virtual
void insertPointFast(
float x,
float y,
float z = 0 );
93 virtual
void copyFrom(const CPointsMap &obj);
99 virtual
void getPointAllFieldsFast( const
size_t index, std::vector<
float> & point_data )
const {
100 point_data.resize(3);
101 point_data[0] = x[index];
102 point_data[1] = y[index];
103 point_data[2] = z[index];
112 x[index] = point_data[0];
113 y[index] = point_data[1];
114 z[index] = point_data[2];
118 virtual void loadFromRangeScan(
120 const CPose3D *robotPose = NULL );
123 virtual void loadFromRangeScan(
125 const CPose3D *robotPose = NULL );
136 template <
class Derived>
friend struct detail::loadFromRangeImpl;
137 template <
class Derived>
friend struct detail::pointmap_traits;
155 virtual void internal_clear();
160 virtual void PLY_import_set_vertex_count(
const size_t N);
176 static const int HAS_RGB = 0;
177 static const int HAS_RGBf = 0;
178 static const int HAS_RGBu8 = 0;
183 inline size_t size()
const {
return m_obj.size(); }
185 inline void resize(
const size_t N) { m_obj.resize(N); }
188 template <
typename T>
189 inline void getPointXYZ(
const size_t idx, T &x,T &y, T &z)
const {
190 m_obj.getPointFast(idx,x,y,z);
194 m_obj.setPointFast(idx,x,y,z);