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

OctGen Klassenreferenz

Oktalbaumgenerator. Mehr...

#include <oct_gen.h>

Aufstellung aller Elemente

Öffentliche Datenelemente

 OctGen (CadModel *model)
 Konstruktor.

void add (NodeIndex p, Color color) throw (NotEnoughMemoryException*)
 Fügt den Punkts p mit der Farbe color in den Oktalbaum ein.

void addQuadrilateral (NodeIndex pA, NodeIndex pB, NodeIndex pC, NodeIndex pD, Color color) throw (NotEnoughMemoryException*)
 Fügt das Viereck pApBpCpD mit der Farbe color in den Oktalbaum ein.

void addTriangle (NodeIndex pA, NodeIndex pB, NodeIndex pC, Color color) throw (NotEnoughMemoryException*)
 Fügt das Dreieck mit der Farbe color in den Oktalbaum ein.

CadModelgetCadModel ()
 Liefert das zur Oktalbaumgenerierung genutzte CadModel.

Color getColor (NodeIndex p)
 Liefert die Farbe des Knotens p, die unter Zuhilfenahme des CadModel ermittelt wurde.

GenHelpgetGenHelp ()
 Liefert das Hilfsobjekt zur Oktalbaumgenerierung.

IndexOctgetGenTree ()
 Liefert den Oktalbaum, der für die Generierung verwendet wird.

IndexOctgetOctree (Hight maxTreeHight) throw (NotEnoughMemoryException*, WrongModelException*)
 Generiert unter Nutzung des CadModel einen Oktalbaum mit maximaler Baumhöhe maxTreeHight.


Private Datenelemente

void addLine (NodeIndex start, NodeIndex end, Color color) throw (NotEnoughMemoryException*)
 Fügt die Strecke mit der Farbe color in den Oktalbaum ein.

void addObject (CadObject *object, Color color) throw (NotEnoughMemoryException*)
 Fügt das CadObject object mit der Farbe color in den Oktalbaum ein.

void checkModel () throw (WrongModelException*)
 Überprüft, ob das cadModel gültig ist.

Color nextPointColor (NodeIndex p)
 Liefert, NO_OBJECT, falls sich p außerhalb eines Körpers befindet und ansonsten die Farbe des Knotens einer 'Nachbarfläche' (entspricht der Körperfarbe) ermittelt wurde.

Color testRayColor (NodeIndex p)
 Liefert NO_OBJECT, falls sich p außerhalb eines Körpers befindet und ansonsten die Farbe des Knotens einer 'Nachbarfläche' (entspricht der Körperfarbe)
Es wird die Testraymethode verwendet.



Private Attribute

CadModelcadModel
 Zur Generierung verwendetes CadModel.

GenHelpgenHelp
 Hilfsobjekt für die Generierung der Oktalbaumstruktur.

IndexOctoctree
 Oktalbaum, in den die Punkte generiert werden sollen.


Ausführliche Beschreibung

Oktalbaumgenerator.

Erstellt unter Zuhilfenahme des CadModel einen Oktalbaum. OctGen bildet somit die Schnittstelle zwischen CadModel und der Oktalbaumstruktur.


Beschreibung der Konstruktoren und Destruktoren

OctGen::OctGen CadModel   model
 

Konstruktor.

Parameter:
model  zur Generierung verwendetes CadModel


Dokumentation der Elementfunktionen

void OctGen::add NodeIndex    p,
Color    color
throw (NotEnoughMemoryException*)
 

Fügt den Punkts p mit der Farbe color in den Oktalbaum ein.

Parameter:
p  Knotenindex des Punkts
color  Farbe
Ausnahmebehandlung:
NotEnoughMemoryException  Nicht genügend Speicher, um die neue Oktalbaumstruktur zu allozieren.

void OctGen::addLine NodeIndex    start,
NodeIndex    end,
Color    color
throw (NotEnoughMemoryException*) [private]
 

Fügt die Strecke mit der Farbe color in den Oktalbaum ein.

Parameter:
start  Knotenindex des Streckenanfangspunkts
end  Knotenindex des Streckenendpunkts
color  Farbe
Ausnahmebehandlung:
NotEnoughMemoryException  Nicht genügend Speicher, um die neue Oktalbaumstruktur zu allozieren.
Vorbedingung:
start.getHight() = end.getHight()

void OctGen::addObject CadObject   object,
Color    color
throw (NotEnoughMemoryException*) [private]
 

Fügt das CadObject object mit der Farbe color in den Oktalbaum ein.

Parameter:
object  CadObject
color  Farbe
Ausnahmebehandlung:
NotEnoughMemoryException  Nicht genügend Speicher, um die neue Oktalbaumstruktur zu allozieren.
Vorbedingung:
object != NULL

void OctGen::addQuadrilateral NodeIndex    pA,
NodeIndex    pB,
NodeIndex    pC,
NodeIndex    pD,
Color    color
throw (NotEnoughMemoryException*)
 

Fügt das Viereck pApBpCpD mit der Farbe color in den Oktalbaum ein.

Parameter:
pA  Knotenindex des Viereckpunkts A
pB  Knotenindex des Viereckpunkts B
pC  Knotenindex des Viereckpunkts C
pD  Knotenindex des Viereckpunkts D
color  Farbe
Ausnahmebehandlung:
NotEnoughMemoryException  Nicht genügend Speicher, um neue Oktalbaumstrukturteile zu allozieren.
Vorbedingung:
pA.getHight() = pB.getHight() = pC.getHight() = pD.getHight()

void OctGen::addTriangle NodeIndex    pA,
NodeIndex    pB,
NodeIndex    pC,
Color    color
throw (NotEnoughMemoryException*)
 

Fügt das Dreieck mit der Farbe color in den Oktalbaum ein.

Parameter:
pA  Knotenindex des Dreieckspunkts A
pB  Knotenindex des Dreieckspunkts B
pC  Knotenindex des Dreieckspunkts C
color  Farbe
Ausnahmebehandlung:
NotEnoughMemoryException  Nicht genügend Speicher, um neue Oktalbaumstrukturteile zu allozieren.
Vorbedingung:
pA.getHight() = pB.getHight() = pC.getHight()

void OctGen::checkModel   throw (WrongModelException*) [private]
 

Überprüft, ob das cadModel gültig ist.

Falls es nicht gültig ist wird eine WrongModelException geworfen.

Ausnahmebehandlung:
WrongModelException  cadModel == NULL or else cadModel->empty() or else not cadModel->getMinPoint() << cadModel->getMaxPoint()

CadModel* OctGen::getCadModel  
 

Liefert das zur Oktalbaumgenerierung genutzte CadModel.

Rückgabe:
CadModel
Nachbedingung:
return != NULL

Color OctGen::getColor NodeIndex    p
 

Liefert die Farbe des Knotens p, die unter Zuhilfenahme des CadModel ermittelt wurde.

Parameter:
p  Knoten-Index
Rückgabe:
NO_OBJECT, falls sich p außerhalb eines Körpers befindet und ansonsten die Farbe des Knotens einer 'Nachbarfläche' (entspricht der Körperfarbe)
Vorbedingung:
cadModel != NULL

GenHelp* OctGen::getGenHelp  
 

Liefert das Hilfsobjekt zur Oktalbaumgenerierung.

Rückgabe:
GenHelp
Nachbedingung:
return != NULL

IndexOct* OctGen::getGenTree  
 

Liefert den Oktalbaum, der für die Generierung verwendet wird.

Rückgabe:
Oktalbaum

IndexOct* OctGen::getOctree Hight    maxTreeHight throw (NotEnoughMemoryException*, WrongModelException*)
 

Generiert unter Nutzung des CadModel einen Oktalbaum mit maximaler Baumhöhe maxTreeHight.

Parameter:
maxTreeHight  maximale Baumhöhe
Rückgabe:
generierter Oktalbaum
Ausnahmebehandlung:
NotEnoughMemoryException  Nicht genügend Speicher, um die neue Oktalbaumstruktur zu allozieren.
WrongModelException  Das zugrundeliegende CadModel ist ungültig (vgl. checkModel()).

Color OctGen::nextPointColor NodeIndex    p [private]
 

Liefert, NO_OBJECT, falls sich p außerhalb eines Körpers befindet und ansonsten die Farbe des Knotens einer 'Nachbarfläche' (entspricht der Körperfarbe) ermittelt wurde.

Es wird die nächster-Punkt-Methode verwendet.

Parameter:
p  Knoten-Index
Rückgabe:
Farbe des Knotens p
Vorbedingung:
cadModel != NULL
p.getHight() = BASE_NODE_HIGHT

Color OctGen::testRayColor NodeIndex    p [private]
 

Liefert NO_OBJECT, falls sich p außerhalb eines Körpers befindet und ansonsten die Farbe des Knotens einer 'Nachbarfläche' (entspricht der Körperfarbe)
Es wird die Testraymethode verwendet.

Parameter:
p  Knoten-Index
Rückgabe:
Farbe des Knotens p
Vorbedingung:
cadModel != NULL
p.getHight() = BASE_NODE_HIGHT
RAY_AXIS < DIMENSIONS
RAY_DIR = BACKWARD or RAY_DIR = FORWARD


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Erzeugt am Fri Mar 14 19:44:51 2003 für cad2octree von doxygen1.2.16