Beschreibung der Hüllkurve

Syntax: <hull>
    <point>
        <x>...</x>
        <y>...</y>
    </point>
    ...
</hull>
Standardwert: Die vier Ecken eines Bildes werden als Standardwert benutzt.
Beschreibung: Die Hüllkurve ist eine aus mehreren Geraden zusammengesetzte, geschlossene Linie, innerhalb derer sich das gesamte Teil inklusive hervorstehender Komponenten befindet. Die Hüllkurve wird durch eine Liste von Punkten definiert, deren Koordinaten in Pixel, ausgehend von der oberen linken Ecke des Bildes, angegeben werden.

Die Hüllkurve ist für nicht rechteckige Teile, wie z.B. Gleiskurven, nützlich. Bluebrick benutzt die Hüllkurve, um die das kleinste Rechteck zu berechnen, in das dieses Teil passt. Dabei ist dieses Rechteck immer parallel zu den Achsen ausgerichtet. Dieses Rechteck wird mit Hilfe der Hüllkurve berechnet. Die Hüllkurve hat einen Einfluss auf den von BlueBrick benötigten Speicherplatz, denn die Hüllkurve beeinflusst die Größe des bei einer Drehung eines Teils zu erstellenden Bildes. Usually a convex hull is good enough, but you may want to define a concave hull to improve the picking selection. Generally speaking, eine Hüllkurve sollte daher mit sowenig Punkten wie möglich erzeugt werden, um die Leistung von BlueBrick nicht unnötig zu beeinträchtigen.

Die Hüllkurve wird, im Gegensatz zu den vorherigen Parametern, in Pixel- und nicht in Noppen-Koordinaten angegeben. Wird nämlich in einem Bildbearbeitungsprogramm die Maus über dem Bild bewegt, lassen sich die aktuellen Koordinaten der Mausposition direkt in Pixel ablesen. Die Eckpunkte der Hüllkurve lassen sich also einfach in Pixel bestimmen.

BlueBrick actually shifts the pixel coordinates that you define in the XML file of 0.5 (half a pixel), in order to set the coordinate at the center of the pixel. However, note that you can use decimal values to define the pixel coordinates in the XML file. It is also allowed to use coordinates which are outside the image (i.e. negative value or value greater than the size of the image).

Eine falsche Hüllkurve kann dazu führen, dass Teilbereiche eines Teils bei der Drehung um einen beliebigen Winkel abgeschnitten werden.

When you are specifying the hull of your part, a good way to verify it is to draw the Hull by choosing the  View > Hulls > Bricks  menu. Here are two examples: one for the hull definition of the 9V Switch Point Track which is a precise concave hull such as you can click around the yellow lever without selecting it; and one for the 9V Curved Track which is a good enough convex hull.

    

Der zur Beschreibung der Hüllkurve der 9V Kurvengleis gehörende Teil der XML-Datei sieht wie folgt aus:

<hull>
    <point>
        <x>0</x>
        <y>0</y>
    </point>
    <point>
        <x>74</x>
        <y>5</y>
    </point>
    <point>
        <x>138</x>
        <y>26</y>
    </point>
    <point>
        <x>138</x>
        <y>38</y>
    </point>
    <point>
        <x>121</x>
        <y>77</y>
    </point>
    <point>
        <x>114</x>
        <y>85</y>
    </point>
    <point>
        <x>0</x>
        <y>64</y>
    </point>
</hull>