Indice Generale Struttura Gerarchica


"Viaggio nel Sistema Solare"

SAT_SAT.WRL
Il file SAT_SAT.WRL definisce la struttura gerarchica dei satelliti, anche se le strutture vere e proprie sono memorizzate all'interno dei files TITANO.WRL, MIMOS.WRL, ENCELADO.WRL ai quali si rimanda. Tali strutture vengono importate al livello attuale tramite i nodi Inline. I moti di rivoluzione attorno a Saturno vengono simulati per mezzo dei nodi OrientationInterpolator ai quali vengono forniti tramite le dichiarazioni di ROUTE degli eventi generati dai nodi TimeSensor preventivamente programmati, come ad esempio i set_rotation.

#VRML V2.0 utf8

#File SAT_SAT.WRL

DEF Titano Transform { 
  children [
    Inline {
      url "titano.wrl"
    }
  ]
} 

DEF Mimos Transform { 
  children [
    Inline {
      url "mimos.wrl"
    }
  ]
} 

DEF Encelado Transform { 
  children [
    Inline {
      url "encelado.wrl"
    }
  ]
} 

DEF TitanoTime TimeSensor {
  cycleInterval 5
  loop TRUE
  stopTime -1
}

DEF MimosTime TimeSensor {
  cycleInterval 10
  loop TRUE
  stopTime -1
}

DEF EnceladoTime TimeSensor {
  cycleInterval 15
  loop TRUE
  stopTime -1
}

DEF TitanoRotation OrientationInterpolator {
  key [0, 0.25, 0.5, 0.75, 1]
  keyValue [
    0.43 -0.89 0.0 0.0,
    0.43 -0.89 0.0 1.57,
    0.43 -0.89 0.0 3.14,
    0.43 -0.89 0.0 4.71,
    0.43 -0.89 0.0 6.28
  ]
}

DEF MimosRotation OrientationInterpolator {
  key [0, 0.25, 0.5, 0.75, 1]
  keyValue [
    0.43 -0.89 0.0 0.0,
    0.43 -0.89 0.0 1.57,
    0.43 -0.89 0.0 3.14,
    0.43 -0.89 0.0 4.71,
    0.43 -0.89 0.0 6.28
  ]
}

DEF EnceladoRotation OrientationInterpolator {
  key [0, 0.25, 0.5, 0.75, 1]
  keyValue [
    0.43 -0.89 0.0 0.0,
    0.43 -0.89 0.0 1.57,
    0.43 -0.89 0.0 3.14,
    0.43 -0.89 0.0 4.71,
    0.43 -0.89 0.0 6.28
  ]
}

ROUTE TitanoTime.fraction_changed    TO TitanoRotation.set_fraction
ROUTE TitanoRotation.value_changed   TO Titano.set_rotation
ROUTE MimosTime.fraction_changed     TO MimosRotation.set_fraction
ROUTE MimosRotation.value_changed    TO Mimos.set_rotation
ROUTE EnceladoTime.fraction_changed  TO EnceladoRotation.set_fraction
ROUTE EnceladoRotation.value_changed TO Encelado.set_rotation