CCCoreLib 31 May 2022
CloudCompare Core algorithms
Public Member Functions | List of all members
CCCoreLib::GenericIndexedCloudPersist Class Referenceabstract

A generic 3D point cloud with index-based and presistent access to points. More...

#include <GenericIndexedCloudPersist.h>

Inheritance diagram for CCCoreLib::GenericIndexedCloudPersist:
Inheritance graph
[legend]
Collaboration diagram for CCCoreLib::GenericIndexedCloudPersist:
Collaboration graph
[legend]

Public Member Functions

 GenericIndexedCloudPersist ()=default
 Default constructor.
 
 GenericIndexedCloudPersist (const char *name, unsigned ID)
 Mock constructor for compatibility with the PointCloudTpl interface. More...
 
 ~GenericIndexedCloudPersist () override=default
 Default destructor.
 
virtual const CCVector3getPointPersistentPtr (unsigned index) const =0
 Returns the ith point as a persistent pointer. More...
 
- Public Member Functions inherited from CCCoreLib::GenericIndexedCloud
 GenericIndexedCloud ()=default
 Default constructor.
 
 ~GenericIndexedCloud () override=default
 Default destructor.
 
virtual const CCVector3getPoint (unsigned index) const =0
 Returns the ith point. More...
 
virtual void getPoint (unsigned index, CCVector3 &P) const =0
 Returns the ith point. More...
 
virtual bool normalsAvailable () const
 Returns whether normals are available. More...
 
virtual const CCVector3getNormal (unsigned index) const
 If per-point normals are available, returns the one at a specific index. More...
 
- Public Member Functions inherited from CCCoreLib::GenericCloud
 GenericCloud ()=default
 Default constructor.
 
virtual ~GenericCloud ()=default
 Default destructor.
 
virtual unsigned size () const =0
 Returns the number of points. More...
 
virtual void forEach (genericPointAction action)=0
 Fast iteration mechanism. More...
 
virtual void getBoundingBox (CCVector3 &bbMin, CCVector3 &bbMax)=0
 Returns the cloud bounding box. More...
 
virtual unsigned char testVisibility (const CCVector3 &P) const
 Returns a given point visibility state (relatively to a sensor for instance) More...
 
virtual void placeIteratorAtBeginning ()=0
 Sets the cloud iterator at the beginning. More...
 
virtual const CCVector3getNextPoint ()=0
 Returns the next point (relatively to the global iterator position) More...
 
virtual bool enableScalarField ()=0
 Enables the scalar field associated to the cloud. More...
 
virtual bool isScalarFieldEnabled () const =0
 Returns true if the scalar field is enabled, false otherwise. More...
 
virtual void setPointScalarValue (unsigned pointIndex, ScalarType value)=0
 Sets the ith point associated scalar value. More...
 
virtual ScalarType getPointScalarValue (unsigned pointIndex) const =0
 Returns the ith point associated scalar value. More...
 

Additional Inherited Members

- Public Types inherited from CCCoreLib::GenericCloud
using genericPointAction = std::function< void(const CCVector3 &, ScalarType &)>
 Generic function applied to a point (used by foreach)
 

Detailed Description

A generic 3D point cloud with index-based and presistent access to points.

Implements the GenericIndexedCloud interface.

Constructor & Destructor Documentation

◆ GenericIndexedCloudPersist()

CCCoreLib::GenericIndexedCloudPersist::GenericIndexedCloudPersist ( const char *  name,
unsigned  ID 
)
inline

Mock constructor for compatibility with the PointCloudTpl interface.

Warning
Parameters are simply ignored
Parameters
nameignored
IDignored

Member Function Documentation

◆ getPointPersistentPtr()

virtual const CCVector3 * CCCoreLib::GenericIndexedCloudPersist::getPointPersistentPtr ( unsigned  index) const
pure virtual

Returns the ith point as a persistent pointer.

Virtual method to request a point with a specific index. WARNING: the returned object MUST be persistent in order to be compatible with parallel strategies!

Parameters
indexof the requested point (between 0 and the cloud size minus 1)
Returns
the requested point (or 0 if index is invalid)

Implemented in CCCoreLib::DgmOctreeReferenceCloud, and CCCoreLib::ReferenceCloud.


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