DGtal 1.4.0
|
Aim: A functor Matrix -> std::pair<RealVector,RealVector> that returns the first and the second principal curvature directions by diagonalizing the given covariance matrix. This functor is valid only for 3D space. Note that by second we mean the direction with second greatest curvature in absolute value. More...
#include <DGtal/geometry/surfaces/estimation/IIGeometricFunctors.h>
Public Types | |
typedef IIPrincipalCurvaturesAndDirectionsFunctor< TSpace > | Self |
typedef TSpace | Space |
typedef Space::RealVector | RealVector |
typedef RealVector::Component | Component |
typedef TMatrix | Matrix |
typedef Matrix | Argument |
typedef std::tuple< double, double, RealVector, RealVector > | Quantity |
typedef Quantity | Value |
Public Member Functions | |
BOOST_CONCEPT_ASSERT ((concepts::CMatrix< Matrix >)) | |
BOOST_CONCEPT_ASSERT ((concepts::CSpace< TSpace >)) | |
BOOST_STATIC_ASSERT ((Space::dimension==3)) | |
Value | operator() (const Argument &arg) const |
void | init (Component h, Component r) |
Private Attributes | |
double | dh5 |
double | d6_PIr6 |
double | d8_5r |
Matrix | eigenVectors |
A data member only used for temporary calculations. | |
RealVector | eigenValues |
A data member only used for temporary calculations. | |
Aim: A functor Matrix -> std::pair<RealVector,RealVector> that returns the first and the second principal curvature directions by diagonalizing the given covariance matrix. This functor is valid only for 3D space. Note that by second we mean the direction with second greatest curvature in absolute value.
Description of template class 'IIPrincipalCurvaturesAndDirectionsFunctor'
TSpace | a model of CSpace, for instance SpaceND. |
TMatrix | a model of CMatrix, for instance SimpleMatrix. |
Definition at line 460 of file IIGeometricFunctors.h.
typedef Matrix DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::Argument |
Definition at line 469 of file IIGeometricFunctors.h.
typedef RealVector::Component DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::Component |
Definition at line 467 of file IIGeometricFunctors.h.
typedef TMatrix DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::Matrix |
Definition at line 468 of file IIGeometricFunctors.h.
typedef std::tuple<double, double, RealVector, RealVector> DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::Quantity |
Definition at line 470 of file IIGeometricFunctors.h.
typedef Space::RealVector DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::RealVector |
Definition at line 466 of file IIGeometricFunctors.h.
typedef IIPrincipalCurvaturesAndDirectionsFunctor<TSpace> DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::Self |
Definition at line 464 of file IIGeometricFunctors.h.
typedef TSpace DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::Space |
Definition at line 465 of file IIGeometricFunctors.h.
typedef Quantity DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::Value |
Definition at line 471 of file IIGeometricFunctors.h.
DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::BOOST_CONCEPT_ASSERT | ( | (concepts::CMatrix< Matrix >) | ) |
DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::BOOST_CONCEPT_ASSERT | ( | (concepts::CSpace< TSpace >) | ) |
DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::BOOST_STATIC_ASSERT | ( | (Space::dimension==3) | ) |
|
inline |
Initializes the functor with the gridstep and the ball Euclidean radius.
Definition at line 506 of file IIGeometricFunctors.h.
References DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::d6_PIr6, DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::d8_5r, and DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::dh5.
|
inline |
Apply operator.
arg | any symmetric positive matrix (covariance matrix |
Definition at line 484 of file IIGeometricFunctors.h.
References DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::d6_PIr6, DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::d8_5r, DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::dh5, DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::eigenValues, and DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::eigenVectors.
|
private |
Definition at line 518 of file IIGeometricFunctors.h.
Referenced by DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::init(), and DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::operator()().
|
private |
Definition at line 519 of file IIGeometricFunctors.h.
Referenced by DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::init(), and DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::operator()().
|
private |
Definition at line 517 of file IIGeometricFunctors.h.
Referenced by DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::init(), and DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::operator()().
|
mutableprivate |
A data member only used for temporary calculations.
Definition at line 523 of file IIGeometricFunctors.h.
Referenced by DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::operator()().
|
mutableprivate |
A data member only used for temporary calculations.
Definition at line 521 of file IIGeometricFunctors.h.
Referenced by DGtal::functors::IIPrincipalCurvaturesAndDirectionsFunctor< TSpace, TMatrix >::operator()().