34 #if defined(MongeJetFittingNormalVectorEstimator_RECURSES)
35 #error Recursive header files inclusion detected in MongeJetFittingNormalVectorEstimator.h
36 #else // defined(MongeJetFittingNormalVectorEstimator_RECURSES)
38 #define MongeJetFittingNormalVectorEstimator_RECURSES
40 #if !defined MongeJetFittingNormalVectorEstimator_h
42 #define MongeJetFittingNormalVectorEstimator_h
47 #include <DGtal/base/Common.h>
48 #include <DGtal/topology/SCellsFunctors.h>
51 #include <CGAL/Cartesian.h>
52 #include <CGAL/Monge_via_jet_fitting.h>
80 template <
typename TSurfel,
typename TEmbedder>
104 const double h,
unsigned int d = 4):
107 FATAL_ERROR_MSG(d>=2,
"Polynomial surface degree must be greater than 2");
117 const double aDistance)
119 BOOST_VERIFY(aDistance == aDistance);
138 CGALVector v= monge_form.normal_direction ( );
175 #endif // !defined MongeJetFittingNormalVectorEstimator_h
177 #undef MongeJetFittingNormalVectorEstimator_RECURSES
178 #endif // else defined(MongeJetFittingNormalVectorEstimator_RECURSES)
unsigned int myD
Degree of the polynomial surface to fit.
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: Estimates normal vector using CGAL Jet Fitting and Monge Form.
CGALKernel::Point_3 CGALPoint
std::vector< CGALPoint > myPoints
Array of CGAL points.
const SCellEmbedder * myEmbedder
Alias of the geometrical embedder.
void pushSurfel(const Surfel &aSurf, const double aDistance)
CGAL::Monge_via_jet_fitting< CGALKernel > CGALMongeViaJet
DGtal is the top-level namespace which contains all DGtal functions and types.
SCellEmbedder::RealPoint RealPoint
CGALMongeViaJet::Monge_form CGALMongeForm
CGAL::Cartesian< double > CGALKernel
CGALKernel::Vector_3 CGALVector
MongeJetFittingNormalVectorEstimator(ConstAlias< SCellEmbedder > anEmbedder, const double h, unsigned int d=4)