Helper class for the quadric fit. More...
#include <Approximation.h>
Public Types | |
typedef double(* | Function) (double, double, double) |
WildMagic library uses function with this interface. More... | |
Public Member Functions | |
void | Assign (const double *pKoef) |
Apply quadric coefficients. More... | |
bool | CurvatureInfo (double x, double y, double z, double &rfCurv0, double &rfCurv1) |
bool | CurvatureInfo (double x, double y, double z, double &rfCurv0, double &rfCurv1, Wm4::Vector3< double > &rkDir0, Wm4::Vector3< double > &rkDir1, double &dDistance) |
Redirector to a method of the WildMagic library. More... | |
double | F (double x, double y, double z) |
FunctionContainer (const double *pKoef) | |
The constructor expects an array of quadric coefficients. More... | |
double | Fx (double x, double y, double z) |
double | Fxx (double x, double y, double z) |
double | Fxy (double x, double y, double z) |
double | Fxz (double x, double y, double z) |
double | Fy (double x, double y, double z) |
double | Fyy (double x, double y, double z) |
double | Fyz (double x, double y, double z) |
double | Fz (double x, double y, double z) |
double | Fzz (double x, double y, double z) |
Base::Vector3f | GetGradient (double x, double y, double z) const |
Base::Matrix4D | GetHessian (double x, double y, double z) const |
double & | operator[] (int idx) |
Access to the quadric coefficients. More... | |
~FunctionContainer () | |
Destructor. More... | |
Protected Attributes | |
double | dKoeff [10] |
Coefficients of quadric. More... | |
Wm4::ImplicitSurface< double > * | pImplSurf |
Access to the WildMagic library. More... | |
Helper class for the quadric fit.
Includes the partial derivates of the quadric and serves for calculation of the quadric properties.
typedef double(* MeshCore::FunctionContainer::Function) (double, double, double) |
WildMagic library uses function with this interface.
MeshCore::FunctionContainer::FunctionContainer | ( | const double * | pKoef | ) |
MeshCore::FunctionContainer::~FunctionContainer | ( | ) |
void MeshCore::FunctionContainer::Assign | ( | const double * | pKoef | ) |
Apply quadric coefficients.
pKoef | Pointer to the quadric coefficients (double [10]) |
References dKoeff.
Referenced by FunctionContainer().
bool MeshCore::FunctionContainer::CurvatureInfo | ( | double | x, |
double | y, | ||
double | z, | ||
double & | rfCurv0, | ||
double & | rfCurv1 | ||
) |
bool MeshCore::FunctionContainer::CurvatureInfo | ( | double | x, |
double | y, | ||
double | z, | ||
double & | rfCurv0, | ||
double & | rfCurv1, | ||
Wm4::Vector3< double > & | rkDir0, | ||
Wm4::Vector3< double > & | rkDir1, | ||
double & | dDistance | ||
) |
Redirector to a method of the WildMagic library.
Determines the principal curvatures and their directions at the given point.
x | X-coordinate |
y | Y-coordinate |
z | Z-coordinate |
rfCurv0 | 1. principal curvature |
rfCurv1 | 2. principal curvature |
rkDir0 | direction of 1. principal curvature |
rkDir1 | direction of 2. principal curvature |
dDistance | Gives distances from the point to the quadric. |
References pImplSurf.
Referenced by MeshCore::QuadraticFit::GetCurvatureInfo(), and MeshCore::SurfaceFit::GetCurvatureInfo().
double MeshCore::FunctionContainer::F | ( | double | x, |
double | y, | ||
double | z | ||
) |
double MeshCore::FunctionContainer::Fx | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
Referenced by CurvatureInfo().
double MeshCore::FunctionContainer::Fxx | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
double MeshCore::FunctionContainer::Fxy | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
double MeshCore::FunctionContainer::Fxz | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
double MeshCore::FunctionContainer::Fy | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
Referenced by CurvatureInfo().
double MeshCore::FunctionContainer::Fyy | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
double MeshCore::FunctionContainer::Fyz | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
double MeshCore::FunctionContainer::Fz | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
Referenced by CurvatureInfo().
double MeshCore::FunctionContainer::Fzz | ( | double | x, |
double | y, | ||
double | z | ||
) |
References dKoeff.
Base::Vector3f MeshCore::FunctionContainer::GetGradient | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
References pImplSurf.
Referenced by MeshCore::QuadraticFit::GetCurvatureInfo(), and MeshCore::SurfaceFit::GetCurvatureInfo().
Base::Matrix4D MeshCore::FunctionContainer::GetHessian | ( | double | x, |
double | y, | ||
double | z | ||
) | const |
References pImplSurf, and Base::Matrix4D::setToUnity().
double & MeshCore::FunctionContainer::operator[] | ( | int | idx | ) |
Access to the quadric coefficients.
idx | Index to coefficient |
References dKoeff.
|
protected |
Coefficients of quadric.
Referenced by Assign(), CurvatureInfo(), F(), FunctionContainer(), Fx(), Fxx(), Fxy(), Fxz(), Fy(), Fyy(), Fyz(), Fz(), Fzz(), and operator[]().
|
protected |
Access to the WildMagic library.
Referenced by CurvatureInfo(), FunctionContainer(), GetGradient(), GetHessian(), and ~FunctionContainer().