ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ccLibAlgorithms Namespace Reference

Classes

struct  GeomCharacteristic
 Geometric characteristic (with sub option) More...
 

Typedefs

typedef std::vector< GeomCharacteristicGeomCharacteristicSet
 Set of GeomCharacteristic instances. More...
 

Enumerations

enum  CC_LIB_ALGORITHM { CCLIB_ALGO_SF_GRADIENT }
 
enum  ScaleMatchingAlgorithm { BB_MAX_DIM , BB_VOLUME , PCA_MAX_DIM , ICP_SCALE }
 Scale matching algorithms. More...
 

Functions

static QString GetDensitySFName (cloudViewer::GeometricalAnalysisTools::Density densityType, bool approx, double densityKernelSize=0.0)
 
PointCoordinateType GetDefaultCloudKernelSize (ccGenericPointCloud *cloud, unsigned knn=12)
 Returns a default first guess for algorithms kernel size (one cloud) More...
 
PointCoordinateType GetDefaultCloudKernelSize (const ccHObject::Container &entities, unsigned knn=12)
 Returns a default first guess for algorithms kernel size (several clouds) More...
 
bool ComputeGeomCharacteristics (const GeomCharacteristicSet &characteristics, PointCoordinateType radius, ccHObject::Container &entities, const CCVector3 *roughnessUpDir, QWidget *parent)
 
bool ComputeGeomCharacteristic (cloudViewer::GeometricalAnalysisTools::GeomCharacteristic c, int subOption, PointCoordinateType radius, ccHObject::Container &entities, const CCVector3 *roughnessUpDir, QWidget *parent, ecvProgressDialog *progressDialog)
 
bool ApplyCCLibAlgorithm (CC_LIB_ALGORITHM algo, ccHObject::Container &entities, QWidget *parent, void **additionalParameters)
 
bool ApplyScaleMatchingAlgorithm (ScaleMatchingAlgorithm algo, ccHObject::Container &entities, double icpRmsDiff, int icpFinalOverlap, unsigned refEntityIndex, QWidget *parent)
 

Typedef Documentation

◆ GeomCharacteristicSet

Set of GeomCharacteristic instances.

Definition at line 42 of file ecvLibAlgorithms.h.

Enumeration Type Documentation

◆ CC_LIB_ALGORITHM

Enumerator
CCLIB_ALGO_SF_GRADIENT 

Definition at line 64 of file ecvLibAlgorithms.h.

◆ ScaleMatchingAlgorithm

Scale matching algorithms.

Enumerator
BB_MAX_DIM 
BB_VOLUME 
PCA_MAX_DIM 
ICP_SCALE 

Definition at line 76 of file ecvLibAlgorithms.h.

Function Documentation

◆ ApplyCCLibAlgorithm()

◆ ApplyScaleMatchingAlgorithm()

bool ccLibAlgorithms::ApplyScaleMatchingAlgorithm ( ScaleMatchingAlgorithm  algo,
ccHObject::Container entities,
double  icpRmsDiff,
int  icpFinalOverlap,
unsigned  refEntityIndex = 0,
QWidget *  parent = 0 
)

Applies a standard cloudViewer algorithm (see CC_LIB_ALGORITHM) on a set of entities

Definition at line 557 of file ecvLibAlgorithms.cpp.

References cloudViewer::ICPRegistrationTools::Parameters::adjustScale, BB_MAX_DIM, BB_VOLUME, cloudViewer::BoundingBoxTpl< T >::computeVolume(), cloudViewer::ICPRegistrationTools::Parameters::convType, count, ecvUtils::DisplayLockedVerticesWarning(), dot(), CVLog::Error(), cloudViewer::ICPRegistrationTools::Parameters::filterOutFarthestPoints, cloudViewer::ICPRegistrationTools::Parameters::finalOverlapRatio, cloudViewer::BoundingBoxTpl< T >::getCenter(), ccShiftedObject::getGlobalShift(), cloudViewer::Neighbourhood::getGravityCenter(), cloudViewer::Neighbourhood::getLSPlane(), cloudViewer::Neighbourhood::getLSPlaneX(), cloudViewer::BoundingBoxTpl< T >::getMaxBoxDim(), ccObject::getName(), ccHObject::getOwnBB(), ccGenericPointCloud::getOwnBB(), cloudViewer::GenericIndexedCloud::getPoint(), ccHObject::getViewId(), ccRegistrationTools::ICP(), ICP_SCALE, ccObject::isKindOf(), cloudViewer::BoundingBoxTpl< T >::isValid(), max(), cloudViewer::ICPRegistrationTools::MAX_ERROR_CONVERGENCE, cloudViewer::ICPRegistrationTools::Parameters::maxThreadCount, CV_TYPES::MESH, min(), cloudViewer::ICPRegistrationTools::Parameters::minRMSDecrease, cloudViewer::ICPRegistrationTools::Parameters::nbMaxIterations, cloudViewer::ICPRegistrationTools::NO_NORMAL, cloudViewer::ICPRegistrationTools::Parameters::normalsMatching, nProgress, cloudViewer::NormalizedProgress::oneStep(), PCA_MAX_DIM, CV_TYPES::POINT_CLOUD, CVLog::Print(), MainWindow::putObjectBackIntoDBTree(), ecvDisplayTools::RedrawDisplay(), ecvDisplayTools::RemoveBB(), MainWindow::removeObjectTemporarilyFromDBTree(), cloudViewer::ICPRegistrationTools::Parameters::samplingLimit, ccGenericPointCloud::scale(), ccShiftedObject::setGlobalShift(), ecvProgressDialog::setInfo(), ecvProgressDialog::setMethodTitle(), ccDrawableObject::setRedraw(), ecvDisplayTools::SetRedrawRecursive(), cloudViewer::GenericCloud::size(), ecvProgressDialog::start(), ccHObjectCaster::ToGenericPointCloud(), cloudViewer::ICPRegistrationTools::Parameters::transformationFilters, cloudViewer::ICPRegistrationTools::Parameters::useC2MSignedDistances, CVLog::Warning(), X, and ZERO_TOLERANCE_D.

◆ ComputeGeomCharacteristic()

bool ccLibAlgorithms::ComputeGeomCharacteristic ( cloudViewer::GeometricalAnalysisTools::GeomCharacteristic  algo,
int  subOption,
PointCoordinateType  radius,
ccHObject::Container entities,
const CCVector3 roughnessUpDir = nullptr,
QWidget *  parent = nullptr,
ecvProgressDialog progressDialog = nullptr 
)

Computes a geometrical characteristic (see GeometricalAnalysisTools::GeomCharacteristic) on a set of entities

Definition at line 146 of file ecvLibAlgorithms.cpp.

References ccPointCloud::addScalarField(), cloudViewer::Neighbourhood::Anisotropy, cloudViewer::GeometricalAnalysisTools::ApproxLocalDensity, CC_CURVATURE_GAUSSIAN_FIELD_NAME, CC_CURVATURE_MEAN_FIELD_NAME, CC_CURVATURE_NORM_CHANGE_RATE_FIELD_NAME, CC_MOMENT_ORDER1_FIELD_NAME, CC_ROUGHNESS_FIELD_NAME, cloudViewer::GeometricalAnalysisTools::ComputeCharactersitic(), cloudViewer::ScalarField::computeMinAndMax(), ccGenericPointCloud::computeOctree(), cloudViewer::GeometricalAnalysisTools::Curvature, ccPointCloud::deleteScalarField(), cloudViewer::Neighbourhood::EigenEntropy, cloudViewer::Neighbourhood::EigenValue1, cloudViewer::Neighbourhood::EigenValue2, cloudViewer::Neighbourhood::EigenValue3, cloudViewer::Neighbourhood::EigenValuesSum, CVLog::Error(), cloudViewer::GeometricalAnalysisTools::Feature, cloudViewer::Neighbourhood::GAUSSIAN_CURV, cloudViewer::PointCloudTpl< T >::getCurrentInScalarField(), GetDensitySFName(), ccObject::getName(), ccGenericPointCloud::getOctree(), cloudViewer::PointCloudTpl< T >::getScalarFieldIndexByName(), cloudViewer::GeometricalAnalysisTools::InvalidInput, ccObject::isA(), cloudViewer::Neighbourhood::Linearity, cloudViewer::GeometricalAnalysisTools::LocalDensity, cloudViewer::Neighbourhood::MEAN_CURV, cloudViewer::GeometricalAnalysisTools::MomentOrder1, cloudViewer::GeometricalAnalysisTools::NoError, cloudViewer::Neighbourhood::NORMAL_CHANGE_RATE, cloudViewer::GeometricalAnalysisTools::NotEnoughMemory, cloudViewer::GeometricalAnalysisTools::NotEnoughPoints, octree, cloudViewer::GeometricalAnalysisTools::OctreeComputationFailed, cloudViewer::Neighbourhood::Omnivariance, cloudViewer::Neighbourhood::PCA1, cloudViewer::Neighbourhood::PCA2, cloudViewer::Neighbourhood::Planarity, CV_TYPES::POINT_CLOUD, cloudViewer::GeometricalAnalysisTools::ProcessCancelledByUser, cloudViewer::GeometricalAnalysisTools::ProcessFailed, result, cloudViewer::GeometricalAnalysisTools::Roughness, ccPointCloud::setCurrentDisplayedScalarField(), cloudViewer::PointCloudTpl< T >::setCurrentScalarField(), ccScalarField::setSymmetricalScale(), ccDrawableObject::showSF(), cloudViewer::Neighbourhood::Sphericity, cloudViewer::Neighbourhood::SurfaceVariation, ccHObjectCaster::ToGenericPointCloud(), cloudViewer::GeometricalAnalysisTools::UnhandledCharacteristic, cloudViewer::Neighbourhood::Verticality, and CVLog::Warning().

Referenced by ComputeGeomCharacteristics(), CommandCurvature::process(), CommandApproxDensity::process(), CommandDensity::process(), CommandRoughness::process(), CommandMoment::process(), and CommandFeature::process().

◆ ComputeGeomCharacteristics()

bool ccLibAlgorithms::ComputeGeomCharacteristics ( const GeomCharacteristicSet characteristics,
PointCoordinateType  radius,
ccHObject::Container entities,
const CCVector3 roughnessUpDir = nullptr,
QWidget *  parent = nullptr 
)

Computes geometrical characteristics (see GeometricalAnalysisTools::GeomCharacteristic) on a set of entities

Definition at line 109 of file ecvLibAlgorithms.cpp.

References ComputeGeomCharacteristic(), and Tuple3Tpl< Type >::data().

◆ GetDefaultCloudKernelSize() [1/2]

PointCoordinateType ccLibAlgorithms::GetDefaultCloudKernelSize ( ccGenericPointCloud cloud,
unsigned  knn 
)

◆ GetDefaultCloudKernelSize() [2/2]

PointCoordinateType ccLibAlgorithms::GetDefaultCloudKernelSize ( const ccHObject::Container entities,
unsigned  knn 
)

Returns a default first guess for algorithms kernel size (several clouds)

Definition at line 92 of file ecvLibAlgorithms.cpp.

References GetDefaultCloudKernelSize(), PC_ONE, and ccHObjectCaster::ToPointCloud().

◆ GetDensitySFName()