Inshaping: CCLib::HyperCloud Class Reference

Inshaping

Inshaping  0.1

An Extended point cloud (with point duplication mechanism) More...

#include <HyperCloud.h>

Inheritance diagram for CCLib::HyperCloud:

Public Types

typedef std::shared_ptr< HyperCloudPtr
 

Public Member Functions

 HyperCloud ()
 The PowerfulCloud constructor. More...
 
virtual ~HyperCloud ()
 The PowerfulCloud destructor. More...
 
virtual unsigned size () const
 
virtual void forEach (genericPointAction action)
 
virtual void getBoundingBox (CCVector3 &bbMin, CCVector3 &bbMax)
 
virtual std::vector< Eigen::Vector3d > getOBB ()
 
virtual void placeIteratorAtBeginning ()
 
virtual const CCVector3 * getNextPoint ()
 
virtual bool enableScalarField ()
 
virtual bool isScalarFieldEnabled () const
 
virtual void setPointScalarValue (unsigned pointIndex, ScalarType value)
 
virtual ScalarType getPointScalarValue (unsigned pointIndex) const
 
virtual const CCVector3 * getPoint (unsigned index)
 
virtual const Eigen::Vector3d getEigenVec (unsigned index)
 
virtual const pcl::PointXYZ getPointXYZ (unsigned index)
 
Eigen::Vector3d getBaryCenter ()
 
void addCloud (CCLib::HyperCloud &cloud)
 
virtual void getPoint (unsigned index, CCVector3 &P) const
 
virtual const CCVector3 * getPointPersistentPtr (unsigned index)
 
void clear ()
 Clears cloud. More...
 
virtual void addPoint (const CCVector3 &P)
 Point insertion mechanism. More...
 
virtual void addPoint (const Eigen::Vector3d &p)
 
virtual void addPoint (const PointCoordinateType P[])
 Point insertion mechanism. More...
 
virtual bool reserve (unsigned n)
 Reserves some memory for hosting the points. More...
 
virtual bool resize (unsigned n)
 Presets the size of the vector used to store the points. More...
 
virtual void applyTransformation (PointProjectionTools::Transformation &trans)
 Applies a rigid transformation to the cloud. More...
 
ScalarField * getScalarField ()
 Returns associated scalar field (if any) More...
 
const ScalarField * getScalarField () const
 Returns associated scalar field (if any) (const version) More...
 

Protected Types

typedef GenericChunkedArray< 3, PointCoordinateType > PointsContainer
 Point container. More...
 

Protected Attributes

PointsContainerm_points
 3D Points container More...
 
ScalarField * m_scalarField
 The points distances. More...
 
unsigned globalIterator
 Iterator on the points container. More...
 
bool m_validBB
 Bounding-box validity. More...
 

Detailed Description

An Extended point cloud (with point duplication mechanism)

Implements the GenericIndexedCloud interface. A simple point cloud that stores its own point instances and distances in a vector.

Member Typedef Documentation

◆ PointsContainer

typedef GenericChunkedArray<3, PointCoordinateType> CCLib::HyperCloud::PointsContainer
protected

Point container.

◆ Ptr

typedef std::shared_ptr<HyperCloud> CCLib::HyperCloud::Ptr

Constructor & Destructor Documentation

◆ HyperCloud()

CCLib::HyperCloud::HyperCloud ( )

The PowerfulCloud constructor.

◆ ~HyperCloud()

virtual CCLib::HyperCloud::~HyperCloud ( )
virtual

The PowerfulCloud destructor.

Member Function Documentation

◆ addCloud()

void CCLib::HyperCloud::addCloud ( CCLib::HyperCloud cloud)

◆ addPoint() [1/3]

virtual void CCLib::HyperCloud::addPoint ( const CCVector3 &  P)
virtual

Point insertion mechanism.

The point data will be duplicated in memory.

Parameters
Pthe point to insert

◆ addPoint() [2/3]

virtual void CCLib::HyperCloud::addPoint ( const Eigen::Vector3d &  p)
virtual

◆ addPoint() [3/3]

virtual void CCLib::HyperCloud::addPoint ( const PointCoordinateType  P[])
virtual

Point insertion mechanism.

The point data will be duplicated in memory.

Parameters
Pthe point to insert (as a 3-size array)

◆ applyTransformation()

virtual void CCLib::HyperCloud::applyTransformation ( PointProjectionTools::Transformation &  trans)
virtual

Applies a rigid transformation to the cloud.

WARNING: THIS METHOD IS NOT COMPATIBLE WITH PARALLEL STRATEGIES

Parameters
transtransformation (scale * rotation matrix + translation vector)

◆ clear()

void CCLib::HyperCloud::clear ( )

Clears cloud.

◆ enableScalarField()

virtual bool CCLib::HyperCloud::enableScalarField ( )
virtual

◆ forEach()

virtual void CCLib::HyperCloud::forEach ( genericPointAction  action)
virtual

◆ getBaryCenter()

Eigen::Vector3d CCLib::HyperCloud::getBaryCenter ( )

◆ getBoundingBox()

virtual void CCLib::HyperCloud::getBoundingBox ( CCVector3 &  bbMin,
CCVector3 &  bbMax 
)
virtual

◆ getEigenVec()

virtual const Eigen::Vector3d CCLib::HyperCloud::getEigenVec ( unsigned  index)
inlinevirtual

◆ getNextPoint()

virtual const CCVector3* CCLib::HyperCloud::getNextPoint ( )
virtual

◆ getOBB()

virtual std::vector<Eigen::Vector3d> CCLib::HyperCloud::getOBB ( )
virtual

◆ getPoint() [1/2]

virtual const CCVector3* CCLib::HyperCloud::getPoint ( unsigned  index)
inlinevirtual

◆ getPoint() [2/2]

virtual void CCLib::HyperCloud::getPoint ( unsigned  index,
CCVector3 &  P 
) const
virtual

◆ getPointPersistentPtr()

virtual const CCVector3* CCLib::HyperCloud::getPointPersistentPtr ( unsigned  index)
virtual

◆ getPointScalarValue()

virtual ScalarType CCLib::HyperCloud::getPointScalarValue ( unsigned  pointIndex) const
virtual

◆ getPointXYZ()

virtual const pcl::PointXYZ CCLib::HyperCloud::getPointXYZ ( unsigned  index)
inlinevirtual

◆ getScalarField() [1/2]

ScalarField* CCLib::HyperCloud::getScalarField ( )
inline

Returns associated scalar field (if any)

◆ getScalarField() [2/2]

const ScalarField* CCLib::HyperCloud::getScalarField ( ) const
inline

Returns associated scalar field (if any) (const version)

◆ isScalarFieldEnabled()

virtual bool CCLib::HyperCloud::isScalarFieldEnabled ( ) const
virtual

◆ placeIteratorAtBeginning()

virtual void CCLib::HyperCloud::placeIteratorAtBeginning ( )
virtual

◆ reserve()

virtual bool CCLib::HyperCloud::reserve ( unsigned  n)
virtual

Reserves some memory for hosting the points.

Parameters
nthe number of points

◆ resize()

virtual bool CCLib::HyperCloud::resize ( unsigned  n)
virtual

Presets the size of the vector used to store the points.

Parameters
nthe number of points

◆ setPointScalarValue()

virtual void CCLib::HyperCloud::setPointScalarValue ( unsigned  pointIndex,
ScalarType  value 
)
virtual

◆ size()

virtual unsigned CCLib::HyperCloud::size ( ) const
virtual

Member Data Documentation

◆ globalIterator

unsigned CCLib::HyperCloud::globalIterator
protected

Iterator on the points container.

◆ m_points

PointsContainer* CCLib::HyperCloud::m_points
protected

3D Points container

◆ m_scalarField

ScalarField* CCLib::HyperCloud::m_scalarField
protected

The points distances.

◆ m_validBB

bool CCLib::HyperCloud::m_validBB
protected

Bounding-box validity.


The documentation for this class was generated from the following file:
Generated by   doxygen 1.8.14