Bezeichnung
nurb:SetProperty -- setzt eine NURBS-Eigenschaft
Übersicht
nurb:SetProperty(property, value)
Beschreibung
nurb:SetProperty() wird verwendet, um Eigenschaften zu steuern, die in einem NURBS-Objekt gespeichert sind. Diese Eigenschaften beeinflussen die Art und Weise, wie eine NURBS-Kurve dargestellt wird. Die akzeptierten Werte für property sind wie folgt:

#GLU_NURBS_MODE
value sollte so eingestellt werden, dass es entweder #GLU_NURBS_RENDERER oder #GLU_NURBS_TESSELLATOR ist. Wenn es auf #GLU_NURBS_RENDERER eingestellt ist, werden NURBS-Objekte in OpenGL-Grundmuster tesselliert und zum Rendern an die Leitung gesendet. Wenn es auf #GLU_NURBS_TESSELLATOR eingestellt ist, werden NURBS-Objekte in OpenGL-Grundmuster tesselliert, die Knoten, Normalen, Farben und/oder Texturen über eine Callback-Schnittstelle abgerufen (siehe nurb:Callback()). Dies ermöglicht es dem Benutzer, das tessellierte Ergebnisse zur weiteren Verarbeitung zwischenzuspeichern. Der Initialwert ist #GLU_NURBS_RENDERER.

#GLU_SAMPLING_METHOD
Gibt an, wie eine NURBS-Oberfläche tesselliert werden soll. value kann #GLU_PATH_LENGTH, #GLU_PARAMETRIC_ERROR, #GLU_DOMAIN_DISTANCE, #GLU_OBJECT_PATH_LENGTH oder #GLU_OBJECT_PARAMETRIC_ERROR sein. Wenn #GLU_PATH_LENGTH gesetzt ist, wird die Oberfläche so gerendert, dass die maximale Länge der Kanten der Tesselierungspolygone in Pixeln nicht größer ist als das, was durch #GLU_SAMPLING_TOLERANCE angegeben wird.

#GLU_PARAMETRIC_ERROR gibt an, dass die Oberfläche so gerendert wird, dass der durch #GLU_PARAMETRIC_TOLERANCE angegebene Wert den maximalen Abstand in Pixeln zwischen den Mosaikpolygonen und den von ihnen angenäherten Oberflächen beschreibt.

#GLU_DOMAIN_DISTANCE ermöglicht es dem Benutzer, in parametrischen Koordinaten anzugeben, wie viele Abtastpunkte pro Längeneinheit in u-, v-Richtung genommen werden.

#GLU_OBJECT_PATH_LENGTH ist ähnlich wie #GLU_PATH_LENGTH, nur dass die Ansicht unabhängig ist, d.h. die Oberfläche wird so gerendert, dass die maximale Länge der Kanten der Tesselierungspolygone im Objektraum nicht größer ist als das, was durch #GLU_SAMPLING_TOLERANCE angegeben wird.

#GLU_OBJECT_PARAMETRIC_ERROR ist ähnlich wie #GLU_PARAMETRIC_ERROR, mit der Ausnahme, dass die Ansicht unabhängig ist, d.h. die Oberfläche wird so gerendert, dass der durch #GLU_PARAMETRIC_TOLERANCE angegebene Wert den maximalen Abstand im Objektraum zwischen den Mosaikpolygonen und den von ihnen angenäherten Oberflächen beschreibt.

Der Initialwert von #GLU_SAMPLING_METHOD ist #GLU_PATH_LENGTH.

#GLU_SAMPLING_TOLERANCE
Gibt die maximale Länge in Pixel oder in Objektraumlängeneinheit an, die verwendet werden soll, wenn die Abtastmethode auf #GLU_PATH_LENGTH oder #GLU_OBJECT_PATH_LENGTH gesetzt ist. Der NURBS-Code ist bei der Darstellung einer Kurve oder Fläche konservativ, so dass die tatsächliche Länge etwas kürzer sein kann. Der Anfangswert beträgt 50,0 Pixel.

#GLU_PARAMETRIC_TOLERANCE
Gibt den maximalen Abstand in Pixel oder in Objektraumlängeneinheit an, der verwendet werden soll, wenn die Abtastmethode #GLU_PARAMETRIC_ERROR oder #GLU_OBJECT_PARAMETRIC_ERROR ist. Der Anfangswert ist 0,5.

#GLU_U_STEP
Gibt die Anzahl der Abtastpunkte pro Längeneinheit entlang der u-Achse in parametrischen Koordinaten an. Sie wird benötigt, wenn #GLU_SAMPLING_METHOD auf #GLU_DOMAIN_DISTANCE gesetzt ist. Der Anfangswert ist 100.

#GLU_V_STEP
Gibt die Anzahl der Abtastpunkte pro Längeneinheit entlang der v-Achse in parametrischer Koordinate an. Sie wird benötigt, wenn #GLU_SAMPLING_METHOD auf #GLU_DOMAIN_DISTANCE gesetzt ist. Der Anfangswert ist 100.

#GLU_DISPLAY_MODE
value kann auf #GLU_OUTLINE_POLYGON, #GLU_FILL oder #GLU_OUTLINE_PATCH gesetzt werden. Wenn #GLU_NURBS_MODE auf #GLU_NURBS_RENDERER gesetzt ist, definiert value, wie eine NURBS-Oberfläche gerendert werden soll. Wenn value auf #GLU_FILL gesetzt ist, wird die Oberflächen-Option als ein Satz von Polygonen dargestellt. Wenn der Wert auf #GLU_OUTLINE_POLYGON gesetzt ist, zeichnet die NURBS-Bibliothek nur die Umrisse der Polygone, die durch Tesselierung erzeugt wurden. Wenn der Wert auf #GLU_OUTLINE_PATCH gesetzt ist, werden nur die Umrisse vom Benutzer definierten Patches und Trimmkurven gezeichnet.

Wenn #GLU_NURBS_MODE auf #GLU_NURBS_TESSELLATOR gesetzt ist, definiert value, wie eine NURBS-Oberfläche tesselliert werden soll. Wenn #GLU_DISPLAY_MODE auf #GLU_FILL oder #GLU_OUTLINE_POLYGON gesetzt ist, wird die NURBS-Oberfläche in OpenGL-Dreieck-Grundmuster tesselliert, die durch Callback-Funktionen zurückgeholt werden können. Wenn #GLU_DISPLAY_MODE auf #GLU_OUTLINE_PATCH gesetzt ist, werden nur die Umrisse der Patches und Trimmkurven als eine Folge von Linienstreifen erzeugt, die über Callback-Funktionen abgerufen werden können.

Der Initialwert ist #GLU_FILL.

#GLU_CULLING
value ist ein boolescher Wert, der, wenn er auf #GLU_TRUE gesetzt ist, anzeigt, dass eine NURBS-Kurve vor der Tesselierung verworfen werden sollte, wenn ihre Kontrollpunkte außerhalb des aktuellen Ansichtsfensters liegen. Der Initialwert ist #GLU_FALSE.

#GLU_AUTO_LOAD_MATRIX
value ist ein boolescher Wert. Wenn er auf #GLU_TRUE gesetzt ist, lädt der NURBS-Code die Projektionsmatrix, die Modellansichtsmatrix und das Ansichtsfenster vom GL-Server herunter, um Sample- und Selektionsmatrizen für jede gerenderte NURBS-Kurve zu berechnen. Sample- und Selektionsmatrizen sind erforderlich, um die Tesselierung einer NURBS-Oberfläche in Liniensegmente oder Polygone zu bestimmen und eine NURBS-Oberfläche zu selektieren, wenn sie außerhalb des Darstellungsbereichs liegt.

Wenn dieser Modus auf #GLU_FALSE eingestellt ist, muss das Programm eine Projektionsmatrix, eine Modelansichts-Matrix, bereitstellen und ein Ansichtsfenster für den NURBS-Renderer, mit dem Sample- und Selektionsmatrizen konstruiert werden können. Dies kann mit dem Befehl nurb:LoadSamplingMatrices() geschehen. Dieser Modus ist zunächst auf #GLU_TRUE eingestellt. Das Ändern von #GLU_TRUE auf #GLU_FALSE hat keinen Einfluss auf die Sample- und Selektionsmatrizen bis nurb:LoadSamplingMatrices() aufgerufen wird.

Wenn #GLU_AUTO_LOAD_MATRIX True ist, kann es vorkommen, dass das Samplen und Selektieren falsch ausgeführt wird, wenn NURBS-Routinen in eine Display-Liste kompiliert werden.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
property
gibt die zu setzende Eigenschaft an (siehe oben)
value
gibt den Wert der angegebenen Eigenschaft an (siehe oben)

Navigation zeigen