VRML and XML
len bullard
cbullard at hiwaay.net
Thu Jan 15 03:19:59 GMT 1998
W. Eliot Kimber wrote:
> I think that could be pretty useful, especially once VRML browsers let
> you associate presentation styles with element types. After all,
> rendering 3-D objects is not fundamentally different in the abstract
> from rendering 2-D objects, it's still a matter of apply presentation
> style. So why shouldn't XSL be just as useful for VRML worlds as for
> 2-D documents?
While it is possible to write a declarative architecture
for the static nodes (eg VRML 1.0), it is a very
different beast from a real time simulation
language. As to associating XSL, how useful is
it to associate a style language with a presentation
language that already includes all of the presentation
information required.
VRML 2.0 is a real time simulation language. The
event model is very interesting. It includes
events, exposed fields, addChildren, etc. as
part of the language. The test is to see if
XML, DOM, DHTML adds anything useful.
If others from the XML community are interested
in this project, it will be conducted on an open list.
Here is a simple VRML 2.0 file so you can discover what
it looks like. Be aware that a VRML instance has
a lot of assumed parts for information that the
browser must explicitly support but which are not
in the instance itself (eg, addChildren). VRML 2.0
was designed for a very efficient syntax.
len
#VRML V2.0 utf8
WorldInfo {
title "Opening Animation"
info [
]
}
DEF FirstNav NavigationInfo {
type ["NONE" ]
headlight FALSE
}
Background{
skyColor 0 0 0
frontUrl["../galaxy/stars.jpg"]
backUrl ["../galaxy/stars.jpg"]
rightUrl ["../galaxy/stars.jpg"]
leftUrl ["../galaxy/stars.jpg"]
topUrl ["../galaxy/stars.jpg"]
bottomUrl ["../galaxy/stars.jpg"]
}
DEF ZoomView Transform {
translation 0 0 500
rotation 0 0 1 0
children [
DEF StartView Viewpoint{
position 0 0 0
orientation 0 0 1 0
fieldOfView 0.7
description "Travelling"
jump TRUE
}
]
}
DEF Title Transform {
translation 0 0 130 #0 0 140
scale 1 1 1
children [
# DEF TitleTouch TouchSensor {}
Shape{
appearance Appearance{
material Material{ }
texture ImageTexture{
url [
"textures/title_1.gif"]
repeatS FALSE
repeatT FALSE
}
textureTransform TextureTransform {
translation 0.01 0.01
scale 0.97 0.97
}
}
geometry IndexedFaceSet{
coord Coordinate{
point[ -250 -118 -40,
0 -118 -40,
0 125 -40,
-250 125 -40]
} #end coord
coordIndex[ 0, 1, 2, 3]
texCoord TextureCoordinate {
point [ -0.01 -0.01, 1.01 -0.01,
1.01 1.01, -0.01 1.01 ]
}
texCoordIndex [ 0, 1, 2, 3]
} #end geometry
}, #end shape
Shape{
appearance Appearance{
material Material { }
texture ImageTexture{
url [
"textures/title_2.gif"]
repeatS FALSE
repeatT FALSE
}
textureTransform TextureTransform {
translation 0.01 0.01
scale 0.98 0.98
}
}
geometry IndexedFaceSet{
coord Coordinate{
point [ 0 -118 -40,
250 -118 -40,
250 125 -40,
0 125 -40]
} #end coord
coordIndex[ 0, 1, 2, 3]
texCoord TextureCoordinate {
point [ -0.01 -0.01, 1.01 -0.01,
1.01 1.01, -0.01 1.01 ]
point [ 0 0, 1 0, 1 1, 0 1 ]
}
texCoordIndex [ 0, 1, 2, 3]
} #end geometry
} #end shape
] #end Children
} #end Transform
DEF Title_PI PositionInterpolator {
key [ 0, 0.25, 0.5, 0.75, 1 ]
keyValue [ 0 0 130, 0 0 180, 0 0 300, 0 0 100000, 0 0 200000 ]
}
DEF Corona Transform{
children Billboard {
axisOfRotation 0 0 0
children [
DEF FirstLight Transform{
children [
PointLight{
ambientIntensity 1
intensity 0.9
radius 220
}
]
rotation 0 0 -1 0
translation 0 0 200
},
DEF AnotherLight Transform{
children [
PointLight{
ambientIntensity 1
intensity 0.4
radius 710
}
]
rotation 0 0 -1 0
translation 0 0 700
},
DEF DirectSun Group {
children [
DirectionalLight {
direction 0 0 1
intensity 0.9
}
]
},
Shape{
appearance Appearance{
material Material{
}
texture ImageTexture{
url [
"textures/corona_l.gif"]
repeatS FALSE
repeatT FALSE
}
}
geometry IndexedFaceSet{
creaseAngle 1
coord Coordinate{
point[ -249 -118 -40,
3 -118 -40,
3 128 -40,
-249 128 -40]
} #end coord
coordIndex[ 0, 1, 2, 3]
texCoord TextureCoordinate {
point [ -0.01 -0.01, 1.01 -0.01,
1.01 1.01, -0.01 1.01 ]
}
texCoordIndex [ 0, 1, 2, 3]
} #end geometry
}, #end shape
Shape{
appearance Appearance{
material Material{
}
texture ImageTexture{
url [
"textures/corona_r.gif"]
repeatS FALSE
repeatT FALSE
}
}
geometry IndexedFaceSet{
creaseAngle 1
coord Coordinate{
point [ -3 -118 -40,
250 -118 -40,
250 127 -40,
-3 127 -40]
} #end coord
coordIndex[ 0, 1, 2, 3]
texCoord TextureCoordinate {
point [ -0.01 -0.01, 1.01 -0.01,
1.01 1.01, -0.01 1.01 ]
point [ 0 0, 1 0, 1 1, 0 1 ]
}
texCoordIndex [ 0, 1, 2, 3]
} #end geometry
} #end shape
] # end billboard children
} # end billboard
} # end Corona transform
DEF TheSpheres Transform {
children [
DEF Core Transform {
children [
Shape {
appearance Appearance{
material Material {
diffuseColor 1 1 1
emissiveColor 1 1 1
}
}
geometry Sphere{
radius 65
}
}
]
},
DEF Inner Transform{
children [
Shape{
appearance Appearance{
material Material{
diffuseColor 1 1 1
emissiveColor 0.5 0.4 0.2 #0.7 0.6 0.4
ambientIntensity 1
transparency 0.3
shininess 1
}
texture ImageTexture{
url [
"textures/sol_1.gif"]
}
}
geometry Sphere{
radius 69.5
}
}
]
rotation 0 1 0 0
},
DEF Outer Transform{
children [
Shape{
appearance Appearance{
material DEF Shell Material{
diffuseColor 1 1 1
emissiveColor 0.7 0.6 0.4 #0.9 0.8 0.6
ambientIntensity 1
shininess 0
transparency 0.75
}
texture ImageTexture{
url [
"textures/sol_2.gif"]
}
}
geometry Sphere{
radius 80
}
}
]
rotation 0 1 0 0
},
DEF Flares Transform{
children [
Shape{
appearance Appearance{
material DEF FlaresT Material{
diffuseColor 1 1 1
emissiveColor 0.5 0.4 0.25 #0.7 0.6 0.5
ambientIntensity 1
shininess 0.2
transparency 0
}
texture ImageTexture{
url [
"textures/sol_3.gif"]
}
}
geometry DEF FlareSphere Sphere{
radius 75
}
}
]
rotation 0 1 0 0
}
] # end TheSpheres children
rotation 0 1 0 0
}
DEF Inner_TmS TimeSensor{
cycleInterval 20
enabled TRUE
loop TRUE
}
DEF Inner_OI OrientationInterpolator{
key [
0,
0.333333,
0.666667,
1]
keyValue [
0 1 0 0,
0 1 0 2.0944,
0 1 0 4.18879,
0 1 0 6.28319]
}
ROUTE Inner_TmS.fraction_changed TO Inner_OI.set_fraction
ROUTE Inner_OI.value_changed TO Inner.set_rotation
DEF Flares_TmS TimeSensor {
cycleInterval 42
enabled TRUE
loop TRUE
}
DEF FlareExp TimeSensor {
cycleInterval 3
enabled TRUE
loop TRUE
}
DEF Flares_OI OrientationInterpolator{
key [
0,
0.333333,
0.666667,
1]
keyValue [
0 1 0 0,
0 1 0 2.0944,
0 1 0 4.18879,
0 1 0 6.28319]
}
#DEF Flares_SI ScalarInterpolator {
# key [ 0 .5 1 ]
# keyValue [ 65 75 65 ] #0 0.7 0 ]
# }
DEF FlareScale PositionInterpolator {
key [ 0 .5 1 ]
keyValue [
0.9 0.8 0.9
0.85 0.8 0.85
0.9 0.8 0.9
]
}
ROUTE Flares_TmS.fraction_changed TO Flares_OI.set_fraction
ROUTE Flares_OI.value_changed TO Flares.set_rotation
#ROUTE FlareExp.fraction_changed TO Flares_SI.set_fraction
#ROUTE Flares_SI.value_changed TO FlaresT.transparency
ROUTE FlareExp.fraction_changed TO FlareScale.set_fraction
ROUTE FlareScale.value_changed TO Flares.set_scale
DEF Crash Transform{
rotation 0 1 0 -2.3562
translation 0 0 100000
children [
DEF CrashView Viewpoint{
position 0 400 1000
orientation -1 0 0 0.38051
fieldOfView 0.6
description "The Earth"
jump TRUE
}
#DEF CrashNav NavigationInfo{
# type ["NONE" ]
# avatarSize [0.025, 0.025, 0.025]
# headlight FALSE
#}
DEF EandC Transform{
children [
DEF Earth Transform{
children [
Shape{
appearance Appearance{
material Material{
emissiveColor 0.2 0.2 0.2
diffuseColor 1 1 1
shininess 0.390625
transparency 0
}
texture ImageTexture{
url [
"textures/earth.jpg"]
}
}
geometry Sphere{
radius 63.78
}
}
]
scale 1.003 1 1.003
# 1/127 oblateness
},
DEF Clouds Transform{
children [
Shape{
appearance Appearance{
material Material{
emissiveColor 0.2 0.2 0.2
diffuseColor 1 1 1
shininess 0.390625
}
texture ImageTexture{
url [
"textures/clouds.gif"]
}
}
geometry Sphere{
radius 63.98
# 12 km above sea level
}
}
]
scale 1.04 1.04 1.04
# sorry, added separation needed for VRML browser z-buffer noise.
},
DEF Haze Transform{
children [
Shape{
appearance Appearance{
material DEF HazeT Material{
# emissiveColor 0.35 0.2 0.2
diffuseColor 0.35 0.2 0.2
transparency 1
}
}
geometry Sphere{
radius 64.08
# 12 km above sea level
}
}
]
scale 1.1 1.1 1.1
# sorry, added separation needed for VRML browser z-buffer noise.
}
] # end EandC children
rotation 0 0 1 -.40927971
# 23.45 degree inclination (23 degrees 27 minutes)
scale 2.3 2.3 2.3
},
DEF PlanetLight Transform{
children [
PointLight{
ambientIntensity 0.6
radius 1500
}
]
rotation 0 0 -1 0
translation -600 100 1000
},
DEF Asteroid Transform {
translation 0 0 0
children [
Shape {
appearance Appearance{
material Material{
ambientIntensity 0.05
emissiveColor 0.25 0.15 0.1
diffuseColor 0.8 0.6 0.4
specularColor 0.8 0.6 0.4
shininess 0.5
}
texture ImageTexture { url "textures/asteroid.jpg" }
}
geometry Sphere {
radius 10
}
} #end Shape
] #end children of transform
rotation 0 0 -1 0
scale 1 0.7 0.6
}
DEF ExplodeTrans Transform{
# center 0 -20 -180
children Billboard {
axisOfRotation 0 0 0
children [
DEF GoTouch TouchSensor{}
DEF WhichImage Switch {
whichChoice 0
choice [
Shape {
geometry DEF largeFace IndexedFaceSet {
coord Coordinate {
point[ -100 -100 160,
100 -100 160,
100 100 160,
-100 100 160]
} #end coord
coordIndex[ 0, 1, 2, 3]
} #end geometry
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl01.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
}, #end shape
Shape {
geometry USE largeFace
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl03.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
}, #end shape
Shape {
geometry USE largeFace
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl05.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
}, #end shape
Shape {
geometry USE largeFace
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl09.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
}, #end shape
Shape {
geometry USE largeFace
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl11.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
}, #end shape
Shape {
geometry USE largeFace
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl13.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
}, #end shape
Shape {
geometry USE largeFace
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl15.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
}, #end shape
Shape {
geometry USE largeFace
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl17.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
}, #end shape
Shape {
geometry USE largeFace
appearance Appearance {
material Material{
diffuseColor 0 0 0
transparency 1
}
texture ImageTexture {
url "expl01.gif"
repeatS FALSE
repeatT FALSE
}
} #end appearance
} #end shape
] #end choice
}, #end Switch
] #end children of Billboard
} #end Billboard
# translation 0 20 180
} #end ExplodeTrans transform
] #end Crash children
} #end Crash Transform
DEF BillTime TimeSensor{
loop FALSE
enabled FALSE
cycleInterval 2 #1.8
startTime 0
stopTime 1
}
DEF BillAnimate ScalarInterpolator {
key [ 0, 0.5, 1 ]
keyValue [ 0, 4, 8 ]
}
DEF ChangeImage Script {
eventIn SFFloat newValue
eventOut SFInt32 newImageCount
url
"javascript:
function newValue(valueIn){
newImageCount = Math.round(valueIn);
}"
}
DEF CheckTrigger Script {
eventIn SFFloat fromTimer
eventIn SFRotation earthRotation
field SFBool triggerSet FALSE
field SFBool doneOnce FALSE
eventOut SFBool trigger
eventOut SFBool trigger2
eventOut SFTime startIt
# eventOut SFInt32 imageNumber
url
"javascript:
function fromTimer(fractionIn){
if ( doneOnce ) return;
else
if (fractionIn >= 0.85) {
triggerSet = TRUE;
doneOnce = TRUE;
}
}
function earthRotation(newRotation, timestamp){
if ( triggerSet == FALSE ) return;
else
if ( newRotation[3] > 0.4354 ) {
if ( newRotation[3] < 1.1355 ) {
print ('Rotation: ' + newRotation[3]);
trigger = TRUE;
trigger2 = TRUE;
startIt = timestamp;
triggerSet = FALSE;
}
}
}"
}
ROUTE BillTime.fraction_changed TO BillAnimate.set_fraction
ROUTE BillAnimate.value_changed TO ChangeImage.newValue
ROUTE ChangeImage.newImageCount TO WhichImage.set_whichChoice
#/S/SpinEngine{ object Earth enabled TRUE time 23.9 axis 0.000000
1.000000 0.000000 degrees -360.000000 oscillate FALSE repeat TRUE}
#/SI/Start of SpinEngine
DEF Earth_TmS TimeSensor{
cycleInterval 23.9
enabled TRUE
loop TRUE
}
DEF Earth_OI OrientationInterpolator{
key [
0,
0.25
0.5,
0.75,
1]
keyValue [
0 1 0 1.570796327,
0 1 0 3.141592654,
0 1 0 4.71238898,
0 1 0 0,
0 1 0 1.570796327]
}
ROUTE Earth_TmS.fraction_changed TO Earth_OI.set_fraction
ROUTE Earth_OI.value_changed TO Earth.set_rotation
#/SX/End of SpinEngine
#/S/SpinEngine{ object Clouds enabled TRUE time 14.000000 axis 0.000000
1.000000 0.000000 degrees -360.000000 oscillate FALSE repeat TRUE}
#/SI/Start of SpinEngine
DEF Clouds_TmS TimeSensor{
cycleInterval 14
enabled TRUE
loop TRUE
}
DEF Clouds_OI OrientationInterpolator{
key [
0,
0.333333,
0.666667,
1]
keyValue [
0 1 0 0,
0 1 0 2.0944,
0 1 0 4.18879,
0 1 0 6.28319]
}
ROUTE Clouds_TmS.fraction_changed TO Clouds_OI.set_fraction
ROUTE Clouds_OI.value_changed TO Clouds.set_rotation
#/SX/End of SpinEngine
DEF Falling_TmS TimeSensor {
cycleInterval 22
loop FALSE
enabled TRUE
startTime 0
stopTime 0
}
DEF Falling_PI PositionInterpolator {
key [ 0, 0.5, 1 ]
keyValue [ -30 420 1000, -15 190 500, 0 -40 0 ]
}
#/S/SpinEngine{ object Asteroid enabled TRUE time 12.000000 axis
1.000000 0.000000 0.000000 degrees -360.000000 oscillate FALSE repeat
TRUE}
#/SI/Start of SpinEngine
DEF Asteroid_TmS TimeSensor{
cycleInterval 7
enabled TRUE
loop TRUE
}
DEF Asteroid_OI OrientationInterpolator{
key [
0,
0.333333,
0.666667,
1]
keyValue [
1 0 1 0,
1 0 1 2.0944,
1 0 1 4.18879,
1 0 1 6.28319]
}
ROUTE Asteroid_TmS.fraction_changed TO Asteroid_OI.set_fraction
ROUTE Asteroid_OI.value_changed TO Asteroid.set_rotation
#/SX/End of SpinEngine
ROUTE Falling_TmS.fraction_changed TO Falling_PI.set_fraction
ROUTE Falling_PI.value_changed TO Asteroid.set_translation
DEF TitleTimer TimeSensor {
loop FALSE
enabled TRUE
cycleInterval 8
startTime 0
stopTime 0
}
DEF HazeTime TimeSensor{
cycleInterval 12
enabled FALSE
loop FALSE
startTime 0
stopTime 0
}
DEF HazeDensity Script {
eventIn SFFloat fromTimer
eventOut SFFloat valueChanged
url [
"javascript:
function fromTimer(fractionIn){
valueChanged = (1 - fractionIn);
}"
]
}
DEF SetStop Script {
eventIn SFTime current
eventOut SFTime StopIt
url [
"javascript:
function current(value){
StopIt = (value + 8);
}"
]
}
DEF SetStart Script {
eventIn SFTime current
eventOut SFBool startIt
eventOut SFTime theTime
eventOut SFTime addedTime
eventOut SFTime startAudio
eventOut SFTime endAudio
eventOut SFTime finalOrbit
url [
"javascript:
function current(value){
startIt = TRUE;
theTime = (value + 6);
addedTime = (value + 22);
startAudio = (value + 2);
endAudio = (value + 114);
finalOrbit = (value + 62); //was + 58
}"
]
}
DEF StartFalling Script {
eventIn SFBool set_theTime
eventOut SFTime theTime_changed
url [
"javascript:
function set_theTime( value, timestamp ){
if ( value == TRUE ) {
theTime_changed = (timestamp + 1);
}
}"
]
}
DEF Zoom_TmS TimeSensor {
enabled FALSE
loop FALSE
startTime 0
stopTime 0
cycleInterval 16
}
DEF Zoom_PI PositionInterpolator {
key [ 0, 0.25, 0.5, 0.75, 1 ]
keyValue [ 0 0 1000, 0 0 6000, 0 0 10000, -35 200 20000, -707.10678 400
99292.89322 ]
}
DEF Zoom_OI OrientationInterpolator {
key [ 0, 0.5, 0.65, 0.75, 1 ]
keyValue [
0 1 0 0
-0.078102 -0.97895 -0.18856 0.4
-0.078102 -0.97895 -0.18856 1.1855
-0.078102 -0.97895 -0.18856 2.3711
-0.078102 -0.97895 -0.18856 2.3711
]
}
DEF TriggerCrash Script {
eventIn SFFloat fromTimer
field SFBool doneOnce FALSE
eventOut SFBool animationEnable
eventOut SFBool viewpointDisable
url [
"javascript:
function fromTimer(fractionIn){
if (fractionIn >= 0.95) {
if (doneOnce == TRUE) return;
else {
doneOnce = TRUE;
animationEnable = TRUE;
viewpointDisable = FALSE;
}
}
else {trigger = FALSE;}
}"
]
}
DEF ErasePrompt Script {
eventIn SFTime timeIn
field MFString name "../blanktxt.html"
field MFString param "target=HTMLTEXT"
eventOut SFTime startNow
url [
"vrmlscript:
function timeIn( value, timestamp ){
if ( value > 0 ) {
startNow = timestamp;
Browser.loadURL ( name, param );
}
}"
]
}
DEF TitleOff Script {
eventIn SFFloat fromTimer
eventOut SFTime timeIt
url [
"javascript:
function fromTimer(fractionIn, timestamp){
if (fractionIn >= 0.3) {
timeIt = (timestamp);
}
}"
]
}
DEF SwitchItOn Script {
eventIn SFBool trigger
eventOut SFBool animationEnable
eventOut SFBool viewpointDisable
url [
"javascript:
function trigger(value){
if (value == TRUE) {
animationEnable = TRUE;
viewpointDisable = FALSE;
}
}"
]
}
DEF aSound Sound {
source DEF TestSound AudioClip {
url "scen01a.wav"
startTime -1
stopTime 0
loop FALSE
}
minBack 100000
minFront 100000
maxBack 100000
maxFront 100000
spatialize FALSE
intensity 1
location 0 0 70000
}
DEF doneHere Script {
eventIn SFBool trigger
field SFBool doneOnce FALSE
field MFString name2 "../l_muse1.html"
field MFString param2 "target=HTMLTEXT"
# field MFString name3 "../museum.html"
# field MFString param3 "target=VRML"
url [
"javascript:
function trigger( value, timestamp ) {
if (value == FALSE) {
Browser.loadURL ( name2, param2 );
// Browser.loadURL ( name3, param3 );
}
}"
]
}
# if ( doneOnce == FALSE ) {
# doneOnce = TRUE;
# return;
# }
# else {
DEF FinalOrbit_TS TimeSensor {
cycleInterval 44
loop TRUE
enabled FALSE
startTime -1
stopTime 0
}
DEF FinalOrbit_PI PositionInterpolator {
key [ 0 0.25 0.5 0.75 1 ]
keyValue [
0 400 1000
-1000 0 0
0 -400 -1000
1000 0 0
0 400 1000
]
}
DEF FinalOrbit_OI OrientationInterpolator {
key [ 0 0.25 0.5 0.75 1 ]
keyValue [
1 0 0 -0.38051
0 1 0 -1.5708
# 0 1 0 -3.14159
0 0.98196 -0.18911 3.14159
0 1 0 -4.71239
1 0 0 -0.38051
]
}
ROUTE SetStart.startAudio TO TestSound.startTime
ROUTE SetStart.endAudio TO TestSound.stopTime
ROUTE SetStart.finalOrbit TO FinalOrbit_TS.startTime
ROUTE TestSound.isActive TO doneHere.trigger
ROUTE SetStart.addedTime TO Zoom_TmS.stopTime
ROUTE SetStart.theTime TO Zoom_TmS.startTime
ROUTE SetStart.startIt TO Zoom_TmS.enabled
ROUTE Zoom_TmS.fraction_changed TO Zoom_PI.set_fraction
ROUTE Zoom_PI.value_changed TO ZoomView.set_translation
ROUTE Zoom_TmS.fraction_changed TO Zoom_OI.set_fraction
ROUTE Zoom_OI.value_changed TO ZoomView.set_rotation
ROUTE Zoom_TmS.fraction_changed TO TriggerCrash.fromTimer
#ROUTE TriggerCrash.trigger TO SwitchItOn.trigger
#ROUTE SwitchItOn.animationEnable TO CrashView.set_bind
#ROUTE SwitchItOn.animationEnable TO StartFalling.set_theTime
#ROUTE SwitchItOn.viewpointDisable TO Zoom_TmS.enabled
ROUTE TriggerCrash.animationEnable TO CrashView.set_bind
ROUTE TriggerCrash.animationEnable TO StartFalling.set_theTime
ROUTE TriggerCrash.viewpointDisable TO Zoom_TmS.enabled
ROUTE Falling_TmS.fraction_changed TO CheckTrigger.fromTimer
ROUTE Earth_OI.value_changed TO CheckTrigger.earthRotation
ROUTE CheckTrigger.trigger TO BillTime.enabled
ROUTE CheckTrigger.trigger2 TO HazeTime.enabled
ROUTE CheckTrigger.trigger2 TO FinalOrbit_TS.enabled
#ROUTE CheckTrigger.imageNumber TO WhichImage.set_whichChoice
#ROUTE Falling_TmS.time TO BillTime.startTime
ROUTE CheckTrigger.startIt TO BillTime.startTime
ROUTE StartFalling.theTime_changed TO Falling_TmS.startTime
ROUTE HazeTime.fraction_changed TO HazeDensity.fromTimer
ROUTE HazeDensity.valueChanged TO HazeT.transparency
#ROUTE Falling_TmS.time TO HazeTime.startTime
#ROUTE Falling_TmS.time TO SetStop.current
ROUTE CheckTrigger.startIt TO HazeTime.startTime
ROUTE CheckTrigger.startIt TO SetStop.current
ROUTE SetStop.StopIt TO HazeTime.stopTime
ROUTE FinalOrbit_TS.fraction_changed TO FinalOrbit_PI.set_fraction
ROUTE FinalOrbit_TS.fraction_changed TO FinalOrbit_OI.set_fraction
ROUTE FinalOrbit_PI.value_changed TO CrashView.position
ROUTE FinalOrbit_OI.value_changed TO CrashView.orientation
ROUTE TitleTimer.fraction_changed TO Title_PI.set_fraction
ROUTE Title_PI.value_changed TO Title.set_translation
ROUTE TitleTimer.fraction_changed TO TitleOff.fromTimer
ROUTE TitleOff.timeIt TO SetStart.current
#ROUTE TitleTouch.touchTime TO TitleTimer.startTime
#ROUTE TitleTouch.touchTime TO ErasePrompt.timeIn
#DEF removeWait Script {
# eventIn SFTime triggerTime
# field MFString textURL "../blanktxt.html"
# field MFString textFrame "target=HTMLTEXT"
# url ["javascript:
# function triggerTime( value, timestamp ) {
# if ( value > 0 ) {
# Browser.loadURL( textURL, textFrame );
# }
# }"
# ]
#}
ROUTE ErasePrompt.startNow TO TitleTimer.startTime
ROUTE TestSound.duration_changed TO ErasePrompt.timeIn
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list