Reen::SplineBasisfunction Class Referenceabstract

#include <ApproxSurface.h>

Public Types

enum  ValueT { Zero = 0, Full, Other }
 

Public Member Functions

virtual double BasisFunction (int iIndex, double fParam)=0
 Berechnet den Funktionswert Nik(t) an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book) More...
 
virtual double DerivativeOfBasisFunction (int iIndex, int k, double fParam)=0
 Berechnet die k-te Ableitung an der Stelle fParam. More...
 
virtual void DerivativesOfBasisFunction (int iIndex, int iMaxDer, double fParam, TColStd_Array1OfReal &Derivat)=0
 Berechnet die Funktionswerte der ersten iMaxDer Ableitungen an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book) More...
 
virtual ValueT LocalSupport (int iIndex, double fParam)=0
 Gibt an, ob der Funktionswert Nik(t) an der Stelle fParam 0, 1 oder ein Wert dazwischen ergibt. More...
 
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 ()
 

Member Enumeration Documentation

◆ ValueT

Enumerator
Zero 
Full 
Other 

Constructor & Destructor Documentation

◆ SplineBasisfunction() [1/3]

SplineBasisfunction::SplineBasisfunction ( int  iSize)

Konstruktor.

Parameters
iSizeLength of Knots vector

◆ SplineBasisfunction() [2/3]

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

Konstruktor.

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

◆ SplineBasisfunction() [3/3]

SplineBasisfunction::SplineBasisfunction ( 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

◆ ~SplineBasisfunction()

SplineBasisfunction::~SplineBasisfunction ( )
virtual

Member Function Documentation

◆ BasisFunction()

virtual double Reen::SplineBasisfunction::BasisFunction ( int  iIndex,
double  fParam 
)
pure virtual

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

Parameters
iIndexIndex
fParamParameterwert
Returns
Funktionswert Nik(t)

Implemented in Reen::BSplineBasis.

◆ DerivativeOfBasisFunction()

virtual double Reen::SplineBasisfunction::DerivativeOfBasisFunction ( int  iIndex,
int  k,
double  fParam 
)
pure virtual

Berechnet die k-te Ableitung an der Stelle fParam.

Implemented in Reen::BSplineBasis.

◆ DerivativesOfBasisFunction()

virtual void Reen::SplineBasisfunction::DerivativesOfBasisFunction ( int  iIndex,
int  iMaxDer,
double  fParam,
TColStd_Array1OfReal &  Derivat 
)
pure virtual

Berechnet die Funktionswerte der ersten iMaxDer Ableitungen an der Stelle fParam (aus: Piegl/Tiller 96 The NURBS-Book)

Parameters
iIndexIndex
iMaxDermax. Ableitung
fParamParameterwert.
Returns
Derivat Liste der Funktionswerte

Die Liste muss fuer iMaxDer+1 Elemente ausreichen.

Implemented in Reen::BSplineBasis.

◆ LocalSupport()

virtual ValueT Reen::SplineBasisfunction::LocalSupport ( int  iIndex,
double  fParam 
)
pure 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

Implemented in Reen::BSplineBasis.

◆ SetKnots() [1/2]

void SplineBasisfunction::SetKnots ( TColStd_Array1OfReal &  vKnots,
int  iOrder = 1 
)
virtual

Setzt den Knotenvektor und die Ordnung fest.

Die Groesse des Knotenvektors muss exakt so gross sein, wie im Konstruktor festgelegt.

◆ SetKnots() [2/2]

void SplineBasisfunction::SetKnots ( TColStd_Array1OfReal &  vKnots,
TColStd_Array1OfInteger &  vMults,
int  iOrder = 1 
)
virtual

Setzt den Knotenvektor und die Ordnung fest.

uebergeben wird der Knotenvektor der Form (Wert, Vielfachheit). Intern wird dieser in einen Knotenvektor der Form (Wert,1) umgerechnet. Die Groesse dieses neuen Vektors muss exakt so gross sein, wie im Konstruktor festgelegt.


The documentation for this class was generated from the following files:
  • src/Mod/ReverseEngineering/App/ApproxSurface.h
  • src/Mod/ReverseEngineering/App/ApproxSurface.cpp