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

GenHelp Klassenreferenz

Klasse, die Routinen enthält, die zum Generieren der Oktalbaumstruktur benötigt werden. Mehr...

#include <gen_help.h>

Aufstellung aller Elemente

Öffentliche Datenelemente

 GenHelp (Hight maxTreeHight, Point minPoint, Point maxPoint) throw (NotEnoughMemoryException)
 Konstruktor.

Axis bestAxis (NodeIndex current, NodeIndex end, NodeVec line, Direction direction)
 Liefert die Achse, auf der weitergegangen werden muss, um die Ideallinie am besten zu aproximieren.

Point getCadPoint (GeomPoint p)
 Liefert den zugehörigen Point des CadModel zum GeomPoint p.

GeomPoint getGeomPoint (Point p)
 Liefert den zugehörigen GeomPoint zum Point p des CadModel.

NodeIndex getNodeIndex (Point p)
 Liefert den zugehörigen Knotenindex zum Punkt p.

Polygon getPolygon (Quadrilateral *q, Polygon *&t2)
 Liefert das zugehörige Polygon zum Quadrilateral q.

Polygon getPolygon (Triangle *t)
 Liefert das zugehörige Polygon zum Triangle t.


Private Datenelemente

Coordinate getCadCoord (GeomPoint p, Axis axis)
 Liefert die zugehörige Koordinate im CadModel zum Punkt p der Achse axis.

Coordinate getError (NodeVec fromTestpoint, NodeVec line)
 Liefert den Abstand des Testpunktes zur Ideallinie.

Coordinate getGeomCoord (Point p, Axis axis)
 Liefert die zugehörige geometrische Koordinate zum Punkt p der Achse axis.

Coordinate getMaxExtent (Point min, Point max)
 Liefert den größten Abstand entlang einer Koordinatenachse zwischen den Punkten min und max.


Private Attribute

Coordinate density
 Reziproke der Kantenlänge eines Oktalwürfels auf der untersten Ebene.

Point min
 unterer hinterer linker Punkt des vom Oktalbaum beschriebenen Areas


Ausführliche Beschreibung

Klasse, die Routinen enthält, die zum Generieren der Oktalbaumstruktur benötigt werden.

Dies umfasst eine Konvertierungsfunktion: Point --> NodeIndex und Methoden zum Berechnen der nächsten zunehmenden Achse zur Linienaproximation basierend auf dem Cohem-Sutherland-Algorithmus (in leicht abgewandelter Form).


Beschreibung der Konstruktoren und Destruktoren

GenHelp::GenHelp Hight    maxTreeHight,
Point    minPoint,
Point    maxPoint
throw (NotEnoughMemoryException)
 

Konstruktor.

Parameter:
maxTreeHight  maximale Höhe des Oktalbaums
minPoint  unterer vorderer linker Punkt des umschließenden Quaders
maxPoint  oberer hinterer rechter Punkt des umschließenden Quaders
Vorbedingung:
minPoint << maxPoint


Dokumentation der Elementfunktionen

Axis GenHelp::bestAxis NodeIndex    current,
NodeIndex    end,
NodeVec    line,
Direction    direction
 

Liefert die Achse, auf der weitergegangen werden muss, um die Ideallinie am besten zu aproximieren.

Falls direction für alle Achsen 0 ist (Start- und Endpunkt der Ideallinie sind gleich), wird die x-Achse zurückgeliefert. Ansonsten werden nur Achsen berücksichtigt für die direction ungleich 0 ist.

Parameter:
current  aktueller Punkt
end  End-Punkt
line  Vektor der Ideallinie
direction  Richtung der Ideallinie
Rückgabe:
die Achse, auf der am günstigen weitergegangen wird
Vorbedingung:
current.getHight() = end.getHight() = line.getHight()

Coordinate GenHelp::getCadCoord GeomPoint    p,
Axis    axis
[private]
 

Liefert die zugehörige Koordinate im CadModel zum Punkt p der Achse axis.

Parameter:
p  Punkt als GeomPoint
axis  Koordinaten-Achse
Rückgabe:
Koordinate im CadModel

Point GenHelp::getCadPoint GeomPoint    p
 

Liefert den zugehörigen Point des CadModel zum GeomPoint p.

Parameter:
p  Punkt als GeomPoint
Rückgabe:
Point des CadModel
Vorbedingung:
p.getHight() == BASE_NODE_HIGHT

Coordinate GenHelp::getError NodeVec    fromTestpoint,
NodeVec    line
[private]
 

Liefert den Abstand des Testpunktes zur Ideallinie.

Je kleiner der Fehler, desto besser wird die Ideallinie aproximiert.

Parameter:
fromTestpoint  Strecke vom Testpunkt zum Endpunkt der Line
line  Strecke vom Startpunkt zum Endpunkt der Ideallinie
Rückgabe:
vorzeichenloser Abstand zur Ideallinie
Vorbedingung:
fromTestpoint.getHight() = line.getHight()

Coordinate GenHelp::getGeomCoord Point    p,
Axis    axis
[private]
 

Liefert die zugehörige geometrische Koordinate zum Punkt p der Achse axis.

Parameter:
p  Punkt des CadModel
axis  Koordinaten-Achse
Rückgabe:
geometrische Koordinate (entspr. real-wertigen Index)

GeomPoint GenHelp::getGeomPoint Point    p
 

Liefert den zugehörigen GeomPoint zum Point p des CadModel.

Parameter:
p  Punkt des CadModel
Rückgabe:
GeomPoint

Coordinate GenHelp::getMaxExtent Point    min,
Point    max
[private]
 

Liefert den größten Abstand entlang einer Koordinatenachse zwischen den Punkten min und max.

Parameter:
min  'kleiner' Punkt
max  'größerer' Punkt
Vorbedingung:
min << max

NodeIndex GenHelp::getNodeIndex Point    p
 

Liefert den zugehörigen Knotenindex zum Punkt p.

Parameter:
p  Punkt des CadModel
Rückgabe:
Knoten-Index

Polygon GenHelp::getPolygon Triangle   t
 

Liefert das zugehörige Polygon zum Triangle t.

Parameter:
t  Dreieck des CadModel
Rückgabe:
Polygon des Geometrie-Modells
Vorbedingung:
t != NULL

Polygon GenHelp::getPolygon Quadrilateral   q,
Polygon *&    t2
 

Liefert das zugehörige Polygon zum Quadrilateral q.

Parameter:
q  Viereck des CadModel
t2  Falls die 4 Punkte nicht in einer Ebene, wird in t2 das obere und als Rückgabewert das untere Dreieck zurückgegeben. Liegen die vier Punkte in einer Ebene wird t2 auf NULL gesetzt.
Rückgabe:
Polygon des Geometrie-Modells
Vorbedingung:
q != NULL


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