#include <ApproxSurface.h>
Public Member Functions | |
virtual void | EnableSmoothing (bool bSmooth=true, double fSmoothInfl=1.0f) |
Use smoothing-terms. More... | |
virtual Base::Vector3d | GetGravityPoint () const |
Get the center of gravity. More... | |
virtual void | GetUVW (Base::Vector3d &clU, Base::Vector3d &clV, Base::Vector3d &clW) const |
Returns the u/v/w directions. More... | |
virtual | Handle (Geom_BSplineSurface) CreateSurface(const TColgp_Array1OfPnt &points |
Calculates a B-spline surface from the given points. More... | |
ParameterCorrection (unsigned usUOrder=4, unsigned usVOrder=4, unsigned usUCtrlpoints=6, unsigned usVCtrlpoints=6) | |
virtual void | SetUV (const Base::Vector3d &clU, const Base::Vector3d &clV, bool bUseDir=true) |
Setting the u/v directions The third parameter specifies whether the directions should actually be used. More... | |
virtual | ~ParameterCorrection () |
Public Attributes | |
virtual int bool | bParaCor |
virtual int bool double | fSizeFactor =0.0f) |
virtual int | iIter |
Protected Member Functions | |
virtual void | CalcEigenvectors () |
Calculates the eigenvectors of the covariance matrix. More... | |
virtual bool | DoInitialParameterCorrection (double fSizeFactor=0.0f) |
Calculates an initial area at the beginning of the algorithm. More... | |
virtual void | DoParameterCorrection (int iIter)=0 |
Carries out a parameter correction. More... | |
virtual bool | GetUVParameters (double fSizeFactor) |
Calculates the (u, v) values of the points. More... | |
void | ProjectControlPointsOnPlane () |
Projects the control points onto the fit plane. More... | |
virtual bool | SolveWithoutSmoothing ()=0 |
Solves system of equations. More... | |
virtual bool | SolveWithSmoothing (double fWeight)=0 |
Solve a regular system of equations. More... | |
ParameterCorrection::ParameterCorrection | ( | unsigned | usUOrder = 4 , |
unsigned | usVOrder = 4 , |
||
unsigned | usUCtrlpoints = 6 , |
||
unsigned | usVCtrlpoints = 6 |
||
) |
|
virtual |
|
protectedvirtual |
Calculates the eigenvectors of the covariance matrix.
References MeshCore::Approximation::AddPoint(), MeshCore::PlaneFit::Fit(), MeshCore::PlaneFit::GetDirU(), MeshCore::PlaneFit::GetDirV(), and MeshCore::PlaneFit::GetNormal().
Referenced by DoInitialParameterCorrection().
|
protectedvirtual |
Calculates an initial area at the beginning of the algorithm.
For this purpose, the best-fit plane for the point cloud is calculated. The points are calculated with respect to the base consisting of the eigenvectors of the covariance matrix and projected onto the best-fit plane. The bounding box is calculated from these points, then the u/v parameters for the points are calculated.
References CalcEigenvectors(), fSizeFactor, GetUVParameters(), SolveWithoutSmoothing(), and SolveWithSmoothing().
|
protectedpure virtual |
Carries out a parameter correction.
Implemented in Reen::BSplineParameterCorrection.
|
virtual |
Use smoothing-terms.
Reimplemented in Reen::BSplineParameterCorrection.
Referenced by Reen::BSplineParameterCorrection::EnableSmoothing().
|
virtual |
Get the center of gravity.
References Base::Vector3< _Precision >::Length().
Referenced by ProjectControlPointsOnPlane().
|
protectedvirtual |
Calculates the (u, v) values of the points.
References Base::BoundBox2d::Add(), fSizeFactor, Base::BoundBox2d::MaxX, Base::BoundBox2d::MaxY, Base::BoundBox2d::MinX, and Base::BoundBox2d::MinY.
Referenced by DoInitialParameterCorrection().
|
virtual |
Returns the u/v/w directions.
|
virtual |
Calculates a B-spline surface from the given points.
Referenced by Reen::BSplineParameterCorrection::DoParameterCorrection().
|
protected |
Projects the control points onto the fit plane.
References GetGravityPoint(), Base::Vector3< _Precision >::ProjectToPlane(), Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
|
virtual |
Setting the u/v directions The third parameter specifies whether the directions should actually be used.
|
protectedpure virtual |
Solves system of equations.
Implemented in Reen::BSplineParameterCorrection.
Referenced by DoInitialParameterCorrection().
|
protectedpure virtual |
Solve a regular system of equations.
Implemented in Reen::BSplineParameterCorrection.
Referenced by DoInitialParameterCorrection().
Referenced by DoInitialParameterCorrection(), and GetUVParameters().
virtual int Reen::ParameterCorrection::iIter |
Referenced by Reen::BSplineParameterCorrection::DoParameterCorrection().