viernes, 20 de abril de 2012

Nodo Group


Existe el nodo Group que permite tratar a un conjunto de nodos como una entidad única, pero sin efectuar ninguna transformación en ellos.

Tiene un campo llamado children (en inglés, niños o hijos), cuyo valor (los puntos suspensivos) va entre corchetes [ y ], y que como veremos a continuación, es la lista de los objetos que se quieren agrupar, representados por sus nodos Shape respectivos

No es tan grave en este caso, pero imaginemos que se quiere dotar de esa misma apariencia, por ejemplo a cinco objetos distintos (como va a ser el caso del ejemplo práctico de este capítulo). 

Entonces, habría que repetir cinco veces todo el nodo Appearance en cada uno de los cinco objetos, lo cual sería bastante engorroso, además de complicar innecesariamente el código.

Hay una solución prevista para simplificar estas repeticiones, y es que se puede definir un nodo que se piensa repetir en el código, poniéndole un nombre arbitrario.

Se puede definir, para el ámbito de un documento VRML, que este tipo de cilindro tenga un nombre arbitrario, por ejemplo ColumnaRepetida

En el ejemplo anterior de la caja y el cono, lo que está repetido es el nodo Appearance. Vamos a definirlo, en la primera ocasión que se utiliza con el nombre, por ejemplo, PorDefecto y en la segunda vez utilizar sólo el comando USE

Group {
   children [
      Shape {
         appearance DEF PorDefecto Appearance {
            material Material {   }
         }
         geometry Box {
            size 2 0.5 3
         }
      },
      Shape {
         appearance USE PorDefecto
         geometry Cone {
            height 3
            bottomRadius 0.75
         }    
      }
   ]



No hay comentarios:

Publicar un comentario