Das Modul init enthält vier Funktionen. init_all und free_all lesen eine Szene ein bzw. geben sie wieder frei. calc_view_matrix und append_ending werden von parser_y.y und init_all aufgerufen.
Die Funktion free_all gibt allen Speicher frei, der von
init_all reserviert wurde. Abbildung 5.2 aus Seite
zeigt den
Pseudocode.
27
Abbildung 5.2: Pseudocode der Funktion free_all
Die Funktion init_all ruft den Parser auf, berechnet den
Dateinamen des Rasterfiles und berechnet, wie nahe dass man an eine
Szene herangehen darf, ohne dass man in eine Figur hineinfährt.
Abbildung 5.3 auf Seite
zeigt den Pseudocode.
27
Abbildung 5.3: Pseudocode der Funktion init_all
Die Funktion calc_view_matrix berechnet die Transformationsmatrix aus
Kamerapunkt C, Fokuspunkt F und Drehwinkel phi. Die
Grundlagen dazu sind im Abschnitt 1.3.1 auf
Seite
beschieben. Abbildung
5.4 auf Seite
zeigt den Pseudocode.
27
Abbildung 5.4: Pseudocode der Funktion calc_view_matrix
Die Funktion append_ending hängt die Endung ending an
den String Old_name und schreibt den resultierenden String in
New_name. Abbildung 5.5 auf Seite
zeigt den Pseudocode.
27
Abbildung 5.5: Pseudocode der Funktion append_ending