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.
|
Länge des Zyklus in Sekunden |
|
Wert zwischen 0.0 und 1.0 (abhängig von der verstrichenen Zeit). Wird zu Beginn eines jeden Zyklus wieder auf 0.0 gesetzt. |
|
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 |
}