30 #ifndef _MIRA_POINTCLOUD_H_ 31 #define _MIRA_POINTCLOUD_H_ 38 namespace mira {
namespace maps {
56 template <
typename Reflector>
60 r.member(
"Format", mFormat,
"The format of the binary point cloud data below");
61 r.member(
"Data",
data,
"The binary point cloud data in the specified format");
91 return *
reinterpret_cast<const T*
>(ptr + field.
offset);
118 template<
typename TPo
intCloud>
119 TPointCloud&
castTo() {
return (TPointCloud&)*
this; }
121 template<
typename TPo
intCloud>
122 const TPointCloud&
castTo()
const {
return (
const TPointCloud&)*
this; }
124 template<
typename TPo
intCloud>
126 mFormat = pointCloudFormat<typename TPointCloud::value_type>();
127 return (TPointCloud&)*
this;
141 template <
typename Po
intType>
156 template <
typename Po
intType>
171 template<
typename Po
intType>
209 const PointType&
at(std::size_t idx)
const {
211 return *
reinterpret_cast<const PointType*
>(ptr);
214 PointType&
at(std::size_t idx){
216 return *
reinterpret_cast<PointType*
>(ptr);
236 return reinterpret_cast<PointType*
>(
data.
data()+oldSize);
242 memcpy(newPoint, &point,
sizeof(PointType));
GenericPointCloud(const PCFormat &format)
Definition: PointCloud.h:48
const_iterator begin() const
Definition: PointCloud.h:193
const_iterator end() const
Definition: PointCloud.h:77
Definition: PointCloudFormat.h:91
TEigenFormat< Derived > format(Eigen::MatrixBase< Derived > &matrix, Eigen::IOFormat format=EigenFormat::matlab())
PointType & at(std::size_t idx)
Definition: PointCloud.h:214
Definition: PointCloud.h:172
const PointType & operator[](std::size_t idx) const
Definition: PointCloud.h:224
uint32 offset
Definition: PointCloudFormat.h:86
iterator end()
Definition: PointCloud.h:81
GenericPointCloud(Buffer< uint8 > iData, const PCFormat &format)
Definition: PointCloud.h:51
GenericPointCloudConstIterator const_iterator
Definition: PointCloud.h:66
void clear()
Definition: PointCloud.h:251
Definition: PointCloudIterator.h:46
Type type
Definition: PointCloudFormat.h:83
TPointCloud & convertTo()
Definition: PointCloud.h:125
Definition: PointCloud.h:42
PointCloudConstIterator< PointType > const_iterator
Definition: PointCloud.h:190
static GenericPointCloud fromStdVector(std::vector< PointType > &data)
Creates a GenericPointCloud from an std::vector with existing data, without copying any data...
Definition: PointCloud.h:142
PointType & operator[](std::size_t idx)
Definition: PointCloud.h:219
TPointCloud & castTo()
Definition: PointCloud.h:119
void push_back(const PointType &point)
Definition: PointCloud.h:239
const TPointCloud & castTo() const
Definition: PointCloud.h:122
static const GenericPointCloud fromStdVector(const std::vector< PointType > &data)
Creates a GenericPointCloud from a const std::vector with existing data, without copying any data...
Definition: PointCloud.h:157
const PointType & at(std::size_t idx) const
Definition: PointCloud.h:209
const_iterator begin() const
Definition: PointCloud.h:69
void resize(std::size_t count)
Definition: PointCloud.h:245
void setFormat(const PCFormat &format)
Prefer convertTo(), only use this to handle generic format field collections for which no respective ...
Definition: PointCloud.h:110
Definition: PointCloudIterator.h:142
PointCloudIterator< PointType > iterator
Definition: PointCloud.h:191
PointCloud()
Definition: PointCloud.h:177
iterator end()
Definition: PointCloud.h:205
PCFormat pointCloudFormat()
Definition: PointCloudFormat.h:147
const PCFormat & getFormat() const
Definition: PointCloud.h:104
GenericPointCloud()
Definition: PointCloud.h:46
Definition: PointCloudIterator.h:109
PointType value_type
Definition: PointCloud.h:189
Definition: PointCloudFormat.h:45
std::size_t size() const
Returns number of points in the point cloud.
Definition: PointCloud.h:100
const_iterator end() const
Definition: PointCloud.h:201
void resize(size_type size)
PointCloud(Buffer< uint8 > iData)
Definition: PointCloud.h:182
Definition: PointCloudIterator.h:88
iterator begin()
Definition: PointCloud.h:73
#define MIRA_REFLECT_VERSION(reflector, versionNumber)
const T & at(std::size_t idx, const PCDataField &field) const
Definition: PointCloud.h:88
std::size_t pointStep() const
Definition: PointCloud.h:114
void reflect(Reflector &r)
Definition: PointCloud.h:57
Buffer< uint8 > data
Definition: PointCloud.h:163
iterator begin()
Definition: PointCloud.h:197
GenericPointCloudIterator iterator
Definition: PointCloud.h:67
PointType * reservePoints(std::size_t count)
Definition: PointCloud.h:232