MSDM
 All Classes Namespaces Files Functions Variables Typedefs Pages
Distance3D.h
1 #ifndef DISTANCE_3D_H
2 #define DISTANCE_3D_H
3 
4 #include "Header.h"
5 #include <set>
6 #include <stack>
7 
17 {
18 private:
19  Polyhedron *m_PolyOriginal, *m_PolyDegrad;
20  double mp_wi_alpha, mp_wi_beta, mp_radius;
21  MSDM_options mOptions;
22 private:
23 
24  void vertex_curvature_average_variance(Polyhedron* PolyUsed, Polyhedron::Vertex_handle pVertex,
25  std::vector<double> &TabDistance, std::vector<Point> &TabPoint);
26 
28  void vertex_curvature_covariance(Polyhedron::Vertex_handle pVertex, Polyhedron::Vertex_handle pVertexDeg,
29  const std::vector<double>& TabDistance, const std::vector<Point>& TabPoint,
30  const std::vector<double>& TabDistanceDeg, const std::vector<Point>& TabPointDeg);
31 
32  inline double weighted_covariance(const std::vector<double>& TabD, const std::vector<double>& TabD2,
33  int ecart, const std::vector<Point>& TabP, const std::vector<Point>& TabP2,
34  const Point& O, double moyenne, double moyenneDeg);
35 
36 public:
37 
43  Distance3D(Polyhedron *_PolyOriginal, Polyhedron *_PolyDegrad, const MSDM_options& options);
44 
52  double updateMSDM(std::vector<double>& lMSDM) const;
53 
60  mwSize buildPairwiseEstimation();
61 };
62 
63 #endif
mwSize buildPairwiseEstimation()
Build estimation of L, C and S at every vertex.
Definition: Distance3D.cpp:16
Estimation of the MSDM between 2 polyhedron with curvature information.
Definition: Distance3D.h:16
double updateMSDM(std::vector< double > &lMSDM) const
Compute local MSDM at all vertices and MSDM from previous computations.
Definition: Distance3D.cpp:74
Structure that contains all the parameters of the MSDM estimation.
Definition: Header.h:64
Header for all procedures.