[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

VRML and XML

  • From: len bullard <cbullard@h...>
  • To: xml-dev@i...
  • Date: Wed, 14 Jan 1998 21:18:22 -0600

vrml browser.loadurl
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@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.