next up previous contents
Next: Präprozessing Up: Parser Previous: parser_y.y

 

init

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.

free_all

tabular2670

Die Funktion free_all gibt allen Speicher frei, der von init_all reserviert wurde. Abbildung 5.2 aus Seite gif zeigt den Pseudocode.

27

  figure2693
Abbildung 5.2: Pseudocode der Funktion free_all 

init_all

tabular2705

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 gif zeigt den Pseudocode.

27

  figure2735
Abbildung 5.3: Pseudocode der Funktion init_all 

calc_view_matrix

tabular2750

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 gif beschieben. Abbildung 5.4 auf Seite gif zeigt den Pseudocode.

27

  figure2790
Abbildung 5.4: Pseudocode der Funktion calc_view_matrix 

append_ending

tabular2802

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 gif zeigt den Pseudocode. 27

  figure2820
Abbildung 5.5: Pseudocode der Funktion append_ending 

 



Martin Frey
Tue Jun 17 13:29:20 MET DST 1997