VRML & Java

Ein TimeSensor ist vergleichbar mit einer Stop-Uhr. Wenn man ihn betätigt (enabled = TRUE) läuft der Sensor beginnend bei einem Anfangszeitpunkt (startTime) solange, bis ein Endzeitpunkt (stopTime) erreicht worden ist. Dieser Vorgang kann kontinuierlich wiederholt werden (loop = TRUE). Während der Sensor aktiv ist (überprüfbar über isActive), generiert er Zeitereignisse (fraction_changed-Events), die in einem festgelegten Intervall (cycleInterval) ablaufen.

Ein TimeSensor generiert absolute Zeitereignisse, bezogen auf den 1.Januar 1970 12:00am.

 

  • cycleInterval
Länge des Zyklus in Sekunden
  • fraction_changed
Wert zwischen 0.0 und 1.0 (abhängig von der verstrichenen Zeit). Wird zu Beginn eines jeden Zyklus wieder auf 0.0 gesetzt.
  • time
gibt die absolute Zeit zurück

 

Wie lange ein TimeSensor laufen soll, läßt sich wie folgt bestimmen:

Die Startzeit kann durch set_startTime und die Stopzeit durch set_stopTime gesetzt werden.

Beispiel:

TimeSensor {

    exposedField SFTime cycleInterval 1
    exposedField SFBool enabled TRUE
    exposedField SFBool loop FALSE
    exposedField SFTime startTime 0
    exposedField SFTime stopTime 0
    eventOut SFTime cycleTime  
    eventOut SFFloat fraction_changed  
    eventOut SFBool isActive  
    eventOut SFTime time  

}


Beispiel TimeSensor

Code

Beispiel

 

Index