gehe zum Quellcode dieser Datei
Makrodefinitionen | |
#define | NDEBUG |
assert-check ausschalten | |
#define | FILL_SOLIDS |
Fülle Körper. | |
#define | USE_QUEUE |
Anstatt eines Stacks wird eine Queue benutzt. | |
#define | RAY_METHODE |
Zur Ermittlung der Füllfarbe wird die Strahlmethode verwendet. | |
#define | MAX_RECURSIVE_DEEP 65000 |
Wieviele Nachbarn beim Füllen mit gefüllt werden (wenn sie im gleichen Bereich liegen). | |
#define | VEC_ABS_MAX 0.75 |
Maximales Abstandsquadrat zweier Vektoren, so dass sie bei ALGORITHM_ISIN als identisch angesehen werden. | |
#define | DET_MAX 0.5 |
Maximum bei ALGORITHM_CHECK_DET, bei dem der Punkt noch als zur Ebene gehörend betrachtet wird. | |
#define | DIMENSIONS 3 |
Anzahl der Dimensionen des Cad-Models bzw. | |
#define | COUNT_VERTEX_IN_FACE 4 |
Anzahl der Begrenzungspunkte einer Fläche. | |
#define | ABSOLUTE_MAX_DEPTH ( (8*sizeof(int) - 1) / 2 ) |
Größtmögliche Tiefe des Oktalbaums. | |
#define | EPSILON 1e-8 |
Abstand zweier Fließkommazahlen, ab dem sie nicht mehr als gleich aufgefasst werden. | |
#define | MAX(x1, x2) ((x1) > (x2) ? (x1) : (x2)) |
Maximum zweier Zahlen. | |
#define | MIN(x1, x2) ((x1) < (x2) ? (x1) : (x2)) |
Minimum zweier Zahlen. | |
#define | STR_LEN 1024 |
Standard-Maximallänge von Stringpuffern. | |
#define | RAY_AXIS X_AXIS |
Teststrahl parallel zur x-Achse. | |
#define | RAY_DIR FORWARD |
Teststrahl verläuft in Richtung +Unendlich. | |
Typendefinitionen | |
typedef double | Coordinate |
Typ für Punkt- bzw. | |
typedef int | Axis |
Koordinaten-Achsen. | |
typedef int | Hight |
Typ für die Baumhöhe. | |
typedef int | Color |
Typ für Körperfarbe. | |
Funktionen | |
Coordinate | ABS (Coordinate x) |
Liefert den Absolutbetrag von x: x, falls x >= 0 -x, sonst. | |
bool | EQUIVAL (Coordinate coord1, Coordinate coord2) |
Zum Vergleich zweier Koordinaten auf Gleichheit. | |
int | SIGN (Coordinate x) |
Vorzeichen von x: 1, falls x > 0 -1, falls x < 0 0, sonst. | |
char * | formatLarge (unsigned i) |
Liefert i in 3-er Blöcken zurück. | |
Variablen | |
const Axis | X_AXIS = 0 |
X-Achse. | |
const Axis | Y_AXIS = 1 |
Y-Achse. | |
const Axis | Z_AXIS = 2 |
Z-Achse. | |
const Hight | MAX_HIGHT = ABSOLUTE_MAX_DEPTH |
Größtmögliche Maximaltiefe. | |
const Color | MAX_COLOR = INT_MAX - 1 |
'Größte' Farbe. |
Diplomarbeit Nr. 2035 - "Erzeugung und Evaluierung von Oktalbaumstrukturen als Schnittstelle zu CAD-Programmen"
SgS, Universität Stuttgart
|
Größtmögliche Tiefe des Oktalbaums. Ergibt sich aus dem Wertebereich der Typen zur Bearbeitung von Knoten-Indizes und Punkten, also AxIndex und Coordinate. |
|
Anzahl der Begrenzungspunkte einer Fläche.
|
|
Anzahl der Dimensionen des Cad-Models bzw. der Octree-Struktur. |
|
Fülle Körper. Ist dies ausgeschaltet, werden nur die Oberflächen der Körper generiert. |
|
Wieviele Nachbarn beim Füllen mit gefüllt werden (wenn sie im gleichen Bereich liegen). Dieser Wert ist für besonders große Bereiche relevant. Je höher dieser Wert, desto schneller können große Bereiche gefüllt werden, aber desto mehr Stapel-Speicher wird auch benötigt. Der Schalter ist nur dann relevant, wenn die Schalter FILL_SOLIDS und ( MARK_BORDER oder LIMITED_STACK ) eingeschaltet sind. |
|
Teststrahl parallel zur x-Achse.
|
|
Teststrahl verläuft in Richtung +Unendlich.
|
|
Anstatt eines Stacks wird eine Queue benutzt. MARK_BORDER, LIMITED_STACK und MAX_RECURSIVE_DEEP haben eine analoge Wirkung. |
|
Typ für Punkt- bzw. Vektorkoordinaten |
|
Typ für die Baumhöhe. Aus der Maximalbaumhöhe resultiert die Maximalgenauigkeit der Darstellung. Es gilt:
|
|
Liefert i in 3-er Blöcken zurück.
|