Drawing3d documented Class Library

Drawing3d.Solids Namespace

Namespace Hierarchy

Classes

Class Description
Bounds Liste von EdgeLoop. Enthält die Methode Copy
DiscreteCone Ein DicreteCone ist fast dasselbe wie ein Cone mit dem Unterschied, dass die Mantelfäche des DiscreteCone aus lauter Ebenen Flächen besteht (entsprechend UResolution und VResolution) und ein Cone ein Cone als Tägergeometrie für den Matel besitzt. Der Grund liegt darin, dass zum jetzigen Zeitpunkt der Entwicklung, auf Solids, von denen alle Faces eine ebene Geometrie haben (Surface = PlaneSurface mengentheoretische Operationen wie Vereinigung, Durchschnitt und Komplementaäsolid angewandt werden können.
DiscreteSolid Ein DiscreteSolid enthält nur eben Faces, deren Surface eine PlaneSurface ist.
Edge Ein Edge ist eine Kante eines Körpers. Im Fall von Model = Solid gibt es zu swei Punkten A und B zwei Kanten, wobei die eine von A nach B und die andere von B nach A geht. - EdgeStart und EdgeEnd: Anfangs- und Endpunkt der Kante. Zu jeder Edge ist eindeutig ein Face zugeordnet. Rechterhand de rKante liegt die Oberfläche von Face. Alle Kanten, die zu einem Face gehören, umschließen eine Fläche. die im Uhrzeigersinn umlaufen wird.
- ParamCurve: Eine zweidimensionale Kurve, die sich auf den Parameterraum von Face bezieht. Sie stellt die Grenzen der Oberfläche dar, deren Geometrie durch Face bestimmt wird. .
Ist z.B. das Face der Mantel eines Zylinders ( Cone) und ParamCurve eine Gerade von (0,0) nach (PI,0), so ergibt dies einen Halbkreis in R³.

- EdgeCurve: Eine dreidimensionale Kurve, die identisch ist mit der durch ParamCurve und definierten Kurve. Eine Kante und ihre duale Kante besitzen nur eine gemeinsame EdgeCurve. Z.B.: besitzt ein Quader 12 EdgeCurves. Siehe EdgeCurveList.
Eine 3D-Curve besitzt die Eigenschaft Neighbors, ein array bestehend aus den zwei benachbarten Faces. Diese Eigenschaft ist wichtig, um von einem Face via Edge zum Nachbarface zu gelangen.
-SameSense: Durch die ParamCurve und ddie zugehörige Geometrie wird eine 3D-Curve definiert. Ist SameSense = true, so ist diese Kurve identisch mit EdgeCurve andernfalls ist diese Kurve invertiert.
EdgeList Definiert eine Liste von Edge.
EdgeLoop Eine Liste von Edge
Face Die Klasse Face beschreibt einen Teil der Oberfläche eines Körpers. Face begrenzt durch Kanten vom Typ Edge. Diese Kanten sind abgelegt in Listen von EdgeLists Bounds. Bounds[0] ist eine Edgeliste und enthält die Kontur von einem Face. Die Orientierung( d.h. die Orientierung der zugehörigen Parameterkurven) ist im Uhrzeigersinn. Ist eine Edgeliste geometrisch in einer anderen enthalten, so muss die Orientierung genau das Gegenteil sein. Enthält eine Kontur z.B. ein Loch, so ist die Kontur im Uhrzeigersinn, das Loch im Gegenuhrzeigersinn.
FaceList Liste von Faces.
Solid Die Klasse Solid im SolidSurface-Modell realisiert einen massiven 3D-Körper und nicht nur ein Oberflächenmodell.

Folgende Listen sind habe zentrale Bedeutung:

1. Die Punkteliste (VertexList)

2. Die Kantenliste (EdgeList)

3. Die Oberflächenliste (FaceList)

4. Die 3D-Kurvenliste (EdgeCurveList)


Durch diese Listen sind die Geometrie und die Topologie des Körpers vollständig definiert.

Die Punkteliste

Sie enthält alle Eckpunkte eines Körpers. Die Koordinaten zweier verschiedener Punkte sind im Allgemeinen gleich, aber es kann durchaus vorkommen, dass sie übereinstimmen.
Die Punkte sind Klassen vom Typ Vertex3d.

Die Kantenliste:
Die Kanten sind vom Typ Edge.
Eigenschaften von Edge:
- EdgeStart und EdgeEnd: Zu jedem Paar von von Punkten A, B des Solid gibt es ein Paar(!) von "Softwarekanten" Edge. Die eine Kante hat A als Anfgangspunkt EdgeStart und B als Endpunkt EdgeEnd, die andere Kante hat A als Endpunkt und B als Anfangspunkt. Die beiden Kanten nennen wir zu einander duale Kanten. Es ist oft wichtig, zu einer Kante ihre duale Kante zu bestimmen.
Ein Quader besitzt somit 24 Edge.
Zu jeder Edge ist eindeutig ein Face zugeordnet. Rechterhand derKante liegt die Oberfläche von Face. Alle Kanten, die zu einem Face gehören, umschließen eine Fläche. die im Uhrzeigersinn umlaufen wird.
- ParamCurve: Eine zweidimensionale Kurve, die sich auf den Parameterraum von Face bezieht. Sie stellt die Grenzen der Oberfläche dar, deren Geometrie durch Face bestimmt wird. .
Ist z.B. das Face der Mantel eines Zylinders ( Cone) und ParamCurve eine Gerade von (0,0) nach (PI,0), so ergibt dies einen Halbkreis in R³.

- EdgeCurve: Eine dreidimensionale Kurve, die identisch ist mit der durch ParamCurve und definierten Kurve. Eine Kante und ihre duale Kante besitzen nur eine gemeinsame EdgeCurve. Z.B.: besitzt ein Quader 12 EdgeCurves. Siehe EdgeCurveList.
Eine 3D-Curve besitzt die Eigenschaft Neighbors, ein array bestehend aus den zwei benachbarten Faces. Diese Eigenschaft ist wichtig, um von einem Face via Edge zum Nachbarface zu gelangen.
-SameSense: Durch die ParamCurve und ddie zugehörige Geometrie wird eine 3D-Curve definiert. Ist SameSense = true, so ist diese Kurve identisch mit EdgeCurve andernfalls ist diese Kurve invertiert.

Die Oberflächenliste:
Sie besteht aus Oberflächen, die das Solid begrenzen: Faces.
Eigenschaften von Face:
- Surface: Enthält die Geometrie der Obfläche. Von ParamCurves wird sie verwendet, um 3D- Kurven zu evaluieren.
-ParamCurves: Sie bestimmen die Berandung der Oberflächen. Tatsächlich werden sie immer wieder neu berechnet, wenn sich ein Änderung der Topologie oder der Geometrie des Solids ereignet hat. Sie werden lediglich zu raschen Renderung des Solids benötigt. Neu berechnet können sie werden aus den Inhalten von Bounds mit der Methode RefreshParamCurves.
-Bounds:
Sie bestehen aus Listen von EdgeList. Die 0-te EdgeList gibt die äußere Kontur des Face an und sollten die Overfläche im Uhrzeigersinn um laufen. Liegt eine Edgelist geometrisch innerhalb einer anderen, so muss deren Umlaufssinn umgekehrt sein.
Besitzt z.B.: eine Flaäche eine Umrandung und ein Loch, so ist Bounds.Count = 2. Bounds[0] ist im Uhrzeigersinn und Bounds[1] im Gegenuhrzeigersinn. Natürlich muss Bounds[1] vollständig innerhalb von Bounds[0] liegen.
/
Die 3D-Kurvenliste:/
Zu jeder "physikalischen" Kante eines Solids gibt es genau eine Curve3D. Zwei zueinander duale Kanten besitzen die gleiche Kurve. Für die Topologie des Solids ist das Feld Neighbors wichtig, das beide Nachbarfaces enthält die an einander entlang der 3D-Kurve grenzen.
SolidBox Ein massiven Quader der Größe Size.
SolidCone Ein massiver Kegelstumpf.
SolidExtrude Definiert ein Solid, das entsteht, wenn man eine Loxy extrudiert mit einer bestimmten Höhe. Alle Surfaces sind PlaneSurface
VertexList Liste von Vertex3d.

Enumerations

Enumeration Description
Model Definiert in welcher Weise ein Körper beschrieben wird.