#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
iSizeLaenge des Knotenvektors

◆ BSplineBasis() [2/3]

BSplineBasis::BSplineBasis ( TColStd_Array1OfReal &  vKnots,
int  iOrder = 1 
)

Konstruktor.

Parameters
vKnotsKnotenvektor
iOrderOrdnung (Grad+1) des Basis-Polynoms

◆ BSplineBasis() [3/3]

BSplineBasis::BSplineBasis ( TColStd_Array1OfReal &  vKnots,
TColStd_Array1OfInteger &  vMults,
int  iSize,
int  iOrder = 1 
)

Konstruktor.

Parameters
vKnotsKnotenvektor der Form (Wert)
vMultsKnotenvektor der Form (Vielfachheit)
iSizeLaenge des Knotenvektors Die Arrays vKnots und vMults muessen die gleiche besitzen und die Summe der Werte in vMults muss identisch mit iSize sein.
iOrderOrdnung (Grad+1) des Basis-Polynoms

◆ ~ BSplineBasis()

virtual Reen::BSplineBasis::~ BSplineBasis ( )

Destruktor.

Member Function Documentation

◆ AllBasisFunctions()

void BSplineBasis::AllBasisFunctions ( double  fParam,
TColStd_Array1OfReal &  vFuncVals 
)
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
fParamParameter
vFuncValsListe der Funktionswerte Index, Parameterwert

References FindSpan().

◆ BasisFunction()

double BSplineBasis::BasisFunction ( int  iIndex,
double  fParam 
)
virtual

Berechnet den Funktionswert Nik(t) an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book)

Parameters
iIndexIndex
fParamParameterwert
Returns
Funktionswert Nik(t)

Implements Reen::SplineBasisfunction.

Referenced by DerivativeOfBasisFunction().

◆ CalcSize()

int BSplineBasis::CalcSize ( int  r,
int  s 
)
protected

Berechnet in Abhaengigkeit vom Grad die Anzahl der zu verwendenden Nullstellen/Gewichte der Legendre-Polynome.

Referenced by GetIntegralOfProductOfBSplines().

◆ DerivativeOfBasisFunction()

double BSplineBasis::DerivativeOfBasisFunction ( int  iIndex,
int  k,
double  fParam 
)
virtual

Berechnet die k-te Ableitung an der Stelle fParam.

Implements Reen::SplineBasisfunction.

References BasisFunction().

Referenced by GetIntegralOfProductOfBSplines().

◆ DerivativesOfBasisFunction()

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)

Parameters
iIndexIndex
iMaxDermax. Ableitung
fParamParameterwert.
DerivatDie Liste muss fuer iMaxDer+1 Elemente ausreichen.
Returns
Liste der Funktionswerte

Implements Reen::SplineBasisfunction.

◆ FindIntegrationArea()

void BSplineBasis::FindIntegrationArea ( int  iIdx1,
int  iIdx2,
int &  iBegin,
int &  iEnd 
)
protectedvirtual

Berechnet die Integrationsgrenzen (Indexe der Knoten)

Referenced by GetIntegralOfProductOfBSplines().

◆ FindSpan()

int BSplineBasis::FindSpan ( double  fParam)
virtual

Bestimmt den Knotenindex zum Parameterwert (aus: Piegl/Tiller 96 The NURBS-Book)

Parameters
fParamParameterwert
Returns
Knotenindex

Referenced by AllBasisFunctions().

◆ GenerateRootsAndWeights()

void BSplineBasis::GenerateRootsAndWeights ( TColStd_Array1OfReal &  vAbscissas,
TColStd_Array1OfReal &  vWeights 
)
protectedvirtual

Berechnet die Nullstellen der Legendre-Polynome und die zugehoerigen Gewichte.

Referenced by GetIntegralOfProductOfBSplines().

◆ 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 ueber den ganzen Definitionsbereich. Berechnet wird das Integral mittels der Gauss'schen Quadraturformeln.

References CalcSize(), DerivativeOfBasisFunction(), FindIntegrationArea(), and GenerateRootsAndWeights().

◆ LocalSupport()

BSplineBasis::ValueT BSplineBasis::LocalSupport ( int  iIndex,
double  fParam 
)
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
iIndexIndex
fParamParameterwert
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