Geometria
Funktionen
 Aktuelles
 Galerie
 Anleitung
 Download
 Links
Autor
Eigene Funktionen mit JavaScript definieren

 

Geometria bietet die Möglichkeit, auf benutzerdefinierte JavaScript-Funktionen zuzugreifen und diese bei der Definition von geometrischen Objekten oder für eine Antwortanalyse einzusetzen. Dazu wurde die Klasse Measure um die Unterklasse MeasureJSFunction erweitert.

Damit eine JavaScript-Funktion über die Schnittstelle von Geometria aufgerufen werden kann, sind folgende Punkte zu beachten:

  • In dem HTML-Dokument muß eine JavaScript-Variable result deklariert sein, über die der Austausch aller Funktionswerte stattfindet. D. h., jede JavaScript-Funktion muß den Funktionswert in die Variable result schreiben. Geometria liest den Wert aus der Variable result ein, nachdem eine JavaScript-Funktion aufgerufen wurde.

  • Wenn der Wert einer JavaScript-Funktion neu berechnet werden soll, weil beispielsweise ein JavaScript-Objekt (Checkbox, Button, etc.) verändert wurde, so erreicht man dies durch den JavaScript-Befehl document.Geometria.repaint().

  • Alle JavaScript-Funktionen werden durch Objekte der Klasse MeasureJSFunction eingebunden. In GeoScript ist dafür die folgende Syntax erforderlich:
    <Objektbezeichner>; measure; JSFunction; <"Param_1">, <"Param_2">, ..., <"Param_n">;

    Vereinbarungsgemäß muß der erste Parameterwert den Bezeichner der JavaScript-Funktion enthalten. Alle weiteren Parameter werden unverändert an die JavaScript-Funktion weitergereicht. Damit eine solche Funktion auch im Zugmodus aktualisiert (neu berechnet) wird, müssen entsprechende Elternobjekte bekannt sein. Aus diesem Grunde werden intern alle Parameter einer JavaScript-Funktion als Elternobjekte des MeasureJSFunction-Objektes angemeldet.

  • Alle Parameter, die über die Java-JavaScript-Schnittstelle übergeben werden, sind String-Objekte. Um auf die Eigenschaften eines geometrischen Objektes zuzugreifen, steht der Befehl document.Geometria.getValue("name","property") zur Verfügung. Dabei ist "name" der Bezeichner eines definierten geometrischen Objektes und "property" der Bezeichner einer Objekteigenschaft. Beispielsweise liefert document.Geometria.getValue("A","x") den Wert der x-Koordinate vom Punkt A.

  • Auf den Wert eines - in GeoScript definierten - Funktionals greift man mit dem Befehl document.Geometria.getValue("name") zu. Dabei muß "name" der Bezeichner eines definierten Measure-Objektes sein, dessen Wert zurückgeliefert wird.

  • Damit man mit JavaScript öffentliche Methoden eines Java-Applets ansprechen kann, muß das Applet-Tag den Befehl MAYSCRIPT enthalten. Beispiel: <applet code="Geometria" width="640" height="480" ... name="Geometria" MAYSCRIPT>

Beispiele: