#include <Animation.h>
Öffentliche Methoden | |
Animation (Transform *target, int aniType, double period, double amplitude, double displacement, int fieldMask) | |
virtual | ~Animation () |
Öffentliche, statische Methoden | |
static void | remove (Transform *t) |
static void | nextTick (unsigned long tick) |
Statische öffentliche Attribute | |
static const int | ANI_SINUSOIDAL = 0x0001 |
static const int | ANI_SAWTOOTH = 0x0002 |
Private, statische Methoden | |
static void | registerNew (Animation *ani) |
Private Attribute | |
Transform * | target |
int | aniType |
double | period |
double | amplitude |
double | displacement |
int | fieldMask |
Statische private Attribute | |
static list< Animation * > | animations |
Animation::Animation | ( | Transform * | target, | |
int | aniType, | |||
double | period, | |||
double | amplitude, | |||
double | displacement, | |||
int | fieldMask | |||
) |
Animation::~Animation | ( | ) | [virtual] |
Default-Destruktor
void Animation::registerNew | ( | Animation * | ani | ) | [static, private] |
Methode, die eine neu erzeuge Animation aufruft, um sich zu registrieren
void Animation::nextTick | ( | unsigned long | tick | ) | [static] |
Alle in der statischen Liste registrierten Animationen sollen einen Tick weiterbewegt werden
Transform* Animation::target [private] |
Die Transformation, deren Werte in der Animation bearbeitet werden
int Animation::aniType [private] |
Der Typ (Wellenform) der Animation. Muss einer der statischen Konstanten ANI_* sein
double Animation::period [private] |
Die Periode (Wellenbreite) der Animation. Ist proportional zur Aufruffrequenz der nextTick()-Methode.
double Animation::amplitude [private] |
Die Amplitude (Wellenhöhe) der Animation. Gibt daher z.B. die maximale Auslenkung bei Bewegungsanimationen an
double Animation::displacement [private] |
Die Auslenkung (vertikale Wellenverschiebung). Ist Auslenkung = Amplitude, so liegt der Wertebereich der Welle zwischen 0 und der Amplitude.
int Animation::fieldMask [private] |
Feldmaske: Stellt ein, welche Komponenten des Transformationsvektors beeinflusst werden 1000 - x-Komponente des Vektors beeinflusst 0100 - y-Komponente des Vektors beeinflusst 0010 - z-Komponente des Vektors beeinflusst 0001 - w-Komponente des Vektors beeinflusst 0x6 ändert also z.B. simultan y- und z- Komponente
list< Animation * > Animation::animations [static, private] |
Klassenvariable: Liste der Animationen, die bei nextTick() weiterbewegt werden sollen
const int Animation::ANI_SINUSOIDAL = 0x0001 [static] |
Wellenform: Sinusförmig. Berechnungsvorschrift: (sin(tick/periode)*amplitude)+displacement
const int Animation::ANI_SAWTOOTH = 0x0002 [static] |
Wellenform: Sägezahn. Berechnungsvorschrift: (tick mod amplitude)*periode