Peter Lorenz English smaller fonts Simulation und Animation

2.1.2. Objektklassen und Objekte

Objekte sind Instanzen von nutzerdefinierten Objektklassen. Klassen werden im Class-Modus gestaltet und definiert und sind Komponenten des Layout-Files. Nachdem man Objektklassen definiert hat, kann man beliebig viele Objekte jeder Klasse erzeugen, positionieren, bewegen und vernichten.

Der Class-Modus

Class Menu

Der Class-Modus ist einer der sechs Modi, die man in der Menüleiste durch Klicken auf Mode auswählen kann. Die in der Werkzeugleiste verfügbaren Tools stimmen fast vollständig mit den im Draw-Modus verfügbaren Tools überein. Wieder hat man eine Zeichenfläche mit einem Raster und mit Koordinaten.

Der Class-Modus dient der Definition von Klassen (Classes), welche man als Muster betrachten kann, von denen man beliebig viele Objekte oder Instanzen erzeugen kann. Wenn man für ein Modell Lokomotiven, Güter- und Personenwagen braucht, wird man sich drei entsprechende Klassen anlegen, um bei Bedarf Instanzen zu erzeugen.
Im Class-Modus kann man auch vorhandene Klassen ändern oder löschen.


KoordinatensystemeTop Line

Das im Draw-Modus benutzte Koordinatensystem soll in Anlehnung an Grundbegriffe der Computergraphik Weltkoordinatensystem genannt werden. Es ist das global gültige Bezugssystem, in dem alle Positionsangaben in Befehlen zur Positionierung und Bewegung von Objekten gemacht werden.

Im Unterschied dazu hat jede Klasse ein lokales Koordinatensystem. Angaben zum Platzieren oder Bewegen eines Objektes einer Klasse beziehen sich immer auf den Nullpunkt seines lokalen Koordinatensystems.

KlassendefinitionTop Line

Um eine Klasse zu definieren, geht man in folgenden Schritten vor:

  1. Auswahl von Add a new Class,
  2. Eingabe eines Klassennamens,
  3. Definition der Klasse mit Hilfe von Linien, Bögen, Texten und Nachrichten,
  4. Festlegen der Werte von Klassenattributen.
    Die Klassenattribute Clearances, Directionality, Rear Guidepoint bestimmen das Verhalten von Objekten bei der Bewegung auf Pfaden (Paths).
Defining a Circle

Class-Modus mit nutzerdefinierter Objektklasse Circle

Das oben stehende Bild zeigt den Class-Modus von Proof Animation™. Gerade ist eine Klasse mit dem Namen Circle eingeführt worden. Der Name ist case-sensitive: Groß- und Kleinschreibung von Buchstaben sind von Bedeutung, und man muß genau dieselbe Bezeichnung wählen, wenn man mit Animationskommandos Objekte dieser Klasse erzeugt.
Beim Zeichnen einer Klasse muß man sorgfältig auf die Lage des Nullpunktes im lokalen Koordinatensystem achten. Er ist der Bezugspunkt, auf den sich Positionsangaben und Bewegungen beziehen.

Wenn man die Objektklasse Circle definiert, legt man den Mittelpunkt des Kreises üblicherweise in den Ursprung des lokalen Koordinatensystems. Im Folgenden ist diese Verschiebung vollzogen worden; darüberhinaus sind die Klassen Square und Triangel definiert worden. Mit Hilfe der rechts außen befindlichen Taste der Werkzeugleiste sind die Objektsymbole mit Farbe gefüllt worden.

AttributeTop Line

Zur Definition einer Klasse gehört auch die Festlegung von Attributen. Das kann vor oder nach der geometrischen Konstruktion der Klasse geschehen. Folgende Attribute können festgelegt werden:

Attribut Bedeutung
directional
non-directional
Direktionale Objekte orientieren ihre lokale x-Achse immer an der Tangente des Pfades, auf dem sie sich bewegen.
Nicht direktionale Objekte halten den Winkel zwischen ihrer x-Achse und der globalen x-Achse bei Wegbiegungen unverändert.
For Clr
Aft Clr
For Clearence und Aft Clearence bestimmen den Abstand, der beim Auftreffen auf andere Objekte auf einem akkumulierenden Pfad einzuhalten ist.
RGP Offset Der Abstand des Rear Guidance Point, des zweiten Führungspunktes für die Bewegung auf Pfaden, vom Koordinatenursprung wird festgelegt. Er liegt immer links vom Ursprung auf der lokalen x-Achse
Speed Ein positiver oder negativer Wert, der die Geschwindigkeit von Objekten der Klasse auf einem Pfad festlegt, kann angegeben werden. Objekte dürfen individuelle Geschwindigkeiten haben. Diese werden dann anstelle der Klassengeschwindigkeit zur Steuerung der Bewegung benutzt.

NachrichtenTop Line

Klassen können Besitzer von Nachrichten (Messages) sein. Auf diese Weise kann man z.B. verschiedene Instanzen einer Klasse unterscheidbar machen oder Werte anzeigen, die sich im Lauf der Zeit verändern können. Diese Nachrichten werden im lokalen Koordinatensystem positioniert und vollziehen alle Bewegungen eines Objektes mit diesem gemeinsam.
Klassenbezogene Nachrichten werden ebenso definiert wie globale Nachrichten, die keiner Klasse zugeordnet sind. Eine Beschreibung findet man im Abschnitt 2.1.5.

ObjekteTop Line

Es gibt zwei Wege, Objekte oder Instanzen einer Klasse zu erzeugen:

Die Erzeugung mittels Create wird im nächsten Abschnitt erklärt.
LayoutObject Box Hier werden die Schritte beschrieben, mit denen man im Draw-Modus ein Objekt definiert:

  1. PlaceObject aus dem Hauptmenü wählen
  2. Objektnamen festlegen
  3. Object Class wählen
  4. Objekt platzieren

Klassen und Objekte im LayoutfileTop Line

Nun ist es an der Zeit, erneut das Layoutfile zu betrachten. Man findet darin zuerst die Definition der drei Klassen Triangle, Square und Circle.

Define View "(Home)" center 39.9375 29.0833 Width 79.875 Grid Size 1

 10 Ortho Aspect 1 0.5 Speed 6 Mouse 5 Tolerance 0.25
Define View "(Class)" center 0 0 Width 7.9875 Grid Size 0.1 1 Ortho
Define color 0 0 0 0
Define color 1 0 0 0.6667
Define color 2 1 0 0
Define color 3 1 1 1
Define color 4 1 1 0
.........
Define color L7 0 0 0.6667
Color F2
Define Class Circle
Fill -0.6133 0.4531
Arc 1 0 0 0 360 6.2832
End
Color F3
Define Class Triangle
Line 1.5 -1 0 1
Line -1.5 -1 1.5 -1
Line 0 1 -1.5 -1
Color F25
Text 1 0.12 LJ -1.1 -0.8 That's our Triangle
Color F3
Fill -0.6289 -0.3906
End
Color F7
Define Class Square
Fill -0.0751 -0.5822
Line -1 -1 -1 1
Line -1 1 1 1
Line 1 1 1 -1
Line 1 -1 -1 -1
End
Color F1
Text 1 2 LJ 12 40 Layout #1
Color F2
Arc 10 20 50 0 90 0
Color F15
Line 20 45 30 60
CPO Square Q1 20 56
CPO Circle C1 10 50
CPO Triangle T1 25 46
End
Neu im Vergleich zum bisher vorgestellten Layoutfile ist die Definition von drei Objekten mit dem Befehl CPO (Create and Place Object). Außer dem Namen der Klasse und der Instanz werden lediglich die Positionsparameter x und y angegeben.Download Layout

Kontrollfragen zum Abschnitt 2.1.2

  1. Wozu dient der Class-Modus von Proof Animation™?
  2. Erläutern Sie das globale und die lokalen Koordinatensysteme in Proof Animation™!
  3. Beschreiben Sie die beiden Möglichkeiten, Objekte oder Instanzen einer Klasse zu erzeugen!
  4. Wie werden im Draw-Modus platzierte Objekte im Layoutfile aufgezeichnet?
SAHome previous next up Englishsmaller fonts Top Line
Last Modified Fri 05-27-11 06:54 GMT Valid CSS!

Comments please to:pelosim@yahoo.com