Reen::ParameterCorrection Class Reference

#include <ApproxSurface.h>

Inheritance diagram for Reen::ParameterCorrection:
Reen::BSplineParameterCorrection

List of all members.

Public Member Functions

virtual Handle_Geom_BSplineSurface CreateSurface (const TColgp_Array1OfPnt &points, unsigned short usIter, bool bParaCor, float fSizeFactor=0.0f)
 Berechnet eine B-Spline-Fläche.aus den geg.
virtual void EnableSmoothing (bool bSmooth=true, float fSmoothInfl=1.0f)
 Verwende Glättungsterme.
virtual Base::Vector3f GetGravityPoint () const
virtual void GetUVW (Base::Vector3f &clU, Base::Vector3f &clV, Base::Vector3f &clW) const
 Gibt die u/v/w-Richtungen zurück.
 ParameterCorrection (unsigned short usUOrder=4, unsigned short usVOrder=4, unsigned short usUCtrlpoints=6, unsigned short usVCtrlpoints=6)
virtual void SetUVW (const Base::Vector3f &clU, const Base::Vector3f &clV, const Base::Vector3f &clW, bool bUseDir=true)
 Setzen der u/v-Richtungen Dritter Parameter gibt an, ob die Richtungen tatsächlich verwendet werden sollen.
virtual ~ParameterCorrection ()

Protected Member Functions

virtual void CalcEigenvectors ()
 Berechnet die Eigenvektoren der Kovarianzmatrix.
virtual bool DoInitialParameterCorrection (float fSizeFactor=0.0f)
 Berechnet eine initiale Fläche zu Beginn des Algorithmus.
virtual void DoParameterCorrection (unsigned short usIter)=0
 Führt eine Parameterkorrektur durch.
virtual bool GetUVParameters (float fSizeFactor)
 Berechnet die u.v-Werte der Punkte.
virtual bool SolveWithoutSmoothing ()=0
 Löst Gleichungssystem.
virtual bool SolveWithSmoothing (float fWeight)=0
 Löst ein reguläres Gleichungssystem.

Protected Attributes

bool _bGetUVDir
bool _bSmoothing
 Stellt fest, ob u/v-Richtung vorgegeben wird.
Base::Vector3f _clU
 Anzahl der Kontrollpunkte in v-Richtung.
Base::Vector3f _clV
 u-Richtung
Base::Vector3f _clW
 v-Richtung
float _fSmoothInfluence
 Glättung verwenden.
TColgp_Array1OfPnt * _pvcPoints
 w-Richtung (senkrecht zu u-und w-Richtung)
TColgp_Array1OfPnt2d * _pvcUVParam
 Punktliste der Rohdaten.
unsigned short _usUCtrlpoints
 Ordnung in v-Richtung.
unsigned short _usUOrder
 Einfluß der Glättung.
unsigned short _usVCtrlpoints
 Anzahl der Kontrollpunkte in u-Richtung.
unsigned short _usVOrder
 Ordnung in u-Richtung.
TColgp_Array2OfPnt _vCtrlPntsOfSurf
 Parameterwerte zu den Punkten aus der Liste.
TColStd_Array1OfReal _vUKnots
 Array von Kontrollpunkten.
TColStd_Array1OfInteger _vUMults
 Knotenvektor der B-Spline-Fläche in v-Richtung.
TColStd_Array1OfReal _vVKnots
 Knotenvektor der B-Spline-Fläche in u-Richtung.
TColStd_Array1OfInteger _vVMults
 Vielfachheit der Knoten im Knotenvektor.

Detailed Description

Definition at line 236 of file ApproxSurface.h.


Constructor & Destructor Documentation

ParameterCorrection::ParameterCorrection ( unsigned short  usUOrder = 4,
unsigned short  usVOrder = 4,
unsigned short  usUCtrlpoints = 6,
unsigned short  usVCtrlpoints = 6 
)

Definition at line 587 of file ApproxSurface.cpp.

References _bGetUVDir, _bSmoothing, and _fSmoothInfluence.

virtual Reen::ParameterCorrection::~ParameterCorrection (  )  [inline, virtual]

Definition at line 247 of file ApproxSurface.h.


Member Function Documentation

void ParameterCorrection::CalcEigenvectors (  )  [protected, virtual]
virtual Handle_Geom_BSplineSurface Reen::ParameterCorrection::CreateSurface ( const TColgp_Array1OfPnt &  points,
unsigned short  usIter,
bool  bParaCor,
float  fSizeFactor = 0.0f 
) [virtual]

Berechnet eine B-Spline-Fläche.aus den geg.

Punkten

Referenced by approxSurface().

bool ParameterCorrection::DoInitialParameterCorrection ( float  fSizeFactor = 0.0f  )  [protected, virtual]

Berechnet eine initiale Fläche zu Beginn des Algorithmus.

Dazu wird die Ausgleichsebene zu der Punktwolke berechnet. Die Punkte werden bzgl. der Basis bestehend aus den Eigenvektoren der Kovarianzmatrix berechnet und auf die Ausgleichsebene projiziert. Von diesen Punkten wird die Boundingbox berechnet, dann werden die u/v-Parameter für die Punkte berechnet.

Definition at line 623 of file ApproxSurface.cpp.

References _bGetUVDir, _bSmoothing, _fSmoothInfluence, CalcEigenvectors(), GetUVParameters(), SolveWithoutSmoothing(), and SolveWithSmoothing().

virtual void Reen::ParameterCorrection::DoParameterCorrection ( unsigned short  usIter  )  [protected, pure virtual]

Führt eine Parameterkorrektur durch.

Implemented in Reen::BSplineParameterCorrection.

void ParameterCorrection::EnableSmoothing ( bool  bSmooth = true,
float  fSmoothInfl = 1.0f 
) [virtual]

Verwende Glättungsterme.

Reimplemented in Reen::BSplineParameterCorrection.

Definition at line 777 of file ApproxSurface.cpp.

References _bSmoothing, and _fSmoothInfluence.

Base::Vector3f ParameterCorrection::GetGravityPoint ( void   )  const [virtual]

Definition at line 729 of file ApproxSurface.cpp.

References _pvcPoints, MovieTool::x, and MovieTool::y.

bool ParameterCorrection::GetUVParameters ( float  fSizeFactor  )  [protected, virtual]
void ParameterCorrection::GetUVW ( Base::Vector3f clU,
Base::Vector3f clV,
Base::Vector3f clW 
) const [virtual]

Gibt die u/v/w-Richtungen zurück.

Definition at line 722 of file ApproxSurface.cpp.

References _clU, _clV, and _clW.

void ParameterCorrection::SetUVW ( const Base::Vector3f clU,
const Base::Vector3f clV,
const Base::Vector3f clW,
bool  bUseDir = true 
) [virtual]

Setzen der u/v-Richtungen Dritter Parameter gibt an, ob die Richtungen tatsächlich verwendet werden sollen.

Definition at line 714 of file ApproxSurface.cpp.

References _bGetUVDir, _clU, _clV, and _clW.

virtual bool Reen::ParameterCorrection::SolveWithoutSmoothing (  )  [protected, pure virtual]

Löst Gleichungssystem.

Implemented in Reen::BSplineParameterCorrection.

Referenced by DoInitialParameterCorrection().

virtual bool Reen::ParameterCorrection::SolveWithSmoothing ( float  fWeight  )  [protected, pure virtual]

Löst ein reguläres Gleichungssystem.

Implemented in Reen::BSplineParameterCorrection.

Referenced by DoInitialParameterCorrection().


Member Data Documentation

Definition at line 319 of file ApproxSurface.h.

Referenced by DoInitialParameterCorrection(), ParameterCorrection(), and SetUVW().

Anzahl der Kontrollpunkte in v-Richtung.

Definition at line 326 of file ApproxSurface.h.

Referenced by CalcEigenvectors(), GetUVParameters(), GetUVW(), and SetUVW().

u-Richtung

Definition at line 327 of file ApproxSurface.h.

Referenced by CalcEigenvectors(), GetUVParameters(), GetUVW(), and SetUVW().

v-Richtung

Definition at line 328 of file ApproxSurface.h.

Referenced by CalcEigenvectors(), GetUVParameters(), GetUVW(), and SetUVW().

TColgp_Array1OfPnt* Reen::ParameterCorrection::_pvcPoints [protected]
TColgp_Array1OfPnt2d* Reen::ParameterCorrection::_pvcUVParam [protected]
unsigned short Reen::ParameterCorrection::_usUCtrlpoints [protected]
unsigned short Reen::ParameterCorrection::_usUOrder [protected]
unsigned short Reen::ParameterCorrection::_usVCtrlpoints [protected]
unsigned short Reen::ParameterCorrection::_usVOrder [protected]
TColgp_Array2OfPnt Reen::ParameterCorrection::_vCtrlPntsOfSurf [protected]
TColStd_Array1OfReal Reen::ParameterCorrection::_vUKnots [protected]
TColStd_Array1OfInteger Reen::ParameterCorrection::_vUMults [protected]
TColStd_Array1OfReal Reen::ParameterCorrection::_vVKnots [protected]
TColStd_Array1OfInteger Reen::ParameterCorrection::_vVMults [protected]

The documentation for this class was generated from the following files:

Generated on Wed Nov 23 19:02:45 2011 for FreeCAD by  doxygen 1.6.1