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

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

#include <covariancePlaneFit.h>

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

Public Types

using Scalar = typename DataPoint::Scalar
 Alias to scalar type.
 
using VectorType = typename Base::VectorType
 Alias to vector type.
 
using WFunctor = typename Base::WFunctor
 Alias to weight function.
 
using MatrixType = typename DataPoint::MatrixType
 Alias to matrix type.
 

Public Member Functions

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

Protected Types

enum  { Check , PROVIDES_TANGENT_PLANE_BASIS }
 
using Base = T
 Base class of the procedure.
 

Detailed Description

template<class DataPoint, class _WFunctor, typename T>
class Ponca::CovariancePlaneFitImpl< DataPoint, _WFunctor, T >

Plane fitting procedure using only points position.

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

See also
Plane

Definition at line 33 of file covariancePlaneFit.h.

Member Typedef Documentation

◆ Base

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

Base class of the procedure.

Definition at line 35 of file covariancePlaneFit.h.

◆ MatrixType

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

Alias to matrix type.

Definition at line 36 of file covariancePlaneFit.h.

◆ Scalar

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

Alias to scalar type.

Definition at line 35 of file covariancePlaneFit.h.

◆ VectorType

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

Alias to vector type.

Definition at line 35 of file covariancePlaneFit.h.

◆ WFunctor

template<class DataPoint , class _WFunctor , typename T >
using Ponca::CovariancePlaneFitImpl< DataPoint, _WFunctor, T >::WFunctor = typename Base::WFunctor

Alias to weight function.

Definition at line 35 of file covariancePlaneFit.h.

Member Enumeration Documentation

◆ anonymous enum

template<class DataPoint , class _WFunctor , typename T >
anonymous enum
protected
Enumerator
PROVIDES_TANGENT_PLANE_BASIS 

Expose a method worldToTangentPlane(VectorType), which turns a point in ambient 3D space to the tangent plane.

See also
worldToTangentPlane
tangentPlaneToWorld

Definition at line 39 of file covariancePlaneFit.h.

Member Function Documentation

◆ covariancePlaneFit() [1/2]

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

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

Definition at line 53 of file covariancePlaneFit.h.

◆ covariancePlaneFit() [2/2]

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

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

Definition at line 53 of file covariancePlaneFit.h.

◆ finalize()

template<class DataPoint , class _WFunctor , typename T >
FIT_RESULT CovariancePlaneFitImpl::finalize ( )
inline

Finalize the procedure.

Returns
Fitting Status
Warning
Must be called be for any use of the fitting output

Definition at line 12 of file covariancePlaneFit.hpp.

◆ isSigned()

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

Is scalar field signed.

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

Definition at line 55 of file covariancePlaneFit.h.

◆ tangentPlaneToWorld() [1/2]

template<class DataPoint , class _WFunctor , typename T >
template<bool ignoreTranslation>
CovariancePlaneFitImpl< DataPoint, _WFunctor, T >::VectorType Ponca::CovariancePlaneFitImpl< DataPoint, _WFunctor, T >::tangentPlaneToWorld ( const VectorType _lq) const

Definition at line 38 of file covariancePlaneFit.hpp.

◆ tangentPlaneToWorld() [2/2]

template<class DataPoint , class _WFunctor , typename T >
template<bool ignoreTranslation = false>
VectorType Ponca::CovariancePlaneFitImpl< DataPoint, _WFunctor, T >::tangentPlaneToWorld ( const VectorType _q) const
inline

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

Template Parameters
ignoreTranslationmust be set to true when passing vectors instead of points
Parameters
_qPoint coordinates expressed in local tangent frame
Returns
Point coordinates expressed in ambient space

◆ worldToTangentPlane() [1/2]

template<class DataPoint , class _WFunctor , typename T >
template<bool ignoreTranslation = false>
VectorType Ponca::CovariancePlaneFitImpl< DataPoint, _WFunctor, T >::worldToTangentPlane ( const VectorType _q) 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.

Template Parameters
ignoreTranslationmust be set to true when passing vectors instead of points
Parameters
_qPoint coordinates expressed in ambient space
Returns
Point coordinates expressed in local tangent frame

◆ worldToTangentPlane() [2/2]

template<class DataPoint , class _WFunctor , typename T >
template<bool ignoreTranslation>
CovariancePlaneFitImpl< DataPoint, _WFunctor, T >::VectorType Ponca::CovariancePlaneFitImpl< DataPoint, _WFunctor, T >::worldToTangentPlane ( const VectorType _q) const

Definition at line 25 of file covariancePlaneFit.hpp.