22 de abril de 2012

Agrupación de Nodos

Existen diversos nodos que nos permiten agrupar objetos:  
  • Nodo Group
  • Nodo Transform
  • Nodo Switch
  • Nodo Billboard
 
 


Nodo Group
 
 
El nodo Group permite unir un conjunto de nodos de forma que actúen como una entidad única, pero sin efectuar ninguna transformación en ellos.
 
Sintaxis:  
              Group {           children [ ... ]      }
El campo children contiene la lista de los objetos que se quieren agrupar, representados por sus nodos Shape respectivos:  
 
Ejemplo: 
              Group {           children [                   Shape { ... },                   Shape { ... },                   ...           ]      }


Nodo Transform 

Por defecto todos los objetos (Shapes) se construyen en el centro del escenario virtual. El nodo transform nos va a permitir evitar esto, indicando la posición, orientación y tamaño de los diferentes objetos que va a crear.  
 
Sintaxis: 
          Transform{   
          translation  Eje_X  Eje_Y  Eje_Z   
          rotation      Eje_X  Eje_Y  Eje_Z  Ángulo   
          scale         Eje_X  Eje_Y  Eje_Z   
          children[...]  } 
 

El nodo Transform va a poseer su propio sistema de coordenadas, cuyos atributos se determinan a través de los campos translation, rotation y scale


  • translation: permite indicar la posición del origen del nuevo sistema de coordenadas perteneciente al grupo dentro del sistema de coordenadas de nodo que lo engloba (nodo padre).
Ejemplo: 
          Transform{   
          # Ejes:         X   Y   Z   
          translation 2.0 0.0 0.0   
          children [...]  }  
  • rotation nos permite girar el sistema de coordenadas del grupo alrededor de uno de los ejes del sistema de coordenadas del nodo padre. Se ha de hacer referencia al grado de inclinación de dicho giro (en radianes). 
 
Ejemplo: 
          Transform{  # Ejes:    X   Y   Z    Ángulo  rotation 0.0 0.0 1.0   0.52  children [...]  }  
  • scale nos permite aumentar o reducir el tamaño de los ejes del sistema de coordenadas del grupo utilizando factores de escala que toman como referencia los ejes de coordenadas.
 
Ejemplo: 
          Transform{  # Ejes:    X   Y   Z   scale      0.5 0.5 0.5  children [...]  }   
           
Nodo Switch

La característica de un nodo Switch es la de mostrar únicamente uno de los nodos hijos del nodo, el cual ha debido ser seleccionado previamente.Se pueden utilizar para conectar o desconectar los efectos de una determinada propiedad o para alternar entre propiedades diferentes. 
 

  • whichChild especifica el hijo choice que se va activar, siendo el 0 el del primer hijo. Su valor por defecto es -1, lo cual indica que ninguno de los hijos está seleccionado. 
 
El campo whichChild es una entrada y por lo tanto puede ser modificado por otro nodo
 
Sintaxis: 
          Switch{     whichChoice 0     choice[...]      ...     choice[...]  }
           
Nodo Billboard
El nodo Billboard permite crear un grupo con un sistema de coordenadas especiales, ya que a través del campo axisOfRotation (eje de rotación) indicamos el eje sobre el que a de girar el objeto, de forma que, siempre esté de cara al espectador:



Sintaxis: 
          Billboard{  
              axisOfRotation  Eje_X  Eje_Y  Eje_Z  
              children[...]  
                 }  
















No hay comentarios:

Publicar un comentario