#include <ApproxSurface.h>
Public Member Functions | |
| virtual void | AllBasisFunctions (double fParam, TColStd_Array1OfReal &vFuncVals) |
| Berechnet die Funktionswerte der an der Stelle fParam nicht verschwindenden Basisfunktionen. | |
| virtual double | BasisFunction (int iIndex, double fParam) |
| Berechnet den Funktionswert Nik(t) an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book). | |
| BSplineBasis (TColStd_Array1OfReal &vKnots, TColStd_Array1OfInteger &vMults, int iSize, int iOrder=1) | |
| Konstruktor. | |
| BSplineBasis (TColStd_Array1OfReal &vKnots, int iOrder=1) | |
| Konstruktor. | |
| BSplineBasis (int iSize) | |
| Konstruktor. | |
| virtual double | DerivativeOfBasisFunction (int iIndex, int k, double fParam) |
| Berechnet die k-te Ableitung an der Stelle fParam. | |
| virtual void | DerivativesOfBasisFunction (int iIndex, int iMaxDer, double fParam, TColStd_Array1OfReal &Derivat) |
| Berechnet die Funktionswerte der ersten iMaxDer Ableitungen an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book). | |
| virtual int | FindSpan (double fParam) |
| Bestimmt den Knotenindex zum Parameterwert (aus: Piegl/Tiller 96 The NURBS-Book). | |
| virtual double | GetIntegralOfProductOfBSplines (int i, int j, int r, int s) |
| Berechnet das Integral des Produkts zweier B-Splines bzw. | |
| virtual | ~BSplineBasis () |
| Destruktor. | |
Protected Member Functions | |
| int | CalcSize (int r, int s) |
| Berechnet in Abhängigkeit vom Grad die Anzahl der zu verwendenden Nullstellen/Gewichte der Legendre-Polynome. | |
| virtual void | FindIntegrationArea (int iIdx1, int iIdx2, int &iBegin, int &iEnd) |
| Berechnet die Integrationsgrenzen (Indexe der Knoten). | |
| virtual void | GenerateRootsAndWeights (TColStd_Array1OfReal &vAbscissas, TColStd_Array1OfReal &vWeights) |
| Berechnet die Nullstellen der Legendre-Polynome und die zugehörigen Gewichte. | |
Definition at line 128 of file ApproxSurface.h.
| BSplineBasis::BSplineBasis | ( | int | iSize | ) |
Konstruktor.
| iSize | Länge des Knotenvektors |
Definition at line 121 of file ApproxSurface.cpp.
| BSplineBasis::BSplineBasis | ( | TColStd_Array1OfReal & | vKnots, | |
| int | iOrder = 1 | |||
| ) |
Konstruktor.
| vKnots | Knotenvektor | |
| iOrder |
Definition at line 132 of file ApproxSurface.cpp.
| BSplineBasis::BSplineBasis | ( | TColStd_Array1OfReal & | vKnots, | |
| TColStd_Array1OfInteger & | vMults, | |||
| int | iSize, | |||
| int | iOrder = 1 | |||
| ) |
Konstruktor.
| vKnots | Knotenvektor der Form (Wert,Vielfachheit) | |
| vMults | ||
| iSize | ||
| iOrder |
Definition at line 126 of file ApproxSurface.cpp.
| BSplineBasis::~BSplineBasis | ( | ) |
Destruktor.
Definition at line 137 of file ApproxSurface.cpp.
| void BSplineBasis::AllBasisFunctions | ( | double | fParam, | |
| TColStd_Array1OfReal & | vFuncVals | |||
| ) | [virtual] |
Berechnet die Funktionswerte der an der Stelle fParam nicht verschwindenden Basisfunktionen.
Es muß darauf geachtet werden, daß die Liste für d(=Grad des B-Splines) Elemente (0,...,d-1) ausreicht. (aus: Piegl/Tiller 96 The NURBS-Book)
| fParam | ||
| vFuncVals | Index, Parameterwert |
Definition at line 163 of file ApproxSurface.cpp.
References Reen::SplineBasisfunction::_iOrder, Reen::SplineBasisfunction::_vKnotVector, and FindSpan().
| double BSplineBasis::BasisFunction | ( | int | iIndex, | |
| double | fParam | |||
| ) | [virtual] |
Berechnet den Funktionswert Nik(t) an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book).
| iIndex | Index | |
| fParam | Parameterwert |
Implements Reen::SplineBasisfunction.
Definition at line 190 of file ApproxSurface.cpp.
References Reen::SplineBasisfunction::_iOrder, Reen::SplineBasisfunction::_vKnotVector, SketcherExample::f, k, FemExample::m, and draftTools::p.
Referenced by DerivativeOfBasisFunction(), Reen::BSplineParameterCorrection::SolveWithoutSmoothing(), and Reen::BSplineParameterCorrection::SolveWithSmoothing().
| int BSplineBasis::CalcSize | ( | int | r, | |
| int | s | |||
| ) | [protected] |
Berechnet in Abhängigkeit vom Grad die Anzahl der zu verwendenden Nullstellen/Gewichte der Legendre-Polynome.
Definition at line 565 of file ApproxSurface.cpp.
References Reen::SplineBasisfunction::_iOrder.
Referenced by GetIntegralOfProductOfBSplines().
| double BSplineBasis::DerivativeOfBasisFunction | ( | int | iIndex, | |
| int | k, | |||
| double | fParam | |||
| ) | [virtual] |
Berechnet die k-te Ableitung an der Stelle fParam.
Implements Reen::SplineBasisfunction.
Definition at line 349 of file ApproxSurface.cpp.
References Reen::SplineBasisfunction::_iOrder, Reen::SplineBasisfunction::_vKnotVector, BasisFunction(), SketcherExample::f, k, and draftTools::p.
Referenced by GetIntegralOfProductOfBSplines().
| void BSplineBasis::DerivativesOfBasisFunction | ( | int | iIndex, | |
| int | iMaxDer, | |||
| double | fParam, | |||
| TColStd_Array1OfReal & | Derivat | |||
| ) | [virtual] |
Berechnet die Funktionswerte der ersten iMaxDer Ableitungen an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book).
| iIndex | Index | |
| iMaxDer | max. Ableitung | |
| fParam | Parameterwert. | |
| Derivat | Die Liste muß für iMaxDer+1 Elemente ausreichen. |
Implements Reen::SplineBasisfunction.
Definition at line 245 of file ApproxSurface.cpp.
References Reen::SplineBasisfunction::_iOrder, Reen::SplineBasisfunction::_vKnotVector, SketcherExample::f, k, and draftTools::p.
| void BSplineBasis::FindIntegrationArea | ( | int | iIdx1, | |
| int | iIdx2, | |||
| int & | iBegin, | |||
| int & | iEnd | |||
| ) | [protected, virtual] |
Berechnet die Integrationsgrenzen (Indexe der Knoten).
Definition at line 549 of file ApproxSurface.cpp.
References Reen::SplineBasisfunction::_iOrder, and Reen::SplineBasisfunction::_vKnotVector.
Referenced by GetIntegralOfProductOfBSplines().
| int BSplineBasis::FindSpan | ( | double | fParam | ) | [virtual] |
Bestimmt den Knotenindex zum Parameterwert (aus: Piegl/Tiller 96 The NURBS-Book).
| fParam | Parameterwert |
Definition at line 141 of file ApproxSurface.cpp.
References Reen::SplineBasisfunction::_iOrder, Reen::SplineBasisfunction::_vKnotVector, and Sketcher::mid.
Referenced by AllBasisFunctions().
| void BSplineBasis::GenerateRootsAndWeights | ( | TColStd_Array1OfReal & | vAbscissas, | |
| TColStd_Array1OfReal & | vWeights | |||
| ) | [protected, virtual] |
Berechnet die Nullstellen der Legendre-Polynome und die zugehörigen Gewichte.
Definition at line 478 of file ApproxSurface.cpp.
Referenced by GetIntegralOfProductOfBSplines().
| double BSplineBasis::GetIntegralOfProductOfBSplines | ( | int | i, | |
| int | j, | |||
| int | r, | |||
| int | s | |||
| ) | [virtual] |
Berechnet das Integral des Produkts zweier B-Splines bzw.
deren Ableitungen. Der Integrationsbereich erstreckt sich über den ganzen Definitionsbereich. Berechnet wird das Integral mittels der Gaußschen Quadraturformeln.
Definition at line 444 of file ApproxSurface.cpp.
References Reen::SplineBasisfunction::_vKnotVector, CalcSize(), DerivativeOfBasisFunction(), FindIntegrationArea(), and GenerateRootsAndWeights().
Referenced by Reen::BSplineParameterCorrection::CalcFirstSmoothMatrix(), Reen::BSplineParameterCorrection::CalcSecondSmoothMatrix(), and Reen::BSplineParameterCorrection::CalcThirdSmoothMatrix().
1.6.1