next up previous contents
Next: Parser Up: Globale Daten Previous: Strukturen

 

Defines

Konstanten

/* Constants */
#define LITTLE_NUMBER 0.0001
Da alle Berechnungen mit einem Fehlergif behaftet sind, ist es oft nicht mehr möglich zu entscheiden, ob zwei Werte gleich sind. LITTLE_NUMBER dient dazu, solche Probleme zu erkennen. Wenn die Differenz zweier Werte kleiner als LITTLE_NUMBER wird, können wir uns nicht mehr auf diese Differenz verlassen.

Limits

 
/* Limits */
#define MAX_ACTIVE_EDGES 7000
#define MAX_EXTRA_POINTS 4000
#define MAX_PSEUDO_EVENTS 3000
#define MAX_POLYGON_BACKUP 9000
#define MAX_EDGES_PER_SCANLINE 4000
MAX_ACTIVE_EDGES gibt die maximale Anzahl gleichzeitig aktiver Kanten vor. MAX_EXTRA_POINTS gibt vor, wieviele Punkte durch das Klippen auf die obere Fenstergrenze (siehe update_eventtable in 5.10.5) entstehen dürfen. MAX_PSEUDO_EVENTS legt die maximale Anzahl Pseudoevents fest, die entstehen dürfen (siehe Pseudo_events in 5.10.5). MAX_POLYGON_BACKUP legt die Grösse des Datenfeldes fest, in dem die Punktelisten der Polygone, bei denen Punkte weggeklippt werden müssen, gespeichert werden (siehe update_eventtable in 5.10.5). MAX_EDGES_PER_SCANLINE setzt die maximale Anzahl Kanten, die pro Scanline neu generiert oder gelöscht werden können.  

Punkteflags

 
/* Flags for the field flags in point_struct */
#define NO_POLYGON_ON_SCREEN 1
NO_POLYGON_ON_SCREEN wird durch die Funktion clip (siehe 5.8.1) bei allen Punkten gesetzt, die kein Polygon sichtbar haben. Alle Punkte, die dieses Flag gesetzt haben, werden nicht mehr in die Eventtabelle eingetragen.  

Polygonflags

 
/* Flags for the field flags in polygon_struct */
#define OUT_OF_SCREEN 1  
#define ALL_ABOVE 2 
#define BACK_TO_SCREEN 4  
#define POLYGON_OF_CLOSED_FIGURE 8
OUT_OF_SCREEN wird durch die Funktion clip (siehe 5.8.1) bei denjenigen Polygonen gesetzt, die sicher ausserhalb des Bildschirmfensters liegen. ALL_ABOVE wird durch die Funktion clip2 (siehe 5.8.1) bei allen Polygonen, die oberhalb der oberen Bildschirmgrenze liegen, gesetzt. BACK_TO_SCREEN wird durch die Funktion colors (siehe 5.9.1) bei allen Polygonen, die zu einem geschlossenen Objekt gehören und die Rückseite dem Bildschirm zuwenden, gesetzt. POLYGON_OF_CLOSED_FIGURE wird aus den Eingabendaten übernommen. Polygone, die zu einem geschlossenen Objekt gehören, haben dieses Flag gesetzt.  

Flagkombinationen

 
/* Flag combinations */
#define INVISIBLE (OUT_OF_SCREEN | ALL_ABOVE | BACK_TO_SCREEN)
#define NOT_REMOVE_BY_INITIALIZE (POLYGON_OF_CLOSED_FIGURE)
INVISIBLE ist die Kombination aller Polygonflags, die bedeuten, dass das Polygon unsichtbar ist. NOT_REMOVE_BY_INITIALIZE ist die Kombination aller Polygonflags, die von Bild zu Bild von clip (siehe 5.8.1) nicht zurückgesetzt werden dürfen.  

Modulspezifische Defines

/* defines used in get_view */
#define Z_STEP 1.1
#define MIN_Z_DIST 1.5
Z_STEP ist der Faktor, um den getview (siehe 5.5.1) die Z-Koordinate beim Zoomen ändert. MIN_Z_DIST ist der minimale Abstand, der zur Szene eingehalten wird.
/* constants for timers */
#define NORMAL_VECTOR 0
#define FOCAL_POINTS 1
#define MAX_RADIUS 2
#define CLIP 3
#define COLORS 4
#define TRANSFORM 5
#define PROJECT 6
#define SCANLINE_ALL 7
#define SCANLINE_EVENTTABLE 8
#define SCANLINE_EDGES 9
#define SCANLINE_SPANS 10
#define SCANLINE_BITMAP 11
#define CLIP_2 12
#define ALL 13
Diese Konstanten bestimmen, welche Timernummer benutzt wird (siehe 5.16.4).


next up previous contents
Next: Parser Up: Globale Daten Previous: Strukturen

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