Diese Klasse berechnet auf einer beliebigen Punktwolke (auch scattered data) eine B-Spline-Flaeche. More...
#include <ApproxSurface.h>
Public Member Functions | |
| BSplineParameterCorrection (unsigned usUOrder=4, unsigned usVOrder=4, unsigned usUCtrlpoints=6, unsigned usVCtrlpoints=6) | |
| virtual void | EnableSmoothing (bool bSmooth, double fSmoothInfl, double fFirst, double fSec, double fThird) |
| Verwende Glaettungsterme. More... | |
| virtual void | EnableSmoothing (bool bSmooth=true, double fSmoothInfl=1.0f) |
| Verwende Glaettungsterme. More... | |
| virtual const math_Matrix & | GetFirstSmoothMatrix () const |
| Gibt die erste Matrix der Glaettungsterme zurueck, falls berechnet. More... | |
| virtual const math_Matrix & | GetSecondSmoothMatrix () const |
| Gibt die zweite Matrix der Glaettungsterme zurueck, falls berechnet. More... | |
| virtual const math_Matrix & | GetThirdSmoothMatrix () const |
| Gibt die dritte Matrix der Glaettungsterme zurueck, falls berechnet. More... | |
| virtual void | SetFirstSmoothMatrix (const math_Matrix &rclMat) |
| Setzt die erste Matrix der Glaettungsterme. More... | |
| virtual void | SetSecondSmoothMatrix (const math_Matrix &rclMat) |
| Setzt die zweite Matrix der Glaettungsterme. More... | |
| virtual void | SetThirdSmoothMatrix (const math_Matrix &rclMat) |
| Setzt die dritte Matrix der Glaettungsterme. More... | |
| void | SetUKnots (const std::vector< double > &afKnots) |
| Setzen des Knotenvektors. More... | |
| void | SetVKnots (const std::vector< double > &afKnots) |
| Setzen des Knotenvektors. More... | |
| virtual | ~BSplineParameterCorrection () |
Public Member Functions inherited from Reen::ParameterCorrection | |
| virtual Base::Vector3d | GetGravityPoint () const |
| virtual void | GetUVW (Base::Vector3d &clU, Base::Vector3d &clV, Base::Vector3d &clW) const |
| Gibt die u/v/w-Richtungen zurueck. More... | |
| virtual | Handle (Geom_BSplineSurface) CreateSurface(const TColgp_Array1OfPnt &points |
| Berechnet eine B-Spline-Flaeche.aus den geg. 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) |
| Setzen der u/v-Richtungen Dritter Parameter gibt an, ob die Richtungen tatsaechlich verwendet werden sollen. More... | |
| virtual | ~ParameterCorrection () |
Protected Member Functions | |
| virtual void | CalcFirstSmoothMatrix (Base::SequencerLauncher &) |
| Berechnet die Matrix zum ersten Glaettungsterm (siehe Diss. More... | |
| virtual void | CalcSecondSmoothMatrix (Base::SequencerLauncher &) |
| Berechnet die Matrix zum zweiten Glaettunsterm (siehe Diss. More... | |
| virtual void | CalcSmoothingTerms (bool bRecalc, double fFirst, double fSecond, double fThird) |
| Berechnet die Matrix zu den Glaettungstermen (siehe Dissertation U.Dietz) More... | |
| virtual void | CalcThirdSmoothMatrix (Base::SequencerLauncher &) |
| Berechnet die Matrix zum dritten Glaettungsterm. More... | |
| virtual void | DoParameterCorrection (int iIter) |
| Fuehrt eine Parameterkorrektur durch. More... | |
| virtual void | Init () |
| Initialisierung. More... | |
| virtual bool | SolveWithoutSmoothing () |
| Loest ein ueberbestimmtes LGS mit Hilfe der Householder-Transformation. More... | |
| virtual bool | SolveWithSmoothing (double fWeight) |
| Loest ein regulaeres Gleichungssystem durch LU-Zerlegung. More... | |
Protected Member Functions inherited from Reen::ParameterCorrection | |
| virtual void | CalcEigenvectors () |
| Berechnet die Eigenvektoren der Kovarianzmatrix. More... | |
| virtual bool | DoInitialParameterCorrection (double fSizeFactor=0.0f) |
| Berechnet eine initiale Flaeche zu Beginn des Algorithmus. More... | |
| virtual bool | GetUVParameters (double fSizeFactor) |
| Berechnet die u.v-Werte der Punkte. More... | |
| void | ProjectControlPointsOnPlane () |
| Projiziert die Kontrollpunkte auf die Fit-Ebene. More... | |
Additional Inherited Members | |
Public Attributes inherited from Reen::ParameterCorrection | |
| virtual int bool | bParaCor |
| virtual int bool double | fSizeFactor =0.0f) |
| virtual int | iIter |
Detailed Description
Diese Klasse berechnet auf einer beliebigen Punktwolke (auch scattered data) eine B-Spline-Flaeche.
Die Flaeche wird iterativ mit Hilfe einer Parameterkorrektur erzeugt. Siehe dazu Hoschek/Lasser 2. Auflage (1992). Erweitert wird die Approximation um Glaettungsterme, so dass glatte Flaechen erzeugt werden koennen.
Constructor & Destructor Documentation
◆ BSplineParameterCorrection()
| BSplineParameterCorrection::BSplineParameterCorrection | ( | unsigned | usUOrder = 4, |
| unsigned | usVOrder = 4, |
||
| unsigned | usUCtrlpoints = 6, |
||
| unsigned | usVCtrlpoints = 6 |
||
| ) |
References Init().
◆ ~BSplineParameterCorrection()
|
virtual |
Member Function Documentation
◆ CalcFirstSmoothMatrix()
|
protectedvirtual |
Berechnet die Matrix zum ersten Glaettungsterm (siehe Diss.
U.Dietz)
References Base::SequencerLauncher::next().
Referenced by CalcSmoothingTerms().
◆ CalcSecondSmoothMatrix()
|
protectedvirtual |
Berechnet die Matrix zum zweiten Glaettunsterm (siehe Diss.
U.Dietz)
References Base::SequencerLauncher::next().
Referenced by CalcSmoothingTerms().
◆ CalcSmoothingTerms()
|
protectedvirtual |
Berechnet die Matrix zu den Glaettungstermen (siehe Dissertation U.Dietz)
References CalcFirstSmoothMatrix(), CalcSecondSmoothMatrix(), and CalcThirdSmoothMatrix().
Referenced by EnableSmoothing().
◆ CalcThirdSmoothMatrix()
|
protectedvirtual |
Berechnet die Matrix zum dritten Glaettungsterm.
References Base::SequencerLauncher::next().
Referenced by CalcSmoothingTerms().
◆ DoParameterCorrection()
|
protectedvirtual |
Fuehrt eine Parameterkorrektur durch.
Implements Reen::ParameterCorrection.
References Reen::ParameterCorrection::Handle(), Reen::ParameterCorrection::iIter, Base::SequencerLauncher::next(), SolveWithoutSmoothing(), and SolveWithSmoothing().
◆ EnableSmoothing() [1/2]
|
virtual |
Verwende Glaettungsterme.
References CalcSmoothingTerms(), and Reen::ParameterCorrection::EnableSmoothing().
◆ EnableSmoothing() [2/2]
|
virtual |
Verwende Glaettungsterme.
Reimplemented from Reen::ParameterCorrection.
◆ GetFirstSmoothMatrix()
|
virtual |
Gibt die erste Matrix der Glaettungsterme zurueck, falls berechnet.
◆ GetSecondSmoothMatrix()
|
virtual |
Gibt die zweite Matrix der Glaettungsterme zurueck, falls berechnet.
◆ GetThirdSmoothMatrix()
|
virtual |
Gibt die dritte Matrix der Glaettungsterme zurueck, falls berechnet.
◆ Init()
|
protectedvirtual |
Initialisierung.
Referenced by BSplineParameterCorrection().
◆ SetFirstSmoothMatrix()
|
virtual |
Setzt die erste Matrix der Glaettungsterme.
◆ SetSecondSmoothMatrix()
|
virtual |
Setzt die zweite Matrix der Glaettungsterme.
◆ SetThirdSmoothMatrix()
|
virtual |
Setzt die dritte Matrix der Glaettungsterme.
◆ SetUKnots()
| void BSplineParameterCorrection::SetUKnots | ( | const std::vector< double > & | afKnots | ) |
Setzen des Knotenvektors.
◆ SetVKnots()
| void BSplineParameterCorrection::SetVKnots | ( | const std::vector< double > & | afKnots | ) |
Setzen des Knotenvektors.
◆ SolveWithoutSmoothing()
|
protectedvirtual |
Loest ein ueberbestimmtes LGS mit Hilfe der Householder-Transformation.
Implements Reen::ParameterCorrection.
Referenced by DoParameterCorrection().
◆ SolveWithSmoothing()
|
protectedvirtual |
Loest ein regulaeres Gleichungssystem durch LU-Zerlegung.
Es fliessen je nach Gewichtung Glaettungsterme mit ein
Implements Reen::ParameterCorrection.
References Reen::ScalarProduct::multiply().
Referenced by DoParameterCorrection().
The documentation for this class was generated from the following files:
- src/Mod/ReverseEngineering/App/ApproxSurface.h
- src/Mod/ReverseEngineering/App/ApproxSurface.cpp
Public Member Functions inherited from
1.8.17