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

CFrameList Class Reference

Containerklasse zur Verwaltung von Keyframes beliebigen Typs. More...

#include <CFrameList.h>

List of all members.

Public Methods

Protected Methods

Protected Attributes


Detailed Description

Die Klasse CFrameList stellt einen Container dar, der beliebige Keyframes aufnehmen kann, die von der Klasse CKeyFrame abgeleitet worden sind. Die Keyframes werden innerhalb des Containers aufsteigend bezüglich ihres Zeitindex sortiert. Mittels eines Cursors kann die Frameliste in beliebiger Richtung durchlaufen werden.

Remarks:
Die der CFrameList -Klasse zugrundeliegende Datenstruktur ist eine doppeltverkettete sortierte Liste.

Note:
Obwohl innerhalb des Containers beliebige Keyframe-Typen gemischt werden können, ist dies nicht empfehlenswert.


Constructor & Destructor Documentation

CFrameList::CFrameList ( )
 

Der Standardkonstruktor initialisiert alle Elementzeiger mit NULL, und setzt die Anzahl der Elemente auf 0.

CFrameList::~CFrameList ( )
 

Der Standardestruktor löscht mittels clear() alle Elemente aus der Liste.


Member Function Documentation

void CFrameList::LinkOut ( SFrameListElement * Element ) [protected]
 

Die Methode LinkOut() hängt ein Element aus der doppelt verketteten Liste aus, und passt dabei die Zeiger First, Last und Current entsprechend an.

Remarks:
Wird gerade das Frame ausgeklinkt an dem sich der Framecursor befindet, so wird dieser je nach Lage entweder auf das nächste oder vorherige Frame gesetzt.

void CFrameList::clear ( )
 

Die Methode clear() entfernt alle Keyframes aus der Liste. Der durch die Keyframes belegte Speicherplatz wird dabei freigegeben.

void CFrameList::insert ( CKeyFrame * NewFrame )
 

Die Methode insert() fügt das über NewFrame spezifizierte Keyframe zu der Frameliste hinzu. Dabei wird das Keyframe an der richtigen Stelle innerhalb der Liste bezüglich des Zeitindex eingefügt, so dass die Liste immer sortiert bleibt.

Note:
Existiert bereits ein Frame mit idetischem Zeitindex, wie das einzufügende Frame, so wird es durch das neue Frame überschrieben.

bool CFrameList::remove ( )
 

Die Methode remove() gibt je nach Erfolg true oder false zurück.

Remarks:
Der von dem Keyframe belegte Speicherplatz wird freigegeben.

Remarks:
Der Framecursor wird nach dem Entfernen des Frames je nach Lage entweder auf das nächste oder vorherige Frame gesetzt.

bool CFrameList::remove ( float TimeIndex )
 

Die Methode remove(float TimeIndex) gibt je nach Erfolg true oder false zurück.

Remarks:
Der von dem Keyframe belegte Speicherplatz wird freigegeben.

Remarks:
Wird gerade das Frame entfernt an dem sich der Framecursor befindet, so wird dieser je nach Lage entweder auf das nächste oder vorherige Frame gesetzt.

CKeyFrame * CFrameList::current ( float TimeIndex )
 

Die Methode current(float TimeIndex) durchsucht die Liste nach dem mittels TimeIndex spezifizierten Frame. Wird es gefunden, so wird die Framecursorposition auf dieses Frame gesetzt und ein Zeiger auf das Keyframe zurückgegeben. Ansonsten wird NULL zurückgegeben, und die Position des Framecursors ist undefiniert.


Member Data Documentation

int CFrameList::Count [protected]
 

Note:
Alle Methoden, die die Anzahl der Elemente innerhalb der Liste ändern müssen Count entsprechend anpassen.


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