Hauptseite   Klassenhierarchie   Übersicht   Auflistung der Dateien   Datenstruktur-Elemente   Datei-Elemente  

global.h Dateireferenz

enthält allgemeine Definition, wie globale Konstanten Mehr...

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.


Ausführliche Beschreibung

enthält allgemeine Definition, wie globale Konstanten

Diplomarbeit Nr. 2035 - "Erzeugung und Evaluierung von Oktalbaumstrukturen als Schnittstelle zu CAD-Programmen"
SgS, Universität Stuttgart

Autor:
Stefan Mahler
Datum:
2002

Makro-Dokumentation

#define ABSOLUTE_MAX_DEPTH   ( (8*sizeof(int) - 1) / 2 )
 

Größtmögliche Tiefe des Oktalbaums.

Ergibt sich aus dem Wertebereich der Typen zur Bearbeitung von Knoten-Indizes und Punkten, also AxIndex und Coordinate.

#define COUNT_VERTEX_IN_FACE   4
 

Anzahl der Begrenzungspunkte einer Fläche.

Siehe auch:
Plane , 3DFace im DXF-Format

#define DIMENSIONS   3
 

Anzahl der Dimensionen des Cad-Models bzw.

der Octree-Struktur.

#define FILL_SOLIDS
 

Fülle Körper.

Ist dies ausgeschaltet, werden nur die Oberflächen der Körper generiert.

#define MAX_RECURSIVE_DEEP   65000
 

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.

#define RAY_AXIS   X_AXIS
 

Teststrahl parallel zur x-Achse.

Siehe auch:
OctGen::testRay() , OctGen::testLine()

#define RAY_DIR   FORWARD
 

Teststrahl verläuft in Richtung +Unendlich.

Siehe auch:
OctGen::testRay()

#define USE_QUEUE
 

Anstatt eines Stacks wird eine Queue benutzt.

MARK_BORDER, LIMITED_STACK und MAX_RECURSIVE_DEEP haben eine analoge Wirkung.


Dokumentation der benutzerdefinerten Typen

typedef double Coordinate
 

Typ für Punkt- bzw.

Vektorkoordinaten

typedef int Hight
 

Typ für die Baumhöhe.

Aus der Maximalbaumhöhe resultiert die Maximalgenauigkeit der Darstellung.

Es gilt:

  • hight des Wurzelknotens = maxTreeHight des Baumes
  • hight eines Blattknotens der 'untersten Ebene' = 0


Dokumentation der Funktionen

char* formatLarge unsigned    i
 

Liefert i in 3-er Blöcken zurück.

Parameter:
i  Zahl
Rückgabe:
'i' formatiert.


Erzeugt am Fri Mar 14 19:44:51 2003 für cad2octree von doxygen1.2.16