Hay una solución prevista para simplificar las repeticiones de objetos dentro de un escenario virtual. Esta solución consiste en asignar un nombre arbitrario al nodo que se piensa repetir en el código.
Supongamos, por ejemplo, que se van a utilizar repetidamente en un escenario unos cilindros exactamente iguales; dichos cilindros tendrán el siguiente código:
- Shape { appearance Appearance { material Material { } } geometry Cylinder { height 2.0 radius 0.5 } }
(Este es el código de un cilindro con la apariencia por defecto, de 2 unidades de alto y una base de radio 0.5)
Se puede definir, para el ámbito de un documento VRML, que este tipo de cilindro tenga un nombre arbitrario, por ejemplo ColumnaRepetida:
- DEF ColumnaRepetida Shape { appearance Appearance { material Material { } } geometry Cylinder { height 2.0 radius 0.5 } }
Entonces, cada vez que se quiera usar este nodo en otra parte del documento, basta con poner lo siguiente:
USE ColumnaRepetida
En el ejemplo anterior de la caja y el cono, aparece el nodo Appearance repetido. Vamos a definirlo, en la primera ocasión que se utiliza con el nombre, "PorDefecto" y la segunda vez que se usa lo invocaremos mediante el comando USE:
- #VRML V2.0 utf8
- Group { children [ Shape { appearance DEF PorDefecto Appearance { material Material { } } geometry Box { size 2.0 0.5 3.0 } } Shape { appearance USE PorDefecto geometry Cone { height 3.0 bottomRadius 0.75 } } ] }
No hay comentarios:
Publicar un comentario