Syntax: | <ConnexionList> <connexion> <type>...</type> <position> <x>...</x> <y>...</y> </position> <angle>...</angle> <angleToPrev>...</angleToPrev> <angleToNext>...</angleToNext> <nextConnexionPreference>...</nextConnexionPreference> <electricPlug>...</electricPlug> </connexion> ... </ConnexionList> |
Standardwert: | Kein Verknüpfungspunkt. |
Beschreibung: | Liste der Verknüpfungspunkte. Die Anzahl der Verknüpfungspunkte ist unbegrenzt. Für jeden Verknüpfungspunkt sind mehrere Parameter anzugeben. |
The type field is string id representing the type of the connection. In BlueBrick only connections of the same type can connect to each other. The available types and the color used to represent them in BlueBrick are defined in an XML configuration file named "ConnectionTypeList.xml" and located in the "config" folder of the BlueBrick install folder. Read the "Connection Type" configuration file section for more details.
Im Feld position sind die Koordinaten der Verknüpfungspunkte in Noppen-Einheiten, relativ zum Teilmittelpunkt einzutragen.. Hierzu ist zunächst der Abstand des Verknüpfungspunktes zum Teilmittelpunkt zu bestimmen. Im unten gezeigten Beispiel beträgt der Abstand 8 Noppen zu allen Seiten. Der Teilmittelpunkt muss nicht angegeben werden, BlueBrick berechnet diesen automatisch. Wird ein Teil in BlueBrick gedreht, so ist es am einfachsten, dieses um den Teilemittelpunkt zu drehen. Deshalb sind die Koordinaten der Verknüpfungspunkte als Abstand zum Teilemittelpunkt anzugeben:
Bitte beachten, dass die y-Achse nach unten zeigt. (je größer die Werte desto weiter unten liegt der Punkt). Meistens kann der Teilemittelpunkt einfach anhand der Abmessungen in Noppen bestimmt werden. Die 9V Kreuzung beispielsweise ist 16 x 16 Noppen groß, somit ist offensichtlich, dass die Verknüpfungspunkte 8 Noppen vom Teilemittelpunkt entfernt sind. Bei komplexen Teilen wie der 9V-Weiche kann der Teilemittelpunkt anhand des Teilebildes in Pixel berechnet und anschließend in Noppen umgerechnet werden. Im nächsten Schritt können die Koordinaten der Verknüpfungspunkte berechnet werden.
Die Berechnung der Koordinaten ist der schwierigste Teil der XML-Datei, wenn das Teil keine einfache Geometrie hat. Aber in den meisten Fällen ist die Geometrie so einfach, dass auch die Berechnung der Koordinaten einfach ist.
Der nächste Parameter ist der Winkel im Feld angle. Dieser beschreibt die Richtung des Verknüpfungspunktes in Grad. Vorsicht: da die Y-Achse im Teilekoordinatensystem nach unten zeigt und somit entgegengesetzt der in der Trigonometrie üblichen Richtung verläuft, muss auch das Vorzeichen des Winkels umgekehrt zum in der Trigonometrie üblichen Vorzeichen sein. Daher ist der Winkel des Verknüpfungspuntkes oben rechts -22.5° statt 22.5°.
Im Feld angleToPrev bzw. angleToNext wird, ähnlich zum vorherigen Parameter, der Winkelunterschied in Grad zwischen diesem und den vorherigen bzw. nachfolgendem Verknüpfungspunkt der Liste eingetragen. Dabei ist der letzte Verknüpfungspunkt der Liste als der vorhergehende Punkt des ersten Punktes und der erste Verknüpfungspunkt als der nachfolgende des letzten Verknüpfungspunktes zu betrachten, quasi als würde die Liste nicht mit dem ersten Punkt beginnen und mit dem letzten enden sonder als wäre die Liste ein geschlossener Kreis. Wird also die Reihenfolge der Verknüpfungspunkte geändert, so müssen auch die Parameter in den Feldern "angleToPrev" und "angleToNext" der neuen Reihenfolge angepaßt werden.
Die Reihenfolge der Vernküpfungspunkte wird von BlueBrick benutzt wenn ein Teil, das mit einem anderen verknüpft ist, gedreht wird. BlueBrick dreht nämlich bereits verknüpfte Teile so dass diese mit dem nächsten Verknüpfungspunkt in der Liste verknüpft werden.
Hat ein Teil mehrere Typen von Verknüpfungspunkten (so hat z.B. ein Bahnübergang sowohl Straßen- als auch Gleisverknüpfungspunkte), so müssen für jeden Verknüpfungstyp eigene Listen erstellt werden. Es darf aber nur eine Liste je Verknüpfungstyp geben.
Im letzten Feld nextConnexionPreference wird ein Verweis auf einen Verknüpfungspunkt der Liste eingetragen. Dieser Verweis legt den Verknüpfungspunkt fest, an dem das nachfolgende Teil angebunden werden soll. Nehmen wir als Beispiel ein gerades 9V-Gleis: wird ein neu hinzugefügtes Gleis an der linken Seite an bereits vorhandene Gleise angebunden, so soll automatisch der rechte Verknüpfungspunkt für den Anschluss weiterer Gleise ausgewählt werden. Ein mit einem Doppelklick aus der Teileliste ausgewähltes Gleisstück soll also automatisch an dem rechten Verknüpfungspunkt angebunden werden. Analoges gilt für die andere Seite: wird ein neu hinzugefügtes Gleis an der rechten Seite an bereits vorhandene Gleise angebunden, sollen weitere Gleise automatisch an der linken Seite angebunden werden.
Nehmen wir die oben dargestellte Weiche als weiteres Beispiel: Wird diese Weiche links ans Gleisbild angeschlossen, so wird automatisch der rechte untere Verknüpfungspunkt für den Anschluss weiterer Gleise ausgewählt. Wird die Weiche mit einem der rechten Verknüpfungspunkte mit dem vorhandenen Gleisbild verbunden, wird automatisch der linke Verknüpfungspunkt für die Anbindung weiterer Gleise ausgewählt. In der XML-Datei sieht dieses wie folgt aus:
<ConnexionList> ┌─► <connexion> │ ┌─── <nextConnexionPreference>1</nextConnexionPreference> │ │ </connexion> │ └►<connexion> ├──── <nextConnexionPreference>0</nextConnexionPreference> │ </connexion> │ <connexion> └──── <nextConnexionPreference>0</nextConnexionPreference> </connexion> </ConnexionList>
Sofern ein Teil nicht nur einen Verknüpfungspunkt hat, sollte ein Verknüpfungspunkt nicht auf sich selbst zur Anbindung des nächsten Teils verweisen. Nach Verknüpfung dieses Punktes mit einem Teil ist der Punkt ja bereits belegt und weitere Teile können an diesem Punkt nicht mehr angebunden werden.