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:

Zwei violette Quader

<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:

Vier violette Quader

<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:

Grauer Quader und graue Kugel

<!-- 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> 
X

Fehler melden

X

Suche