Exkurs - X3D
Definitionen
Häufig kommt es vor, dass man etwas wiederverwenden will, seien es Objekte oder Farben. Statt den gleichen Code mehrfach einzugeben, kann man Definitionen benutzen:
<Shape DEF='Kiste'>
<Box size='1 2 1'/>
<Appearance>
<Material diffuseColor="1 0 1"/>
</Appearance>
</Shape>
<Transform translation='2 0 0'>
<Shape USE='Kiste' />
</Transform>
Im Shape-Tag definieren wir mittels DEF für die Szene, was wir unter ''Kiste'' verstehen wollen. Später benutzen wir mittels USE diese Definition. Wir können diese Definition auch in eine Transformation packen - generell werden alle untergeordneten Tags mitgenommen:
<Shape DEF='Kiste'>
<Box size='1 1 1'/>
<Appearance>
<Material diffuseColor="1 0 1"/>
</Appearance>
</Shape>
<Transform translation='2 0 0'>
<Shape USE='Kiste' />
</Transform>
<Transform translation='0 2 0' DEF='Kiste2'>
<Shape USE='Kiste' />
</Transform>
<Transform translation='2 0 0'>
<Transform USE='Kiste2' />
</Transform>
Dasselbe lässt sich auch mit anderen Tags machen, hier mit Farbe:
<!-- graue Box -->
<Shape>
<Box size='1 1 1'/>
<Appearance>
<Material DEF='Grau' diffuseColor=".5 .5 .5"/>
</Appearance>
</Shape>
<!-- graue Kugel -->
<Transform translation='2 0 0'>
<Shape>
<Sphere radius="1"/>
<Appearance>
<Material USE='Grau'/>
</Appearance>
</Shape>
</Transform>