iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nrt::PointCloud2Data< Types > Class Template Reference

#include <nrt/PointCloud2/PointCloud2Data.H>

template<class... Types>
class nrt::PointCloud2Data< Types >

A container for holding the data associated with a point cloud point.

Point cloud points can contain arbitrary data types in addition to their geometric coordinate representation.

Accessing geometry is available through the geometry() functionality whereas all other data that may be held is handled through the get() functionality inherited from StreamableGenericBag.

Template Parameters
TypesThe various types that can be represented by this data. Geometry is always included regardless of types specified. Types follow the rules for GenericBag (i.e.: they must be distinct using std::is_same)
Examples:
tests/test-PointCloud2.C, tests/test-PointCloud2Common.C, and tests/test-PointCloud2Normals.C.

Definition at line 79 of file PointCloud2DataHelpers.H.

Inherits nrt::PointCloud2DataCore, and StreamableGenericBag< Types...>.

Public Member Functions

 PointCloud2Data ()=default
 Default initialized point.
 
 PointCloud2Data (Geometry const &geo)
 Initialize to some geometric point.
 
template<class... InitTypes>
 PointCloud2Data (Geometry const &geo, InitTypes const &...initialValues)
 Initialize by specifying geometry and a set of values for the other data. More...
 
template<class... InitTypes>
 PointCloud2Data (PointCloud2Data< InitTypes...> const &other)
 Copy construction.
 
template<bool IsConst, class... InitTypes>
 PointCloud2Data (PointCloud2DataRefBase< IsConst, InitTypes...> const &other)
 Copy construction from a reference point.
 
template<class... InitTypes>
 PointCloud2Data (PointCloud2Data< InitTypes...> &&other)
 Move copy construction.
 
template<bool IsConst, class... InitTypes>
 PointCloud2Data (PointCloud2DataRefBase< IsConst, InitTypes...> &&other)
 Move copy construction from a reference point.
 
template<class... OtherTypes>
PointCloud2Dataoperator= (PointCloud2Data< OtherTypes...> const &other)
 Assignment operation.
 
template<bool IsConst, class... OtherTypes>
PointCloud2Dataoperator= (PointCloud2DataRefBase< IsConst, OtherTypes...> const &other)
 Assignment operation from a reference point.
 
template<class... OtherTypes>
PointCloud2Dataoperator= (PointCloud2Data< OtherTypes...> &&other)
 Move assignment operation.
 
template<bool IsConst, class... OtherTypes>
PointCloud2Dataoperator= (PointCloud2DataRefBase< IsConst, OtherTypes...> &&other)
 Move assignment operation from a reference point.
 
Geometrygeometry ()
 Access the geometry.
 
Geometry const & geometry () const
 Const access to the geometry.
 

Related Functions

(Note that these are not member functions.)

template<class... Fields>
std::ostream & operator<< (std::ostream &out, PointCloud2Data< Fields...> const &data)
 Human-readable output to a stream. More...
 
template<class... Fields>
std::istream & operator>> (std::istream &in, PointCloud2Data< Fields...> &data)
 Human-readable input from a stream. More...
 

Constructor & Destructor Documentation

template<class... Types>
template<class... InitTypes>
nrt::PointCloud2Data< Types >::PointCloud2Data ( Geometry const &  geo,
InitTypes const &...  initialValues 
)

Initialize by specifying geometry and a set of values for the other data.

This allows you to initialize all of the other (non geometry) types associated with a point by specifying the value that the type will be initialized with. The types do not need to be in the same order as the template parameter types, and need not even match - those that do form an exact match with the actual contents of this point will be initialized

Friends And Related Function Documentation

template<class... Fields>
std::ostream & operator<< ( std::ostream &  out,
PointCloud2Data< Fields...> const &  data 
)
related

Human-readable output to a stream.

template<class... Fields>
std::istream & operator>> ( std::istream &  in,
PointCloud2Data< Fields...> &  data 
)
related

Human-readable input from a stream.


The documentation for this class was generated from the following files: