|
| IGL_INLINE | Quadric () |
| |
| IGL_INLINE | Quadric (double av, double bv, double cv, double dv, double ev) |
| |
| IGL_INLINE double & | a () |
| |
| IGL_INLINE double & | b () |
| |
| IGL_INLINE double & | c () |
| |
| IGL_INLINE double & | d () |
| |
| IGL_INLINE double & | e () |
| |
| IGL_INLINE double | evaluate (double u, double v) |
| |
| IGL_INLINE double | du (double u, double v) |
| |
| IGL_INLINE double | dv (double u, double v) |
| |
| IGL_INLINE double | duv (double u, double v) |
| |
| IGL_INLINE double | duu (double u, double v) |
| |
| IGL_INLINE double | dvv (double u, double v) |
| |
◆ Quadric() [1/2]
| IGL_INLINE CurvatureCalculator::Quadric::Quadric |
( |
| ) |
|
|
inline |
56 {
57 a() =
b() =
c() =
d() =
e() = 1.0;
58 }
IGL_INLINE double & e()
Definition principal_curvature.cpp:73
IGL_INLINE double & b()
Definition principal_curvature.cpp:70
IGL_INLINE double & c()
Definition principal_curvature.cpp:71
IGL_INLINE double & a()
Definition principal_curvature.cpp:69
IGL_INLINE double & d()
Definition principal_curvature.cpp:72
References a(), b(), c(), d(), and e().
Referenced by fit().
◆ Quadric() [2/2]
| IGL_INLINE CurvatureCalculator::Quadric::Quadric |
( |
double |
av, |
|
|
double |
bv, |
|
|
double |
cv, |
|
|
double |
dv, |
|
|
double |
ev |
|
) |
| |
|
inline |
61 {
67 }
IGL_INLINE double dv(double u, double v)
Definition principal_curvature.cpp:87
References a(), b(), c(), d(), dv(), and e().
◆ a()
| IGL_INLINE double & CurvatureCalculator::Quadric::a |
( |
| ) |
|
|
inline |
◆ b()
| IGL_INLINE double & CurvatureCalculator::Quadric::b |
( |
| ) |
|
|
inline |
◆ c()
| IGL_INLINE double & CurvatureCalculator::Quadric::c |
( |
| ) |
|
|
inline |
◆ d()
| IGL_INLINE double & CurvatureCalculator::Quadric::d |
( |
| ) |
|
|
inline |
◆ du()
| IGL_INLINE double CurvatureCalculator::Quadric::du |
( |
double |
u, |
|
|
double |
v |
|
) |
| |
|
inline |
83 {
84 return 2.0*
a()*u +
b()*v +
d();
85 }
References a(), b(), and d().
◆ duu()
| IGL_INLINE double CurvatureCalculator::Quadric::duu |
( |
double |
u, |
|
|
double |
v |
|
) |
| |
|
inline |
◆ duv()
| IGL_INLINE double CurvatureCalculator::Quadric::duv |
( |
double |
u, |
|
|
double |
v |
|
) |
| |
|
inline |
◆ dv()
| IGL_INLINE double CurvatureCalculator::Quadric::dv |
( |
double |
u, |
|
|
double |
v |
|
) |
| |
|
inline |
◆ dvv()
| IGL_INLINE double CurvatureCalculator::Quadric::dvv |
( |
double |
u, |
|
|
double |
v |
|
) |
| |
|
inline |
◆ e()
| IGL_INLINE double & CurvatureCalculator::Quadric::e |
( |
| ) |
|
|
inline |
◆ evaluate()
| IGL_INLINE double CurvatureCalculator::Quadric::evaluate |
( |
double |
u, |
|
|
double |
v |
|
) |
| |
|
inline |
78 {
79 return a()*u*u +
b()*u*v +
c()*v*v +
d()*u +
e()*v;
80 }
References a(), b(), c(), d(), and e().
◆ fit()
109 {
110 assert(VV.size() >= 5);
111 if (VV.size() < 5)
112 {
113 std::cerr << "ASSERT FAILED! fit function requires at least 5 points: Only " << VV.size() << " were given." << std::endl;
114 exit(0);
115 }
116
117 Eigen::MatrixXd A(VV.size(),5);
118 Eigen::MatrixXd
b(VV.size(),1);
119 Eigen::MatrixXd sol(5,1);
120
121 for(
unsigned int c=0;
c < VV.size(); ++
c)
122 {
126
132
134 }
135
137
138 return Quadric(sol(0),sol(1),sol(2),sol(3),sol(4));
139 }
IGL_INLINE Quadric()
Definition principal_curvature.cpp:55
@ ComputeThinV
Definition Constants.h:389
@ ComputeThinU
Definition Constants.h:385
References Quadric(), b(), c(), Eigen::ComputeThinU, and Eigen::ComputeThinV.
Referenced by CurvatureCalculator::fitQuadric().
◆ data
| double CurvatureCalculator::Quadric::data[5] |
The documentation for this class was generated from the following file: