Gruppen
Mittels Gruppen lassen sich Objekte, die zusammengehören, auch zusammengehörig notieren. Besonders interessant wird das im Hinblick auf Definitionen - Gruppenelemente lassen sich ebenfalls mit einer Definition versehen, sodass eine Gruppe mehrfach benutzt werden kann:
<Group def="KugelWuerfel">
<Shape>
<Appearance>
<Material diffuseColor="1 0 0"/>
</Appearance>
<Box size="2 2 2"/>
</Shape>
<Shape>
<Appearance>
<Material diffuseColor="1 1 0"/>
</Appearance>
<Sphere radius="1.35"/>
</Shape>
</Group>
<Transform translation="4 0 0">
<Shape use="KugelWuerfel"/>
</Transform>
Aufgabe
Baue eine oben offene würfelförmige Schachtel. Eine Seite kannst du dabei als Gruppe definieren und durch Transformationen (Verschieben / Rotieren) wiederverwenden. Die Definition einer Seite kann dabei so aussehen:
<Shape>
<Appearance>
<Material diffuseColor="1 0 0"/>
</Appearance>
<TriangleSet solid="false">
<Coordinate point="
-1 -1 0, 1 -1 0, 0 0 0,
-1 1 0, 1 1 0, 0 0 0
" />
</TriangleSet>
</Shape>
<Shape>
<Appearance>
<Material diffuseColor="1 1 0"/>
</Appearance>
<TriangleSet solid="false">
<Coordinate point="
-1 -1 0, -1 1 0, 0 0 0,
1 -1 0, 1 1 0, 0 0 0
" />
</TriangleSet>
</Shape>