WaBis

walter.bislins.ch

JSG3D: JsgEleData

Objekte der Klasse JsgEleData werden in der EleDataList der DisplayList gespeichert. Jedem Grafik-Element wird ein JsgEleData zugewiesen, welches seine Darstellungseigenschaften festlegt.

Wenn einem Grafik-Objekt nicht explizit ein JsgEleData Objekt zugewiesen wird, so wird das DefaultEleData Objekt des JsGraph3D Objektes verwendet.

JsgEleData Klasse

JsgEleData = {
Attr: JsgEleAttr; Init = new JsgEleAttr()
Attribute wie Farben, Strichdicke, Symbol und Symbolgrösse
AreaDrawMode: Integer(1-3); Init = 3
1: Gitter, 2: Flächen, 3: Gitter und Flächen
PointDrawMode: Integer(1-3); Init = 3
1: Symbolumriss, 2: Symbolfläche, 3: Umriss und Fläche
DrawBackface: Boolean; Init = true
false → zeichnet Flächen nicht, die von hinten betrachtet werden
AreaAttrFunc: Function; Init = null
Callback-Funktion zum Einfärben von Flächen und Gitter
LineAttrFunc: Function; Init = null
Callback-Funktion zum Einfärben von Linien
PointAttrFunc: Function; Init = null
Callback-Funktion zum Definieren von Marker Attributen
Lighting: JsgEleLighting; Init = new JsgEleLighting()
Beleuchtungs Attribute der Flächenvorderseiten
BackLighting: JsgEleLighting; Init = new JsgEleLighting()
Beleuchtungs Attribute der Flächenrückseiten
ContourMode: Boolean; Init = false
Contour-Mode beim Zeichnen von Flächen verwenden
ContourSense: Number(0-1); Init = 0.1
Empfindlichkeit des Contour-Modes
ContourColor: JsgColor; Init = JsgColor.Black()
Contour-Farbe
ContourWidth: Number(>0); Init = 7
Strichdicke der Contour-Linien in Pixel
}

Die Callback-Funktionen müssen wiefolgt definiert werden:

Function( Graph3D, Element, Attr )

Graph3D: JsGraph3D
Element: JsgGraphEle
Attr: JsgEleAttr

JsgEleData Properties

Attr Attribute wie Farben, Strichdicke, Symbol und Symbolgrösse (siehe JsgEleAttr)
AreaDrawMode Modus beim Zeichnen von Flächen (Gitter und/oder Flächen)
PointDrawMode Modus beim Zeichnen von Punkten (Symbolumriss und/oder -Fläche)
AreaAttrFunc Funktion zur Veränderung von Flächen-Attributen beim Zeichnen
LineAttrFunc Funtkion zur Veränderung von Linien-Attributen beim Zeichnen
PointAttrFunc Funktion zur Veränderung von Symbol-Attributen beim Zeichnen
Lighting Beleuchtungs-Attribute für Flächenvorderseiten (siehe JsgEleLighting)
BackLighting Beleuchtungs-Attribute für Flächenrückseiten (siehe JsgEleLighting)
ContourMode Schaltet den Contour-Mode ein und aus
ContourSense Empfindlichkeit des Contour-Modes
ContourColor Farbe der Contour
ContourWidth Strickdicke der Cintour

JsgEleData Funktionen

JsgEleData() Erzeugt ein JsgEleData Objekt
SetDefaultEleData() Definiert die Standard-Elementattribute
AddOrGetDefaultEleData() Fügt ein JsgEleData Objekt in die EleDataList ein oder gibt eine Referenz auf DefaultEleData zurück
SaveDefaultEleData() Speichert DefaultEleData in einem Objekt

JsgEleData.Attr

JsgEleData.Attr: JsgEleAttr; Init = new JsgEleAttr() 

Attribute wie Farben, Strichdicke, Symbol und Symbolgrösse.

JsgEleData.AreaDrawMode

JsgEleData.AreaDrawMode: Integer(1..3); Init = 3 

Zeichen-Mode der Flächen-Elemente: 1 → Gitter; 2 → Flächen; 3 → Gitter und Flächen

JsgEleData.PointDrawMode

JsgEleData.PointDrawMode: Integer(1..3); Init = 3 

Zeichen-Mode der Punkt-Elemente: 1 → Symbolumriss; 2 → Symbolfläche; 3 → Umriss und Fläche

JsgEleData.DrawBackface

JsgEleData.DrawBackface: Boolean; Init = true 

Wenn true werden auch die Rückseiten von Flächen gezeichnet. Wenn man geschlossene Objekte erzeugt, z.B. eine Kugel, bei welchen alle Innenflächen immer unsichtbar sind, kann DrawBackface = false gesetzt werden. Dies erspart Berechnungen und Grafik-Recourcen.

JsgEleData.AreaAttrFunc

JsgEleData.AreaAttrFunc: Function( JsGraph3D, JsgGraphEle, JsgEleAttr ); Init = null 

Callback-Funktion in welcher die Farbe und Strichdicke eines Flächen-Elementes gesetzt werden können.

JsgEleData.LineAttrFunc

JsgEleData.LineAttrFunc: Function( JsGraph3D, JsgGraphEle, JsgEleAttr ); Init = null 

Callback-Funktion in welcher Farbe und Strichdicke eines Linien-Elementes gesetzt werden können.

JsgEleData.PointAttrFunc

JsgEleData.PointAttrFunc: Function( JsGraph3D, JsgGraphEle, JsgEleAttr ); Init = null 

Callback-Funktion in welcher das Symbol, die Symbolgrösse, Füllfarbe und Umrissfarbe eines Punkt-Elementes gesetzt werden können.

JsgEleData.Lighting

JsgEleData.Lighting: JsgEleLighting; Init = new JsgEleLighting() 

Beleuchtungsattribute der Flächenvorderseiten.

JsgEleData.BackLighting

JsgEleData.BackLighting: JsgEleLighting; Init = new JsgEleLighting() 

Beleuchtungsattribute der Flächenrückseiten.

JsgEleData.ContourMode

JsgEleData.ContourMode: Boolean; Init = false 

Gibt an, ob der Contour-Mode beim Zeichnen von Flächen verwendet werden soll.

JsgEleData.ContourSense

JsgEleData.ContourSense: Number(0..1); Init = 0.1 

Empfindlichkeit des Contour-Modes.

JsgEleData.ContourColor

JsgEleData.ContourColor: JsgColor; Init = JsgColor.Black() 

Contour-Farbe.

JsgEleData.ContourWidth

JsgEleData.ContourWidth: Number(>0); Init = 7 

Strichdicke der Contour-Linien in Pixel.

JsgEleData()

new JsgEleData( Params )

Params: Object or JsgEleData or null; Optional; Default = null
Return: JsgEleData
Params = {
Attr: JsgEleAttr; Optional; Default = new JsgEleAttr()
AreaDrawMode: Integer(1..3); Optional; Default = 3
PointDrawMode: Integer(1..3); Optional; Default = 3
DrawBackface: Boolean; Optional; Default = true
AreaAttrFunc: Function; Optional; Default = null
LineAttrFunc: Function; Optional; Default = null
PointAttrFunc: Function; Optional; Default = null
Lighting: JsgEleLighting; Optional; Default = new JsgEleLighting()
BackLighting: JsgEleLighting; Optional; Default = new JsgEleLighting()
ContourMode: Boolean; Optional; Default = false
ContourSense: Number; Optional; Default = 0.1
ContourColor: JsgColor; Optional; Default = JsgColor.Black()
ContourWidth: Number; Optional; Default = 7
}

Erzeugt ein JsgEleData Objekt und initialisiert es mit Werten, welche in Params übergeben werden oder mit Default-Werten wie oben aufgeführt.

In Params müssen nur Properties definiert werden, welche von den Default-Werten abweichen.

Wenn in Params ein JsgEleData Objekt übergeben wird, wird eine Kopie dieses Objektes zurückgegeben. Objekt-Properties wie Attr, Lighting, BackLighting und ContourColor werden nicht kopiert sondern es wird eine Referenz auf das entsprechende Objekt in Params im neuen JsgEleData Objekt gespeichert.

JsGraph3D.SetDefaultEleData()

JsGraph3D.SetDefaultEleData( Params )

Params: Object or JsgEleData; Optional; Default = new JsgEleData()

Definiert die Standard-Attribute (siehe Property DefaultEleData) für grafische Elemente. Für Params siehe JsgEleData Konstruktor.

Die Standard-Attribute werden allen Flächen zugewiesen, bei welchen nicht explizit eigene JsgEleData Attribute zugewiesen werden (siehe z.B. AddAreasFromVectGrid()).

Hinweis: Mit SetDefaultEleData wird ein bereits bestehendet DefaultEleData Objekt ersetzt. Das neue DefaultEleData Objekt wird nur neuen Grafik-Elementen zugewiesen. Sollen Attribute bestehender Grafik-Elemente geändert werden, muss das bestehende DefaultEleData Objekt mit der Funktion ChangeDefaultEleData() verändert werden.

JsGraph3D.ChangeDefaultEleData()

JsGraph3D.ChangeDefaultEleData( Params )

Params: Object or JsgEleData; Optional; Default = new JsgEleData()

Ändert die Standard-Attribute (siehe Property DefaultEleData) für grafische Elemente. Für Params siehe JsgEleData Konstruktor.

Die Standard-Attribute werden allen Flächen zugewiesen, bei welchen nicht explizit eigene JsgEleData Attribute zugewiesen werden (siehe z.B. AddAreasFromVectGrid()).

ChangeDefaultEleData kann verwendet werden, um das Aussehen bereits bestehender Grafik zu verändern, sofern diese mit dem DefaultEleData Objekt verknüpft sind. Die Änderungen werden erst beim Aufruf der Funktion DrawDisplayList() sichtbar.

JsGraph3D.AddOrGetDefaultEleData()

JsGraph3D.AddOrGetDefaultEleData( Params )

Params: Object or JsgEleData; Optional
Return: JsgEleData

Fügt ein neues JsgEleData Objekt am Ende der Liste EleDataList der DisplayList ein und gibt eine Referenz auf das JsgEleData Objekt zurück. Wenn Params = null oder undefiniert ist, wird kein neues JsgEleData Objekt erzeugt und in die Liste eingefügt, sondern eine Referenz auf DefaultEleData zurückgegeben.

Wenn Params ein JsgEleData Objekt ist, wird eine Kopie des Objektes erstellt und in die EleDataList eingefügt. Es wird eine Referenz auf die Kopie zurückgegeben.

Diese Funktion wird intern von einigen JsgDisplayList Funktionen gerufen.

JsGraph3D.SaveDefaultEleData()

JsGraph3D.SaveDefaultEleData( Params )

Params: Object; Optional
Return: Object or Params

Speichert DefaultEleData im Objekt Params im Property DefaultEleData. Wenn Params nicht definiert oder null ist, wird intern ein Objekt erzeugt. Es wird entweder das Objekt Params oder das intern erzeugte Objekt zurückgegeben.

Mit der Funktion AddOrGetDefaultEleData() kann das im Objekt gespeicherte DefaultEleData wieder dem Property JsGraph3D.DefaultEleData zugewiesen werden.

var data = g.SaveDefaultEleData();
 :
g.AddOrGetDefaultEleData( data.DefaultEleData );

Weitere Infos zur Seite
Erzeugt Dienstag, 22. Juli 2014
von wabis
Zum Seitenanfang
Geändert Samstag, 6. Februar 2016
von wabis