#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. More... | |
virtual double | BasisFunction (int iIndex, double fParam) |
Berechnet den Funktionswert Nik(t) an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book) More... | |
BSplineBasis (int iSize) | |
Konstruktor. More... | |
BSplineBasis (TColStd_Array1OfReal &vKnots, int iOrder=1) | |
Konstruktor. More... | |
BSplineBasis (TColStd_Array1OfReal &vKnots, TColStd_Array1OfInteger &vMults, int iSize, int iOrder=1) | |
Konstruktor. More... | |
virtual double | DerivativeOfBasisFunction (int iIndex, int k, double fParam) |
Berechnet die k-te Ableitung an der Stelle fParam. More... | |
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) More... | |
virtual int | FindSpan (double fParam) |
Bestimmt den Knotenindex zum Parameterwert (aus: Piegl/Tiller 96 The NURBS-Book) More... | |
virtual double | GetIntegralOfProductOfBSplines (int i, int j, int r, int s) |
Berechnet das Integral des Produkts zweier B-Splines bzw. More... | |
virtual ValueT | LocalSupport (int iIndex, double fParam) |
Gibt an, ob der Funktionswert Nik(t) an der Stelle fParam 0, 1 oder ein Wert dazwischen ergibt. More... | |
virtual | ~ BSplineBasis () |
Destruktor. More... | |
Public Member Functions inherited from Reen::SplineBasisfunction | |
virtual void | SetKnots (TColStd_Array1OfReal &vKnots, int iOrder=1) |
Setzt den Knotenvektor und die Ordnung fest. More... | |
virtual void | SetKnots (TColStd_Array1OfReal &vKnots, TColStd_Array1OfInteger &vMults, int iOrder=1) |
Setzt den Knotenvektor und die Ordnung fest. More... | |
SplineBasisfunction (int iSize) | |
Konstruktor. More... | |
SplineBasisfunction (TColStd_Array1OfReal &vKnots, int iOrder=1) | |
Konstruktor. More... | |
SplineBasisfunction (TColStd_Array1OfReal &vKnots, TColStd_Array1OfInteger &vMults, int iSize, int iOrder=1) | |
Konstruktor. More... | |
virtual | ~SplineBasisfunction () |
Protected Member Functions | |
int | CalcSize (int r, int s) |
Berechnet in Abhaengigkeit vom Grad die Anzahl der zu verwendenden Nullstellen/Gewichte der Legendre-Polynome. More... | |
virtual void | FindIntegrationArea (int iIdx1, int iIdx2, int &iBegin, int &iEnd) |
Berechnet die Integrationsgrenzen (Indexe der Knoten) More... | |
virtual void | GenerateRootsAndWeights (TColStd_Array1OfReal &vAbscissas, TColStd_Array1OfReal &vWeights) |
Berechnet die Nullstellen der Legendre-Polynome und die zugehoerigen Gewichte. More... | |
Additional Inherited Members | |
Public Types inherited from Reen::SplineBasisfunction | |
enum | ValueT { Zero = 0, Full, Other } |
Constructor & Destructor Documentation
◆ BSplineBasis() [1/3]
BSplineBasis::BSplineBasis | ( | int | iSize | ) |
Konstruktor.
- Parameters
-
iSize Laenge des Knotenvektors
◆ BSplineBasis() [2/3]
BSplineBasis::BSplineBasis | ( | TColStd_Array1OfReal & | vKnots, |
int | iOrder = 1 |
||
) |
Konstruktor.
- Parameters
-
vKnots Knotenvektor iOrder Ordnung (Grad+1) des Basis-Polynoms
◆ BSplineBasis() [3/3]
BSplineBasis::BSplineBasis | ( | TColStd_Array1OfReal & | vKnots, |
TColStd_Array1OfInteger & | vMults, | ||
int | iSize, | ||
int | iOrder = 1 |
||
) |
Konstruktor.
- Parameters
-
vKnots Knotenvektor der Form (Wert) vMults Knotenvektor der Form (Vielfachheit) iSize Laenge des Knotenvektors Die Arrays vKnots und vMults muessen die gleiche besitzen und die Summe der Werte in vMults muss identisch mit iSize sein. iOrder Ordnung (Grad+1) des Basis-Polynoms
◆ ~ BSplineBasis()
virtual Reen::BSplineBasis::~ BSplineBasis | ( | ) |
Destruktor.
Member Function Documentation
◆ AllBasisFunctions()
|
virtual |
Berechnet die Funktionswerte der an der Stelle fParam nicht verschwindenden Basisfunktionen.
Es muss darauf geachtet werden, dass die Liste fuer d(=Grad des B-Splines) Elemente (0,...,d-1) ausreicht. (aus: Piegl/Tiller 96 The NURBS-Book)
- Parameters
-
fParam Parameter vFuncVals Liste der Funktionswerte Index, Parameterwert
References FindSpan().
◆ BasisFunction()
|
virtual |
Berechnet den Funktionswert Nik(t) an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book)
- Parameters
-
iIndex Index fParam Parameterwert
- Returns
- Funktionswert Nik(t)
Implements Reen::SplineBasisfunction.
Referenced by DerivativeOfBasisFunction().
◆ CalcSize()
|
protected |
Berechnet in Abhaengigkeit vom Grad die Anzahl der zu verwendenden Nullstellen/Gewichte der Legendre-Polynome.
Referenced by GetIntegralOfProductOfBSplines().
◆ DerivativeOfBasisFunction()
|
virtual |
Berechnet die k-te Ableitung an der Stelle fParam.
Implements Reen::SplineBasisfunction.
References BasisFunction().
Referenced by GetIntegralOfProductOfBSplines().
◆ DerivativesOfBasisFunction()
|
virtual |
Berechnet die Funktionswerte der ersten iMaxDer Ableitungen an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book)
- Parameters
-
iIndex Index iMaxDer max. Ableitung fParam Parameterwert. Derivat Die Liste muss fuer iMaxDer+1 Elemente ausreichen.
- Returns
- Liste der Funktionswerte
Implements Reen::SplineBasisfunction.
◆ FindIntegrationArea()
|
protectedvirtual |
Berechnet die Integrationsgrenzen (Indexe der Knoten)
Referenced by GetIntegralOfProductOfBSplines().
◆ FindSpan()
|
virtual |
Bestimmt den Knotenindex zum Parameterwert (aus: Piegl/Tiller 96 The NURBS-Book)
- Parameters
-
fParam Parameterwert
- Returns
- Knotenindex
Referenced by AllBasisFunctions().
◆ GenerateRootsAndWeights()
|
protectedvirtual |
Berechnet die Nullstellen der Legendre-Polynome und die zugehoerigen Gewichte.
Referenced by GetIntegralOfProductOfBSplines().
◆ GetIntegralOfProductOfBSplines()
|
virtual |
Berechnet das Integral des Produkts zweier B-Splines bzw.
deren Ableitungen. Der Integrationsbereich erstreckt sich ueber den ganzen Definitionsbereich. Berechnet wird das Integral mittels der Gauss'schen Quadraturformeln.
References CalcSize(), DerivativeOfBasisFunction(), FindIntegrationArea(), and GenerateRootsAndWeights().
◆ LocalSupport()
|
virtual |
Gibt an, ob der Funktionswert Nik(t) an der Stelle fParam 0, 1 oder ein Wert dazwischen ergibt.
Dies dient dazu, um die Berechnung zu u.U. zu beschleunigen.
- Parameters
-
iIndex Index fParam Parameterwert
- Returns
- ValueT
Implements Reen::SplineBasisfunction.
References Reen::SplineBasisfunction::Full, Reen::SplineBasisfunction::Other, and Reen::SplineBasisfunction::Zero.
The documentation for this class was generated from the following files:
- src/Mod/ReverseEngineering/App/ApproxSurface.h
- src/Mod/ReverseEngineering/App/ApproxSurface.cpp