Image Component Library (ICL)
|
PointCloudObject implementation for the PCLPointCloud types. More...
#include <PCLPointCloudObject.h>
Public Member Functions | |
PCLPointCloudObject (int width, int height=-1, const PCLPointType &init=PCLPointType()) | |
creates a PCLPointCloudObject with given width height and intial value | |
PCLPointCloudObject (const PCLPointCloudObject< PCLPointType > &other) | |
deeply copying copy constructor | |
PCLPointCloudObject < PCLPointType > & | operator= (const PCLPointCloudObject< PCLPointType > &other) |
deeply copying assignment operator | |
PCLPointCloudObject (const pcl::PointCloud< PCLPointType > &cloud) | |
const wrapper for given pcl-pointcloud (deep copy only) | |
PCLPointCloudObject (pcl::PointCloud< PCLPointType > &cloud, bool deepCopy=true) | |
wrapps given pcl-point-cloud (optionally shallowly copied) | |
~PCLPointCloudObject () | |
Destructor. | |
pcl::PointCloud< PCLPointType > & | pcl () throw (utils::ICLException) |
grants access to the underlying pcl-point-cloud | |
const pcl::PointCloud < PCLPointType > & | pcl () const throw (utils::ICLException) |
grants access to the underlying pcl-point-cloud (const) | |
void | setPCL (const pcl::PointCloud< PCLPointType > &pcl) |
sets wrapped PCL point cloud (const, always deeply copied) | |
void | setPCL (pcl::PointCloud< PCLPointType > &pcl, bool deepCopy=true) |
sets wrapped PCL point cloud (const, always deeply copied) | |
virtual bool | supports (FeatureType t) const |
generic version, that trys to get an offset (can be optimized with specialization) | |
virtual bool | isOrganized () const |
returns whether pointcloud is 2D organized | |
virtual utils::Size | getSize () const throw (utils::ICLException) |
returns the 2D size of the pointcloud (throws exception if not ordered) | |
virtual int | getDim () const |
return the linearily ordered number of point in the point cloud | |
virtual void | setSize (const utils::Size &size) |
adapts the point cloud size | |
bool | isNull () const |
virtual core::DataSegment < float, 1 > | selectIntensity () |
well known feature Intensity (single float values) | |
virtual core::DataSegment < icl32s, 1 > | selectLabel () |
well known feature Intensity (single 32bit int values) | |
virtual core::DataSegment < icl8u, 3 > | selectBGR () |
well known feature Intensity (three byte vectors ordered BGR) | |
virtual core::DataSegment < icl8u, 4 > | selectBGRA () |
well known feature Intensity (four byte vectors ordered BGRA) | |
virtual core::DataSegment < icl32s, 1 > | selectBGRA32s () |
well known feature Intensity (single int value encoding byte-wise BGRA) | |
virtual core::DataSegment < float, 3 > | selectXYZ () |
well know features XYZ (three floats, this feature must usually be available) | |
virtual core::DataSegment < float, 4 > | selectXYZH () |
common way to store XYZ-data (4th float define homogeneous part) | |
virtual core::DataSegment < float, 4 > | selectNormal () |
well known feature Normal (4 float values) | |
virtual core::DataSegment < float, 4 > | selectRGBA32f () |
well known feature RGBA (4 float values, ordred RGBA) | |
virtual core::DataSegmentBase | select (const std::string &featureName) |
selects a dynamic feature | |
virtual PCLPointCloudObject < PCLPointType > * | copy () const |
deep copy interface | |
Private Types | |
typedef PCLPointType | Entry |
internally used typedef | |
Private Member Functions | |
int | offset (FeatureType) const |
this is actually specialized for the different types | |
icl8u * | data () |
returns the data orignin pointer | |
const icl8u * | data () const |
returns the data orignin pointer (const) | |
template<class T , int N, FeatureType t> | |
core::DataSegment< T, N > | createSegment () |
creates a data segment for a given feature type | |
void | deletePCL () |
savely delets the pcl_image | |
Private Attributes | |
pcl::PointCloud< PCLPointType > * | m_pcl |
internal pcl::PointCloud data pointer | |
bool | m_ownPCL |
ownership flag |
PointCloudObject implementation for the PCLPointCloud types.
Right now, the following pcl-point types are supported. Due to the non-inline implementation of the class, all other point-types are not available. For other point types, one can specialize the offset()-template in the source file.
typedef PCLPointType icl::geom::PCLPointCloudObject< PCLPointType >::Entry [private] |
internally used typedef
icl::geom::PCLPointCloudObject< PCLPointType >::PCLPointCloudObject | ( | int | width, |
int | height = -1 , |
||
const PCLPointType & | init = PCLPointType() |
||
) |
creates a PCLPointCloudObject with given width height and intial value
If the height value is -1, the PointCloud instance is assumed to be not ordered, e.g. only a 1D set of points instead of a 2D array
icl::geom::PCLPointCloudObject< PCLPointType >::PCLPointCloudObject | ( | const PCLPointCloudObject< PCLPointType > & | other | ) |
deeply copying copy constructor
icl::geom::PCLPointCloudObject< PCLPointType >::PCLPointCloudObject | ( | const pcl::PointCloud< PCLPointType > & | cloud | ) |
const wrapper for given pcl-pointcloud (deep copy only)
icl::geom::PCLPointCloudObject< PCLPointType >::PCLPointCloudObject | ( | pcl::PointCloud< PCLPointType > & | cloud, |
bool | deepCopy = true |
||
) |
wrapps given pcl-point-cloud (optionally shallowly copied)
icl::geom::PCLPointCloudObject< PCLPointType >::~PCLPointCloudObject | ( | ) |
Destructor.
virtual PCLPointCloudObject<PCLPointType>* icl::geom::PCLPointCloudObject< PCLPointType >::copy | ( | ) | const [virtual] |
deep copy interface
Reimplemented from icl::geom::PointCloudObjectBase.
core::DataSegment<T,N> icl::geom::PCLPointCloudObject< PCLPointType >::createSegment | ( | ) | [inline, private] |
creates a data segment for a given feature type
icl8u* icl::geom::PCLPointCloudObject< PCLPointType >::data | ( | ) | [inline, private] |
returns the data orignin pointer
const icl8u* icl::geom::PCLPointCloudObject< PCLPointType >::data | ( | ) | const [inline, private] |
returns the data orignin pointer (const)
void icl::geom::PCLPointCloudObject< PCLPointType >::deletePCL | ( | ) | [private] |
savely delets the pcl_image
virtual int icl::geom::PCLPointCloudObject< PCLPointType >::getDim | ( | ) | const [virtual] |
return the linearily ordered number of point in the point cloud
Implements icl::geom::PointCloudObjectBase.
virtual utils::Size icl::geom::PCLPointCloudObject< PCLPointType >::getSize | ( | ) | const throw (utils::ICLException) [virtual] |
returns the 2D size of the pointcloud (throws exception if not ordered)
Implements icl::geom::PointCloudObjectBase.
bool icl::geom::PCLPointCloudObject< PCLPointType >::isNull | ( | ) | const |
virtual bool icl::geom::PCLPointCloudObject< PCLPointType >::isOrganized | ( | ) | const [virtual] |
returns whether pointcloud is 2D organized
Implements icl::geom::PointCloudObjectBase.
int icl::geom::PCLPointCloudObject< PCLPointType >::offset | ( | FeatureType | ) | const [private] |
this is actually specialized for the different types
Please note, offset needs to return -1 for non-supported feature types
PCLPointCloudObject<PCLPointType>& icl::geom::PCLPointCloudObject< PCLPointType >::operator= | ( | const PCLPointCloudObject< PCLPointType > & | other | ) |
deeply copying assignment operator
for shallow copies, use
pcl::PointCloud<PCLPointType>& icl::geom::PCLPointCloudObject< PCLPointType >::pcl | ( | ) | throw (utils::ICLException) |
grants access to the underlying pcl-point-cloud
const pcl::PointCloud<PCLPointType>& icl::geom::PCLPointCloudObject< PCLPointType >::pcl | ( | ) | const throw (utils::ICLException) |
grants access to the underlying pcl-point-cloud (const)
virtual core::DataSegmentBase icl::geom::PCLPointCloudObject< PCLPointType >::select | ( | const std::string & | featureName | ) | [virtual] |
selects a dynamic feature
some pcl types support special features that can be selected by a string ID. By default, the featureName 'all' can be used to create a DataSegment that give access to all data entries as floats
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<icl8u,3> icl::geom::PCLPointCloudObject< PCLPointType >::selectBGR | ( | ) | [virtual] |
well known feature Intensity (three byte vectors ordered BGR)
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<icl8u,4> icl::geom::PCLPointCloudObject< PCLPointType >::selectBGRA | ( | ) | [virtual] |
well known feature Intensity (four byte vectors ordered BGRA)
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<icl32s,1> icl::geom::PCLPointCloudObject< PCLPointType >::selectBGRA32s | ( | ) | [virtual] |
well known feature Intensity (single int value encoding byte-wise BGRA)
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<float,1> icl::geom::PCLPointCloudObject< PCLPointType >::selectIntensity | ( | ) | [virtual] |
well known feature Intensity (single float values)
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<icl32s,1> icl::geom::PCLPointCloudObject< PCLPointType >::selectLabel | ( | ) | [virtual] |
well known feature Intensity (single 32bit int values)
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<float,4> icl::geom::PCLPointCloudObject< PCLPointType >::selectNormal | ( | ) | [virtual] |
well known feature Normal (4 float values)
in the PCL, the 4th value is sometimes used to store a local curvature value
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<float,4> icl::geom::PCLPointCloudObject< PCLPointType >::selectRGBA32f | ( | ) | [virtual] |
well known feature RGBA (4 float values, ordred RGBA)
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<float,3> icl::geom::PCLPointCloudObject< PCLPointType >::selectXYZ | ( | ) | [virtual] |
well know features XYZ (three floats, this feature must usually be available)
Reimplemented from icl::geom::PointCloudObjectBase.
virtual core::DataSegment<float,4> icl::geom::PCLPointCloudObject< PCLPointType >::selectXYZH | ( | ) | [virtual] |
common way to store XYZ-data (4th float define homogeneous part)
Reimplemented from icl::geom::PointCloudObjectBase.
void icl::geom::PCLPointCloudObject< PCLPointType >::setPCL | ( | const pcl::PointCloud< PCLPointType > & | pcl | ) |
sets wrapped PCL point cloud (const, always deeply copied)
void icl::geom::PCLPointCloudObject< PCLPointType >::setPCL | ( | pcl::PointCloud< PCLPointType > & | pcl, |
bool | deepCopy = true |
||
) |
sets wrapped PCL point cloud (const, always deeply copied)
virtual void icl::geom::PCLPointCloudObject< PCLPointType >::setSize | ( | const utils::Size & | size | ) | [virtual] |
adapts the point cloud size
if the sizes height is smaller than 1, the cloud becomes un-organized
Implements icl::geom::PointCloudObjectBase.
virtual bool icl::geom::PCLPointCloudObject< PCLPointType >::supports | ( | FeatureType | t | ) | const [virtual] |
generic version, that trys to get an offset (can be optimized with specialization)
Implements icl::geom::PointCloudObjectBase.
bool icl::geom::PCLPointCloudObject< PCLPointType >::m_ownPCL [private] |
ownership flag
pcl::PointCloud<PCLPointType>* icl::geom::PCLPointCloudObject< PCLPointType >::m_pcl [private] |
internal pcl::PointCloud data pointer