DGtal
1.5.beta
|
Aim: Estimates Mean curvature using CGAL Jet Fitting and Monge Form. More...
#include <DGtal/geometry/surfaces/estimation/estimationFunctors/MongeJetFittingMeanCurvatureEstimator.h>
Public Types | |
typedef TSurfel | Surfel |
typedef TEmbedder | SCellEmbedder |
typedef double | Quantity |
typedef SCellEmbedder::RealPoint | RealPoint |
typedef CGAL::Cartesian< double > | CGALKernel |
typedef CGALKernel::Point_3 | CGALPoint |
typedef CGAL::Monge_via_jet_fitting< CGALKernel > | CGALMongeViaJet |
typedef CGALMongeViaJet::Monge_form | CGALMongeForm |
Public Member Functions | |
MongeJetFittingMeanCurvatureEstimator (ConstAlias< SCellEmbedder > anEmbedder, const double h, unsigned int d=4) | |
void | pushSurfel (const Surfel &aSurf, const double aDistance) |
Quantity | eval () |
void | reset () |
Private Attributes | |
const SCellEmbedder * | myEmbedder |
Alias of the geometrical embedder. More... | |
std::vector< CGALPoint > | myPoints |
Array of CGAL points. More... | |
double | myH |
Grid step. More... | |
unsigned int | myD |
Degree of the polynomial surface to fit. More... | |
Aim: Estimates Mean curvature using CGAL Jet Fitting and Monge Form.
Description of template class 'MongeJetFittingMeanCurvatureEstimator'
Be carefull, this functor uses a polynomial surface fitting from point set. Curvature information is given from Monge basis which could be up to the orientation of the normal vector. Hence, if the estimated normal \( n \) is such that \( n\cdot n_0>0\) with \( n_0\) being the true normal at the point set center, everything is ok. Otherwise, we have to inverse the princiapl curvature sign: \( k_1=-k_2\) and \( k_2= -k_1\).
The mean curvature estimation is thus given up to a sign.
model of concepts::CLocalEstimatorFromSurfelFunctor.
TSurfel | type of surfels |
TEmbedder | type of functors which embed surfel to \( \mathbb{R}^3\) |
Definition at line 90 of file MongeJetFittingMeanCurvatureEstimator.h.
typedef CGAL::Cartesian<double> DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::CGALKernel |
Definition at line 99 of file MongeJetFittingMeanCurvatureEstimator.h.
typedef CGALMongeViaJet::Monge_form DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::CGALMongeForm |
Definition at line 102 of file MongeJetFittingMeanCurvatureEstimator.h.
typedef CGAL::Monge_via_jet_fitting<CGALKernel> DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::CGALMongeViaJet |
Definition at line 101 of file MongeJetFittingMeanCurvatureEstimator.h.
typedef CGALKernel::Point_3 DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::CGALPoint |
Definition at line 100 of file MongeJetFittingMeanCurvatureEstimator.h.
typedef double DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::Quantity |
Definition at line 96 of file MongeJetFittingMeanCurvatureEstimator.h.
typedef SCellEmbedder::RealPoint DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::RealPoint |
Definition at line 97 of file MongeJetFittingMeanCurvatureEstimator.h.
typedef TEmbedder DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::SCellEmbedder |
Definition at line 95 of file MongeJetFittingMeanCurvatureEstimator.h.
typedef TSurfel DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::Surfel |
Definition at line 94 of file MongeJetFittingMeanCurvatureEstimator.h.
|
inline |
Constructor.
anEmbedder | embedder to map surfel to R^n. |
h | gridstep. |
d | degree of the polynomial surface to fit. |
Definition at line 111 of file MongeJetFittingMeanCurvatureEstimator.h.
|
inline |
Evaluate the curvature from Monge form.
Definition at line 139 of file MongeJetFittingMeanCurvatureEstimator.h.
References DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::myD, and DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::myPoints.
|
inline |
Add the geometrical embedding of a surfel to the point list
aSurf | a surfel to add |
aDistance | of aSurf to the neighborhood boundary |
Definition at line 124 of file MongeJetFittingMeanCurvatureEstimator.h.
References DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::myEmbedder, DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::myH, and DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::myPoints.
|
inline |
Reset the point list.
Definition at line 155 of file MongeJetFittingMeanCurvatureEstimator.h.
References DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::myPoints.
|
private |
Degree of the polynomial surface to fit.
Definition at line 173 of file MongeJetFittingMeanCurvatureEstimator.h.
Referenced by DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::eval().
|
private |
Alias of the geometrical embedder.
Definition at line 164 of file MongeJetFittingMeanCurvatureEstimator.h.
Referenced by DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::pushSurfel().
|
private |
Grid step.
Definition at line 170 of file MongeJetFittingMeanCurvatureEstimator.h.
Referenced by DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::pushSurfel().
|
private |
Array of CGAL points.
Definition at line 167 of file MongeJetFittingMeanCurvatureEstimator.h.
Referenced by DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::eval(), DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::pushSurfel(), and DGtal::functors::MongeJetFittingMeanCurvatureEstimator< TSurfel, TEmbedder >::reset().