Ponca  2cfe00173bb12dda99e12b2b48a0e1f683bc5cdd
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T > Class Template Reference

Plane fitting procedure using only points position. More...

#include <covariancePlaneFit.h>

Inheritance diagram for Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >:
Collaboration diagram for Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >:

Public Types

using Scalar = typename DataPoint::Scalar
 Alias to scalar type.
using VectorType = typename Base::VectorType
 Alias to vector type.
using NeighborFilter = typename Base::NeighborFilter
 Alias to the filter applied on the neighbors.
using MatrixType = typename DataPoint::MatrixType
 Alias to matrix type.

Public Member Functions

CovariancePlaneFitImpl< DataPoint, _NFilter, T > & covariancePlaneFit ()
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
const CovariancePlaneFitImpl< DataPoint, _NFilter, T > & covariancePlaneFit () const
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
CovariancePlaneFitImpl< DataPoint, _NFilter, T > & tangentPlaneBasis ()
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
const CovariancePlaneFitImpl< DataPoint, _NFilter, T > & tangentPlaneBasis () const
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
FIT_RESULT finalize ()
constexpr bool isSigned ()
 Is scalar field signed.
VectorType worldToTangentPlane (const VectorType &_q, bool _isPositionVector=true) const
 Express a point in ambient space relatively to the tangent plane.
VectorType tangentPlaneToWorld (const VectorType &_q, bool _isPositionVector=true) const
 Transform a point from the tangent plane [h, u, v]^T to ambient space.

Protected Types

using Base = T
 Base class of the procedure.

Detailed Description

template<class DataPoint, class _NFilter, typename T>
requires ProvidesPlane<T>
class Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >

Plane fitting procedure using only points position.

This class can also computes the surface variation measure introduced in [16].

See also
Plane

Definition at line 38 of file covariancePlaneFit.h.

Member Typedef Documentation

◆ Base

template<class DataPoint, class _NFilter, typename T>
using Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::Base = T
protected

Base class of the procedure.

Definition at line 40 of file covariancePlaneFit.h.

◆ MatrixType

template<class DataPoint, class _NFilter, typename T>
using Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::MatrixType = typename DataPoint::MatrixType

Alias to matrix type.

Definition at line 41 of file covariancePlaneFit.h.

◆ NeighborFilter

template<class DataPoint, class _NFilter, typename T>
using Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::NeighborFilter = typename Base::NeighborFilter

Alias to the filter applied on the neighbors.

Definition at line 40 of file covariancePlaneFit.h.

◆ Scalar

template<class DataPoint, class _NFilter, typename T>
using Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::Scalar = typename DataPoint::Scalar

Alias to scalar type.

Definition at line 40 of file covariancePlaneFit.h.

◆ VectorType

template<class DataPoint, class _NFilter, typename T>
using Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::VectorType = typename Base::VectorType

Alias to vector type.

Definition at line 40 of file covariancePlaneFit.h.

Member Function Documentation

◆ covariancePlaneFit() [1/2]

template<class DataPoint, class _NFilter, typename T>
CovariancePlaneFitImpl< DataPoint, _NFilter, T > & Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::covariancePlaneFit ( )
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 43 of file covariancePlaneFit.h.

◆ covariancePlaneFit() [2/2]

template<class DataPoint, class _NFilter, typename T>
const CovariancePlaneFitImpl< DataPoint, _NFilter, T > & Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::covariancePlaneFit ( ) const
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 43 of file covariancePlaneFit.h.

◆ finalize()

template<class DataPoint, class _NFilter, typename T>
requires ProvidesPlane<T>
FIT_RESULT CovariancePlaneFitImpl::finalize ( )
inline

Definition at line 13 of file covariancePlaneFit.h.

◆ isSigned()

template<class DataPoint, class _NFilter, typename T>
bool Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::isSigned ( )
inlineconstexpr

Is scalar field signed.

If not, the method the sign of potential() must be ignored

Definition at line 46 of file covariancePlaneFit.h.

◆ tangentPlaneBasis() [1/2]

template<class DataPoint, class _NFilter, typename T>
CovariancePlaneFitImpl< DataPoint, _NFilter, T > & Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::tangentPlaneBasis ( )
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 44 of file covariancePlaneFit.h.

◆ tangentPlaneBasis() [2/2]

template<class DataPoint, class _NFilter, typename T>
const CovariancePlaneFitImpl< DataPoint, _NFilter, T > & Ponca::CovariancePlaneFitImpl< DataPoint, _NFilter, T >::tangentPlaneBasis ( ) const
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 44 of file covariancePlaneFit.h.

◆ tangentPlaneToWorld()

template<class DataPoint, class _NFilter, typename T>
requires ProvidesPlane<T>
CovariancePlaneFitImpl< DataPoint, _NFilter, T >::VectorType CovariancePlaneFitImpl::tangentPlaneToWorld ( const VectorType & _q,
bool _isPositionVector = true ) const
inline

Transform a point from the tangent plane [h, u, v]^T to ambient space.

Parameters
_qVector expressed in local tangent frame
_isPositionVectorIndicate if the input vector _q is a position that is influenced by translations (e.g., in contrast to displacement or normal vectors)
Returns
Vector expressed in ambient space

Definition at line 37 of file covariancePlaneFit.h.

◆ worldToTangentPlane()

template<class DataPoint, class _NFilter, typename T>
requires ProvidesPlane<T>
CovariancePlaneFitImpl< DataPoint, _NFilter, T >::VectorType CovariancePlaneFitImpl::worldToTangentPlane ( const VectorType & _q,
bool _isPositionVector = true ) const
inline

Express a point in ambient space relatively to the tangent plane.

Output vector is: [h, u, v]^T, where u, v are 2d coordinates on the plane, and h the height of the sample.

Parameters
_qVector expressed in ambient space
_isPositionVectorIndicate if the input vector _q is a position that is influenced by translations (e.g., in contrast to displacement or normal vectors)
Returns
Vector expressed in local tangent frame

Definition at line 28 of file covariancePlaneFit.h.