ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::GenericIndexedCloud Class Referenceabstract

A generic 3D point cloud with index-based point access. More...

#include <GenericIndexedCloud.h>

Inheritance diagram for cloudViewer::GenericIndexedCloud:
Collaboration diagram for cloudViewer::GenericIndexedCloud:

Public Member Functions

 ~GenericIndexedCloud () override=default
 Default destructor. More...
 
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 void getPoint (unsigned index, double P[3]) const
 
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 cloudViewer::GenericCloud
 GenericCloud ()=default
 Default constructor. More...
 
virtual ~GenericCloud ()=default
 Default destructor. More...
 
virtual unsigned size () const =0
 Returns the number of points. More...
 
virtual bool hasPoints () const
 
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
 
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 cloudViewer::GenericCloud
using genericPointAction = std::function< void(const CCVector3 &, ScalarType &)>
 Generic function applied to a point (used by foreach) More...
 

Detailed Description

A generic 3D point cloud with index-based point access.

Implements the GenericCloud interface.

Definition at line 18 of file GenericIndexedCloud.h.

Constructor & Destructor Documentation

◆ ~GenericIndexedCloud()

cloudViewer::GenericIndexedCloud::~GenericIndexedCloud ( )
overridedefault

Default destructor.

Member Function Documentation

◆ getNormal()

virtual const CCVector3* cloudViewer::GenericIndexedCloud::getNormal ( unsigned  index) const
inlinevirtual

If per-point normals are available, returns the one at a specific index.

Warning
If overriden, this method should return a valid normal for all points

Reimplemented in ccPointCloud, and cloudViewer::PointCloud.

Definition at line 59 of file GenericIndexedCloud.h.

Referenced by cloudViewer::PointProjectionTools::Transformation::apply(), and cloudViewer::PointProjectionTools::applyTransformation().

◆ getPoint() [1/3]

virtual const CCVector3* cloudViewer::GenericIndexedCloud::getPoint ( unsigned  index) const
pure virtual

Returns the ith point.

Virtual method to request a point with a specific index. WARNINGS:

  • the returned object may not be persistent!
  • THIS METHOD MAY NOT BE COMPATIBLE WITH PARALLEL STRATEGIES (see the DgmOctree::executeFunctionForAllCellsAtLevel_MT and DgmOctree::executeFunctionForAllCellsAtStartingLevel_MT methods). Consider the other version of getPoint instead or the GenericIndexedCloudPersist class.
    Parameters
    indexof the requested point (between 0 and the cloud size minus 1)
    Returns
    the requested point (undefined behavior if index is invalid)

Implemented in PyGenericIndexedCloud< GenericIndexedCloudBase >, cloudViewer::ReferenceCloud, cloudViewer::PointCloudTpl< ccGenericPointCloud >, cloudViewer::PointCloudTpl< GenericIndexedCloudPersist >, and cloudViewer::DgmOctreeReferenceCloud.

Referenced by cloudViewer::Delaunay2dMesh::_getNextTriangle(), cloudViewer::Delaunay2dMesh::_getTriangle(), cloudViewer::SimpleMesh::_getTriangle(), ccDBRoot::alignCameraWithEntity(), cloudViewer::PointProjectionTools::Transformation::apply(), ccLibAlgorithms::ApplyScaleMatchingAlgorithm(), cloudViewer::PointProjectionTools::applyTransformation(), cloudViewer::KDTree::buildSubTree(), CCCloudToDraco(), cloudViewer::KDTree::checkDistantPointInSubTree(), cloudViewer::KDTree::checkNearerPointInSubTree(), ComparisonX(), ComparisonY(), ComparisonZ(), cloudViewer::Neighbourhood::compute3DQuadric(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistance(), cloudViewer::DistanceComputationTools::computeCellHausdorffDistanceWithLocalModel(), cloudViewer::DistanceComputationTools::computeCloud2BoxEquation(), cloudViewer::DistanceComputationTools::computeCloud2ConeEquation(), cloudViewer::DistanceComputationTools::computeCloud2CylinderEquation(), cloudViewer::DistanceComputationTools::computeCloud2DiscEquation(), cloudViewer::DistanceComputationTools::computeCloud2PlaneEquation(), cloudViewer::DistanceComputationTools::computeCloud2PolylineEquation(), cloudViewer::DistanceComputationTools::computeCloud2RectangleEquation(), cloudViewer::DistanceComputationTools::computeCloud2SphereEquation(), cloudViewer::Neighbourhood::computeCovarianceMatrix(), ComputeFacetExtensions(), cloudViewer::DistanceComputationTools::computeGeodesicDistances(), cloudViewer::Neighbourhood::computeGravityCenter(), cloudViewer::Neighbourhood::computeLargestRadius(), cloudViewer::Neighbourhood::computeLeastSquareBestFittingPlane(), ComputeMathOpWithNearestNeighbor(), cloudViewer::Neighbourhood::computeMomentOrder1(), cloudViewer::Neighbourhood::computeQuadric(), DistanceMapGenerationTool::ComputeRadialDist(), cloudViewer::FPCSRegistrationTools::ComputeRegistrationScore(), DistanceMapGenerationTool::ComputeSurfacesAndVolumes(), cloudViewer::PointProjectionTools::computeTriangulation(), DistanceMapGenerationTool::ConvertMapToCloud(), DistanceMapGenerationTool::ConvertProfileToMesh(), cloudViewer::GeometricalAnalysisTools::DetectCircle(), cloudViewer::GeometricalAnalysisTools::DetectSphereRobust(), cloudViewer::KDTree::distanceScanTree(), ccGraphicalSegmentationTool::doActionUseExistingPolyline(), ccPointListPickingDlg::exportToASCII(), ccPointListPickingDlg::exportToNewCloud(), ccPointListPickingDlg::exportToNewPolyline(), cloudViewer::FPCSRegistrationTools::FilterCandidates(), cloudViewer::FPCSRegistrationTools::FindBase(), ccInnerRect2DFinder::findBiggestRect(), cloudViewer::FPCSRegistrationTools::FindCongruentBases(), cloudViewer::KDTree::findNearestNeighbour(), cloudViewer::KDTree::findNearestNeighbourWithMaxDist(), cloudViewer::KDTree::findPointBelowDistance(), cloudViewer::Delaunay2dMesh::forEach(), cloudViewer::SimpleMesh::forEach(), cloudViewer::AutoSegmentationTools::frontPropagationBasedSegmentation(), ccRasterizeTool::generateContours(), cloudViewer::DgmOctree::genericBuild(), cloudViewer::ReferenceCloud::getBoundingBox(), ccMPlanePoint::getCoordinates(), cloudViewer::DgmOctree::getPointsInBoxNeighbourhood(), cloudViewer::DgmOctree::getPointsInCylindricalNeighbourhood(), cloudViewer::DgmOctree::getPointsInCylindricalNeighbourhoodProgressive(), cloudViewer::DgmOctree::getPointsInSphericalNeighbourhood(), cloudViewer::Delaunay2dMesh::getTriangleVertices(), cloudViewer::SimpleMesh::getTriangleVertices(), ImportSourceVertices(), ccInnerRect2DFinder::init(), cloudViewer::SimpleMesh::interpolateNormals(), cloudViewer::ManualSegmentationTools::isPointInsidePoly(), MergeOldTriangles(), ccTracePolylineTool::polylineOverSampling(), masc::ContextBasedFeature::prepare(), masc::Tools::PrepareFeatures(), cloudViewer::DgmOctree::rayCast(), RefinePointClassif(), cloudViewer::GeometricalAnalysisTools::RefineSphereLS(), cloudViewer::FPCSRegistrationTools::RegisterClouds(), cloudViewer::Delaunay2dMesh::removeTrianglesWithEdgesLongerThan(), cloudViewer::CloudSamplingTools::resampleCloudSpatially(), MAFilter::saveToFile(), LASFilter::saveToFile(), ccGraphicalSegmentationTool::segment(), cloudViewer::ManualSegmentationTools::segment(), cloudViewer::ManualSegmentationTools::segmentMeshWithAAPlane(), cloudViewer::Delaunay2dMesh::TesselateContour(), ToFbxMesh(), cloudViewer::Neighbourhood::triangulateOnPlane(), MinimumCutSegmentationDlg::updateForeGroundPoint(), cloudViewer::KDTree::updateInsideBoundingBox(), ccPointListPickingDlg::updateList(), and cloudViewer::KDTree::updateOutsideBoundingBox().

◆ getPoint() [2/3]

virtual void cloudViewer::GenericIndexedCloud::getPoint ( unsigned  index,
CCVector3 P 
) const
pure virtual

Returns the ith point.

Virtual method to request a point with a specific index. Index must be valid (undefined behavior if index is invalid)

Parameters
indexof the requested point (between 0 and the cloud size minus 1)
Poutput point

Implemented in PyGenericIndexedCloud< GenericIndexedCloudBase >, cloudViewer::ReferenceCloud, cloudViewer::PointCloudTpl< ccGenericPointCloud >, cloudViewer::PointCloudTpl< GenericIndexedCloudPersist >, and cloudViewer::DgmOctreeReferenceCloud.

◆ getPoint() [3/3]

◆ normalsAvailable()

virtual bool cloudViewer::GenericIndexedCloud::normalsAvailable ( ) const
inlinevirtual

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