Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

CGridInterpolator Class Template Reference

Linearer Interpolationsalgorithmus für CGrid -Objekte. More...

#include <CGridInterpolator.h>

Inheritance diagram for CGridInterpolator::

CInterpolator List of all members.

Public Methods

Protected Attributes


Detailed Description

template<class T> class CGridInterpolator

Das Klassentemplate CGridInterpolator realisiert einen linearen Interpolationsalgorithmus für CGrid -Objekte. Der Templateparameter T legt hierbei den Datentype der Gridelemente fest. Es können ein Quell- ein Ziel- und ein Ergebnisgrid spezifiziert werden.

Note:
Alle drei Gitter müssen einen identischen Elementtyp haben und gleiche Ausmaße aufweisen.

Precondition:
Für den Elementtyp T müssen müssen alle gängigen arithmetischen Operatoren überladen worden sein. Insbesondere muss eine Überladung des "*"-Operator für float und T existieren.


Constructor & Destructor Documentation

template<class T>
CGridInterpolator< T >::CGridInterpolator<T> ( )
 

Der Standardkonstruktor initialisiert alle Elementzeiger mit NULL.

template<class T>
CGridInterpolator< T >::~CGridInterpolator<T> ( ) [virtual]
 

Der Standarddestruktor setzt alle Elementzeiger auf NULL zurück.


Member Function Documentation

template<class T>
void CGridInterpolator< T >::setSourceGrid ( CGrid< T > * sourceGrid )
 

Die Methode setSourceGrid() weist dem Interpolationsalgorithmus ein Quellgitter zu.

Note:
Wurde bereits ein Ergebnis- oder ein Zielgitter zugewiesen, so werden die Ausmaße verglichen. Stimmen sie nicht überein, so wird eine Exception vom Typ INVALID_ARGUMENT ausgelöst.

template<class T>
void CGridInterpolator< T >::setDestinationGrid ( CGrid< T > * destinationGrid )
 

Die Methode setDestinationGrid() weist dem Interpolationsalgorithmus ein Zielgitter zu.

Note:
Wurde bereits ein Ergebnis- oder ein Quellgitter zugewiesen, so werden die Ausmaße verglichen. Stimmen sie nicht überein, so wird eine Exception vom Typ INVALID_ARGUMENT ausgelöst.

template<class T>
void CGridInterpolator< T >::setResultGrid ( CGrid< T > * resultGrid )
 

Die Methode setResultGrid() weist dem Interpolationsalgorithmus ein Ergebnisgitter zu. Das Ergebnisgitter speichert nach einem Aufruf der Methode interpolate() deren Ergebnis.

Note:
Wurde bereits ein Quell- oder ein Zielgitter zugewiesen, so werden die Ausmaße verglichen. Stimmen sie nicht überein, so wird eine Exception vom Typ INVALID_ARGUMENT ausgelöst.

template<class T>
void CGridInterpolator< T >::interpolate ( float TimeIndex ) [virtual]
 

Die Methode interpolate() interpoliert linear zwischen dem Quellgitter und dem Zielgitter. Dabei wird jedes Element des Quellgitters mit 1 - TimeIndex multipliziert, jedes Element des Zielgitters mit TimeIndex. Danach werden die skalierten Zielgitterelemente zu den skalierten Quellgitterelementen addiert. Das Ergebnis wird im Ergebnisgitter gespeichert.

Ist Timeindex < 0, so wird das Quellgitter in das Ergebnisgitter kopiert. Ist Timeindex > 1, so wird das Zielgitter in das Ergebnisgitter kopiert.

Note:
Es wird nur dann interpoliert, wenn alle drei Gitter zugewiesen wurden. Ansonsten ist der Zustand des Ergebnisgitters undefiniert.

Reimplemented from CInterpolator.


The documentation for this class was generated from the following file:
Generated at Fri Apr 19 16:53:06 2002 for GLFramework by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001