#VRML V2.0 utf8
# X3D-to-VRML-97 XSL translation autogenerated by X3dToVrml97.xslt
# https://www.web3d.org/x3d/content/X3dToVrml97.xslt
# Generated using XSLT processor: Saxonica
# [X3D] VRML V3.2 utf8
# PROFILE Immersive
# [X3D] version=3.2
# [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-3.2.xsd
# [head]
# COMPONENT Navigation:3
# META "title" "Web3dTimeline.x3d"
# META "info" "Presenters can edit events under TimelineEventsGroup."
### Info:
# META "description" "Time line of X3D history with a viewpoint for each milestone. Use PgDown and PgUp to look through each viewpoint. Clicking (selecting) text for any milestone binds that viewpoint, then returns to prior milestone when unclicked (deselected)."
# META "creator" "Don Brutzman, Anita Havele, Johannes Behr, Byounghyun Yoo"
# META "TODO" "BS Contact BitManagement Bug Report, problem with .x3dv encoding http://www.bitmanagement.de/en/contact"
# META "created" "28 July 2008"
# META "modified" "20 October 2019"
# META "Image" "Web3dTimelineEntryView.png"
# META "Image" "Web3dTimelinePanorama.png"
# META "info" "Point paper by Anita Havele and Don Brutzman"
### Info:
# META "reference" "Declarative3dTimelineSceneUseCaseHaveleBrutzman.pdf"
# META "reference" "Declarative3dTimelineSceneUseCaseHaveleBrutzman.doc"
# META "reference" "http://events.declarative3d.org/Dec3D2012"
# META "info" "Corresponding X3DOM translation by Nils Michaelis of Fraunhofer"
### Info:
# META "reference" "http://examples.x3dom.org/x3dTimeLine"
# META "reference" "http://examples.x3dom.org/x3dTimeLine/timeline.js"
# META "reference" "http://examples.x3dom.org/x3dTimeLine/timeline.css"
# META "reference" "http://examples.x3dom.org/x3dTimeLine/timestamps.txt"
# META "TODO" "side by side scene and information page, as adjacent frames in HTML parent"
# META "TODO" "better images"
# META "TODO" "hidden attribute"
# META "TODO" "confirm dates and events"
# META "identifier" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/Web3dTimeline.x3d"
# META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"
# META "license" "../license.html"
EXTERNPROTO BooleanFilter [
# [appinfo] Selectively pass only true or false events.
eventIn SFBool set_boolean # [appinfo] set_boolean is the input value to be filtered.
eventOut SFBool inputTrue # [appinfo] inputTrue only passes a true value, when set_boolean input is true.
eventOut SFBool inputFalse # [appinfo] inputFalse only passes a false value, when set_boolean is false.
eventOut SFBool inputNegate # [appinfo] inputNegate provides opposite value by negating set_boolean input.
][
# "EventUtilityPrototypes.wrl#BooleanFilter"
"https://www.web3d.org/x3d/content/examples/Basic/development/EventUtilityPrototypes.wrl#BooleanFilter"
# "EventUtilityPrototypes.x3d#BooleanFilter"
"https://www.web3d.org/x3d/content/examples/Basic/development/EventUtilityPrototypes.x3d#BooleanFilter"
]
EXTERNPROTO BooleanTrigger [
# [appinfo] Convert time events to boolean true events.
eventIn SFTime set_triggerTime # [appinfo] set_triggerTime provides input time event, typical event sent is TouchSensor touchTime.
eventOut SFBool triggerTrue # [appinfo] triggerTrue outputs a true value whenever a triggerTime event is received.
][
# "EventUtilityPrototypes.wrl#BooleanTrigger"
"https://www.web3d.org/x3d/content/examples/Basic/development/EventUtilityPrototypes.wrl#BooleanTrigger"
# "EventUtilityPrototypes.x3d#BooleanTrigger"
"https://www.web3d.org/x3d/content/examples/Basic/development/EventUtilityPrototypes.x3d#BooleanTrigger"
]
EXTERNPROTO IntegerTrigger [
# [appinfo] Convert boolean true or time input events to integer value (suitable for Switch node).
eventIn SFBool set_boolean # [appinfo] If set_boolean input is true, trigger output of integer value.
eventIn SFInt32 set_integerKey # [appinfo] Resets value used for output when triggered later.
exposedField SFInt32 integerKey # [appinfo] integerKey is value for output when triggered.
eventOut SFInt32 integerKey_changed # [appinfo] Reports change in integerKey value.
eventOut SFInt32 triggerValue # [appinfo] triggerValue provides integer event output matching integerKey when true set_boolean received.
][
# "EventUtilityPrototypes.wrl#IntegerTrigger"
"https://www.web3d.org/x3d/content/examples/Basic/development/EventUtilityPrototypes.wrl#IntegerTrigger"
# "EventUtilityPrototypes.x3d#IntegerTrigger"
"https://www.web3d.org/x3d/content/examples/Basic/development/EventUtilityPrototypes.x3d#IntegerTrigger"
]
# [Scene] ========== ========== ==========
NavigationInfo { type [ "EXAMINE" "ANY" ] } ### Default X3D NavigationInfo
WorldInfo {
title "Web3D Timeline"
}
Background {
groundColor [ 1 1 1 ]
skyColor [ 1 1 1 ]
}
DirectionalLight {
direction 0 -0.5 -1
}
DEF OverviewViewpoint Viewpoint {
description "Web3D Timeline"
orientation -0.33 0.94 0 0.4
position 18 8 21
}
#
DEF InitialSetupAndPrototype Group {
children [
# floor
Transform {
translation 0 0 -50
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
emissiveColor 1 1 1
}
texture ImageTexture {
url [ "images/lines.png" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/lines.png" ]
}
textureTransform TextureTransform {
rotation 1.57
}
}
geometry Box {
size 125 0.01 125
}
}
]
}
PROTO TimelineElement [
exposedField MFString name [
""
] # [appinfo] Name for this timeline element
exposedField MFString title [
""
] # [appinfo] Displayed title
exposedField SFString description "" # [appinfo] Viewpoint, Anchor description
exposedField SFBool hidden FALSE # [appinfo] Whether to hide this entry. TODO: is Viewpoint hidden also?
exposedField MFString imageUrl [
""
] # [appinfo] "Link to display image"
### Warning: ProtoInterface is unreferenced in ProtoBody with no corresponding IS/connect/@protoField
exposedField MFString soundUrl [
""
] # [appinfo] "Link to narrative"
exposedField MFString referenceUrl [
""
] # [appinfo] "Link to reference, launched in separate frame"
exposedField SFInt32 imagePixelHeight 0 # [appinfo] author must initialize
exposedField SFInt32 imagePixelWidth 0 # [appinfo] author must initialize
exposedField SFVec3f translation 0 0 0 # [appinfo] default value 0 0 0
] {
DEF RootTransform Transform {
translation IS translation
# TODO try to omit this viewpoint from scene's active list of viewpoints if hidden='true'
children [
# TODO try to omit this viewpoint from scene's active list of viewpoints if hidden='true'
DEF HideSwitch Switch {
whichChoice 0
choice [
DEF TimelineElementViewpointGroup ViewpointGroup {
# test ability to hide in BSContact
}
]
}
DEF TimelineElementViewpoint Viewpoint {
position 2 3 14
description IS description
}
DEF proximity ProximitySensor {
center 0 0 12
size 40 40 13
}
Transform {
translation -0.2 -0.3 0
children [
Shape {
appearance Appearance {
material DEF NameMaterial Material {
diffuseColor 0.619608 0.258824 0
}
}
geometry Text {
string IS name
fontStyle FontStyle {
family [ "SANS" ]
justify [ "END" "FIRST" ]
size 1.5
spacing 0.8
}
}
}
]
}
Transform {
translation 0.2 0 0
children [
Shape {
appearance Appearance {
material DEF TitleMaterial Material {
diffuseColor 0 0.184314 0.658824
}
}
geometry Text {
string IS title
fontStyle FontStyle {
family [ "SANS" ]
justify [ "BEGIN" "FIRST" ]
size 0.9
}
}
}
]
}
Group {
children [
DEF TouchToView TouchSensor {
# description "touch to view"
}
DEF TouchViewpointSelectBooleanFilter BooleanFilter {
}
DEF TransparentTouchForNameTitleShape Shape {
geometry Box {
size 8 3 0.1
}
appearance Appearance {
material Material {
transparency 1
}
}
}
]
ROUTE TouchToView.isActive TO TouchViewpointSelectBooleanFilter.set_boolean
ROUTE TouchViewpointSelectBooleanFilter.inputTrue TO TimelineElementViewpoint.set_bind
}
DEF TimelineElementSwitch Switch {
whichChoice 1
choice [
Group {
children [
DEF HideBackgroundTextTransform Transform {
scale 12 8 0.01
translation 0 3.5 -0.5
children [
# Hide other TimeLineElement entries that are behind this one
Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
}
}
# hide next entry, but try not to chop of dates from perspective view
geometry Box {
size 0.9 1 0.01
}
}
]
}
DEF ImageTransform Transform {
scale 8 8 0.01
translation -4 1 0
children [
Anchor {
parameter [ "target=Web3dTimelineReferenceFrame" ]
url IS referenceUrl
description IS description
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
emissiveColor 1 1 1
}
texture ImageTexture {
url IS imageUrl
}
}
geometry DEF ImageIFS IndexedFaceSet {
coordIndex [ 0 1 2 3 -1 ]
solid FALSE
coord DEF ImageCoordinate Coordinate {
}
texCoord TextureCoordinate {
point [ 0 0 0 1 1 1 1 0 ]
}
}
}
]
}
]
}
]
}
DEF EmptyNode Group {
}
]
}
DEF bt BooleanTrigger {
}
DEF it0 IntegerTrigger {
integerKey 0
}
DEF it1 IntegerTrigger {
integerKey 1
}
]
ROUTE proximity.isActive TO it0.set_boolean
ROUTE it0.triggerValue TO TimelineElementSwitch.whichChoice
ROUTE proximity.exitTime TO bt.set_triggerTime
ROUTE bt.triggerTrue TO it1.set_boolean
ROUTE it1.triggerValue TO TimelineElementSwitch.whichChoice
}
DEF TimelineElementScript Script {
### Warning: Script field 'name' has accessType 'inputOutput' (exposedField), which is only allowed in X3D Script node, not VRML97 Script node. Using exposedField anyway, may cause errors.
exposedField MFString name IS name
### Warning: Script field 'imagePixelHeight' has accessType 'inputOutput' (exposedField), which is only allowed in X3D Script node, not VRML97 Script node. Using exposedField anyway, may cause errors.
exposedField SFInt32 imagePixelHeight IS imagePixelHeight # [appinfo] default value 0
### Warning: Script field 'imagePixelWidth' has accessType 'inputOutput' (exposedField), which is only allowed in X3D Script node, not VRML97 Script node. Using exposedField anyway, may cause errors.
exposedField SFInt32 imagePixelWidth IS imagePixelWidth # [appinfo] default value 0
### Warning: Script field 'hidden' has accessType 'inputOutput' (exposedField), which is only allowed in X3D Script node, not VRML97 Script node. Using exposedField anyway, may cause errors.
exposedField SFBool hidden IS hidden # [appinfo] Whether to hide this entry. TODO: is Viewpoint hidden also?
### Warning: Script field 'traceEnabled' has accessType 'inputOutput' (exposedField), which is only allowed in X3D Script node, not VRML97 Script node. Using exposedField anyway, may cause errors.
exposedField SFBool traceEnabled FALSE # [appinfo] debug trace to Browser output console
eventOut MFVec3f pointArray # [appinfo] compute scale based on image pixel height, width
eventOut SFInt32 hideSwitchChoice # [appinfo] hide node if hidden
eventOut SFBool displayViewpointGroup # [appinfo] display Viewpoint if not hidden
url [ "javascript: // ### X3D Browser.print() not supported by all VRML97 viewers, instead simply using print()
function initialize ()
{
computePointArray ();
hide ();
tracePrint ('initialization() successful');
}
function computePointArray ()
{
if ((imagePixelHeight <= 0) || (imagePixelWidth <= 0))
{
tracePrint ('cannot compute new scale, imagePixelHeight=' + imagePixelHeight.toString() + ', imagePixelWidth=' + imagePixelWidth.toString());
return;
}
else if (imagePixelHeight < imagePixelWidth)
{
height = imagePixelHeight/imagePixelWidth;
width = 1.0;
}
else if (imagePixelHeight > imagePixelWidth)
{
height = 1.0;
width = imagePixelWidth/imagePixelHeight;
}
else // same
{
height = 1.0;
width = 1.0;
}
p0 = new SFVec3f (0.0, 0.0, 0.0);
p1 = new SFVec3f (0.0, height, 0.0);
p2 = new SFVec3f (width, height, 0.0);
p3 = new SFVec3f (width, 0.0, 0.0);
pointArray = new MFVec3f (p0, p1, p2, p3);
tracePrint ('computed new ImageCoordinate.point=' + pointArray.toString());
if (hidden)
{
hideSwitchChoice = -1;
}
}
function set_imagePixelHeight (eventValue)
{
computePointArray ();
}
function set_imagePixelWidth (eventValue)
{
computePointArray ();
}
function set_name (eventValue)
{
// input eventValue received for inputOutput field
name = eventValue;
}
function hide ()
{
// input eventValue received for inputOutput field
tracePrint (\"set_hidden: hidden=\" + hidden);
if (hidden)
{
hideSwitchChoice = -1;
displayViewpointGroup = false;
}
else
{
hideSwitchChoice = 0;
displayViewpointGroup = true;
}
}
function set_hidden (eventValue)
{
hidden = eventValue;
hide ();
}
// ================== Trace output functions ==================
function tracePrint (outputString)
{
// if traceEnabled is true, print outputString on X3D browser console
if (traceEnabled)
printingln ('[TimelineElementScript ' + name.toString() + ': ' + outputString.toString() + ']');
}
function alwaysPrint (outputString)
{
// always print outputString on X3D browser console
printingln ('[TimelineElementScript ' + name.toString() + ': ' + outputString.toString() + ']');
}
function set_traceEnabled (eventValue)
{
// input eventValue received for inputOutput field
traceEnabled = eventValue;
}
// ===========================================================
" ]
}
ROUTE TimelineElementScript.pointArray TO ImageCoordinate.point
ROUTE TimelineElementScript.hideSwitchChoice TO TimelineElementSwitch.whichChoice
ROUTE TimelineElementScript.displayViewpointGroup TO TimelineElementViewpointGroup.displayed
}
]
}
DEF TimelineEventsGroup Transform {
translation 0 5 0
children [
# Depends on the audience, but Len suggests removal of the following for most audiences: 1) 1997 Community 2) 1999 MPEG 3) 2005 April (membership & IPR) Add x3dom - year? X3D V3.3 (Volume, Units) - 2012
# 1994
DEF Slide1_VRML1.0 TimelineElement {
# ensure MFString referenceUrl value is surrounded by "quotation marks"
name [ "1994" ]
title [ "SIGGRAPH meeting " "VRML 1.0 Specification" ]
description "Community effort adapted SGI OpenInventor"
imageUrl [ "images/vrml.banner.gif" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/vrml.banner.gif" ]
imagePixelHeight 130
imagePixelWidth 560
referenceUrl [ "https://www.web3d.org/x3d/specifications/vrml/VRML1.0" ]
}
# 1997
DEF Slide2_VRML2.0 TimelineElement {
translation 0 0 -15
name [ "1997" ]
title [ "VRML 2.0" "Community standard" ]
description "VRML 2.0 revised the VRML 1 architecture for better performance"
imageUrl [ "images/vrml97.gif" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/vrml97.gif" ]
imagePixelHeight 85
imagePixelWidth 470
referenceUrl [ "http://new.web3d.org/files/specifications/14772/V2.0" ]
}
# 1997
DEF Slide3_VRML97 TimelineElement {
translation 0 0 -30
name [ "1997" ]
title [ "VRML 97" "International Standard" ]
description "VRML 2.0 became the VRML 97 ISO International Standard"
imageUrl [ "images/vrml97-0.gif" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/vrml97-0.gif" ]
imagePixelHeight 85
imagePixelWidth 470
referenceUrl [ "http://new.web3d.org/files/specifications/14772/V2.0" ]
}
# 1999
DEF Slide4_MPEG-4 TimelineElement {
# only first available choice in url array will be launched
translation 0 0 -45
name [ "1999" ]
title [ "MPEG-4" "Interactive Profile" ]
description "MPEG-4 adopted an X3D subset for encoding 3D graphics"
hidden TRUE
imageUrl [ "images/mpeg_logo_bw.gif" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/mpeg_logo_bw.gif" ]
referenceUrl [ "https://www.web3d.org/files/specifications/19775-1/V3.2/Part01/MPEG4interactive.html" "http://www.ece.cmu.edu/~ee899/project/jie_sem/index.html" ]
imagePixelHeight 74
imagePixelWidth 256
}
# 2001
DEF Slide5_X3dDesign TimelineElement {
translation 0 0 -60
name [ "2001" ]
title [ "X3D architecture design" "Extensible 3D Graphics" ]
description "X3D architecture extensions to VRML defined"
imageUrl [ "images/x3d2-s.gif" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/x3d2-s.gif" ]
imagePixelHeight 97
imagePixelWidth 154
referenceUrl [ "https://www.web3d.org/about/faq" ]
}
# December 2004
DEF Slide6_X3dEncoding TimelineElement {
# only first available choice in url array will be launched
translation 0 0 -75
name [ "2004" "December" ]
title [ ".x3d Encoding" "XML Validation" ]
description "XML-X3D"
imageUrl [ "images/X3dSpecificationLogo.png" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/X3dSpecificationLogo.png" ]
imagePixelHeight 88
imagePixelWidth 176
referenceUrl [ "http://www.w3.org/XML/1999/XML-in-10-points.html" "https://www.web3d.org/files/specifications/19776-1/V3.2/Part01/X3D_XML.html" ]
}
# 2005
DEF Slide7_Web3DConsortium TimelineElement {
# 1072 x 540
translation 0 0 -90
name [ "2005" "April" ]
title [ "Web3D Consortium" "Non-profit Membership" "Royalty-Free IPR Policy" ]
description "Web3D Intellectual Property Rights Policy keeps X3D royalty free for any use"
imageUrl [ "images/web3d-Consortium-3dlogo.jpg" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/web3d-Consortium-3dlogo.jpg" ]
imagePixelHeight 108
imagePixelWidth 214
referenceUrl [ "https://www.web3d.org/realtime-3d/about/legal" ]
}
# November 2005
DEF Slide8_X3dStandard TimelineElement {
translation 0 0 -105
name [ "2005" "November" ]
title [ "X3D Graphics Standard" "version 3.0" "ISO approved" ]
description "X3D version 3.0"
imageUrl [ "images/X3dSpecificationLogo.png" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/X3dSpecificationLogo.png" ]
imagePixelHeight 88
imagePixelWidth 176
referenceUrl [ "https://www.web3d.org/realtime-3d/specification/current" ]
}
# 2006
DEF Slide9_SceneAcessInterface TimelineElement {
translation 0 0 -120
name [ "2006" "April" ]
title [ "Scene Acess Interface:" "SAI for JavaScript Java" ]
description "SAI APIs provide consistent X3D code access using JavaScript or Java"
imageUrl [ "images/X3dAnywhere_150_138.gif" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/X3dAnywhere_150_138.gif" ]
imagePixelHeight 138
imagePixelWidth 150
referenceUrl [ "https://www.web3d.org/files/specifications/19777-1/V3.0/Part1/X3D_ECMAScript.html" ]
}
# December 2006
DEF Slide10_X3dVersion3.1 TimelineElement {
# Web3dBanner.jpg 864 x 432, reduced 216 x 106
translation 0 0 -135
name [ "2006" "December" ]
title [ "X3D" "version 3.1" ]
description "Computer Aided Design (CAD) 3D Textures and Shaders support"
imageUrl [ "images/logo_iso.gif" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/logo_iso.gif" ]
imagePixelHeight 58
imagePixelWidth 202
referenceUrl [ "https://www.web3d.org/files/specifications/19775-1/V3.1/index.html" ]
}
# 2007
DEF Slide11_X3dForWebAuthors TimelineElement {
translation 0 0 -150
name [ "2007" "March" ]
title [ "X3D for Web Authors" "Book slides examples" "Don Brutzman Leonard Daly" ]
description "X3D for Web Authors book slidesets example scenes and video Don Brutzman and Leonard Daly"
imageUrl [ "images/X3dForWebAuthorsBookCoverScan.400x498.jpg" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/X3dForWebAuthorsBookCoverScan.400x498.jpg" ]
imagePixelHeight 125
imagePixelWidth 100
referenceUrl [ "https://x3dgraphics.com" ]
}
# December 2007
DEF Slide12_X3dCompressedBinaryEncoding TimelineElement {
translation 0 0 -165
name [ "2007" "December" ]
title [ "X3D Compressed" "Binary Encoding (CBE)" "for geometry and data" ]
description "X3D Compressed Binary Encoding provides geometric and XML compression"
imageUrl [ "images/CadTeapot.png" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/CadTeapot.png" ]
imagePixelHeight 243
imagePixelWidth 427
referenceUrl [ "http://web3d.org/x3d/wiki/index.php/X3D_Binary_Compression_Capabilities_and_Plans" ]
}
# 2008
DEF Slide13_X3dEarth TimelineElement {
translation 0 0 -180
name [ "2008" "March" ]
title [ "X3D Earth" "Geospatial Component" ]
description "X3D Earth working group has built a Geospatial component for X3D"
imageUrl [ "images/x3d-earth.jpg" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/x3d-earth.jpg" ]
imagePixelHeight 368
imagePixelWidth 368
referenceUrl [ "https://www.web3d.org/realtime-3d/working-groups/x3d-earth" ]
}
# June 2008
DEF Slide14_X3dVersion3.2 TimelineElement {
translation 0 0 -195
name [ "2008" "June" ]
title [ "X3D" "version 3.2" ]
description "X3D v3.2 is the current version of X3D in common use"
imageUrl [ "images/logo_iso.gif" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/logo_iso.gif" ]
imagePixelHeight 58
imagePixelWidth 202
referenceUrl [ "https://www.web3d.org/files/specifications/19775-1/V3.2/Part01/Architecture.html" ]
}
# February 2009
DEF Slide15_DICOM TimelineElement {
translation 0 0 -210
name [ "2009" "February" ]
title [ "X3D and DICOM" "Medical standards" ]
description "X3D volume visualization for DICOM"
imageUrl [ "images/DicomLogo.png" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/DicomLogo.png" ]
imagePixelHeight 105
imagePixelWidth 377
referenceUrl [ "http://medical.nema.org" ]
}
# March 2010
DEF Slide16_X3DOM TimelineElement {
translation 0 0 -225
name [ "2010" "March" ]
title [ "X3DOM" "development begins" ]
description "X3DOM maps X3D to HTML5"
imageUrl [ "images/X3domTeaser.png" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/X3domTeaser.png" "http://www.x3dom.org/wp-content/uploads/2009/10/teaser.png" ]
imagePixelHeight 370
imagePixelWidth 270
referenceUrl [ "http://www.x3dom.org" ]
}
# June 2011
DEF Slide17_X3dAugmentedReality TimelineElement {
translation 0 0 -240
name [ "2011" "June" ]
title [ "X3D AR" "Augmented Reality" ]
description "Augmented Reality working group efforts"
imageUrl [ "images/X3dArImage4.jpg" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/X3dArImage4.jpg" ]
imagePixelHeight 120
imagePixelWidth 168
referenceUrl [ "https://www.web3d.org/realtime-3d/working-groups/augmented-reality-ar" ]
}
# November 2011
DEF Slide18_Declarative3D TimelineElement {
translation 0 0 -255
name [ "2011" "November" ]
title [ "Declarative 3D" "W3C Community Group" ]
description "W3C Community Group efforts for Declarative 3D begin"
imageUrl [ "images/W3cCommunityGroupLogo.png" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/W3cCommunityGroupLogo.png" ]
imagePixelHeight 91
imagePixelWidth 209
referenceUrl [ "http://www.w3.org/community/declarative3d" ]
}
# April 2012
DEF Slide19_WWW2012 TimelineElement {
translation 0 0 -270
name [ "2012" "April" ]
title [ "WWW 2012 Workshop" "on Declarative 3D" ]
description "X3D v3.2 is draft international standard"
imageUrl [ "images/Www2012Logo.png" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/images/Www2012Logo.png" ]
imagePixelHeight 170
imagePixelWidth 348
referenceUrl [ "http://events.declarative3d.org/Dec3D2012" ]
}
]
}
# Web3D 3D logo
DEF trans_web3dlogo Transform {
rotation 0 1 0 3.14
scale 0.7 0.7 0.7
translation 14 9.4 12
children [
Group {
children [
# TODO Animation to spin logo, user-controllable or in different place
Billboard {
axisOfRotation 0 0 0
children [
DEF Web3dLogoTransform Transform {
scale 0.6 0.6 0.6
children [
# TODO White box behind
Anchor {
parameter [ "target=Web3dTimelineReferenceFrame" ]
url [ "https://www.web3d.org" ]
children [
Inline {
url [ "Web3dLogo.x3d" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/Web3dLogo.x3d" "Web3dLogo.wrl" "https://www.web3d.org/x3d/content/examples/Basic/Web3dOutreach/Web3dLogo.wrl" ]
}
]
}
DEF Web3dLogoSpinner OrientationInterpolator {
key [ 0 0.3333 0.6667 1 ]
keyValue [ 0 1 0 0 0 1 0 2.094395 0 1 0 4.18879 0 1 0 0 ]
}
DEF Web3dLogoClock TimeSensor {
cycleInterval 30
loop TRUE
}
]
ROUTE Web3dLogoSpinner.value_changed TO Web3dLogoTransform.set_rotation
ROUTE Web3dLogoClock.fraction_changed TO Web3dLogoSpinner.set_fraction
}
]
}
]
}
Transform {
translation 0 -6.2 0
children [
Billboard {
axisOfRotation 0 0 0
children [
TouchSensor {
# description "Select PageUp/PageDown to see each milestone, click on images for detail links"
}
Shape {
geometry Text {
string [ "Web3D Progress Timeline" ]
fontStyle FontStyle {
justify [ "MIDDLE" "MIDDLE" ]
### style='BOLD'
}
}
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 0.337 0.392 0.556
shininess 0
}
}
}
Shape {
geometry Box {
size 10 3 0.1
}
appearance Appearance {
material Material {
transparency 1.0
}
}
}
]
}
]
}
]
}
# start and end at same Viewpoint to enable a consistent Viewpoint tour by browser
USE OverviewViewpoint
### Error: Viewpoint is bindable, avoid copying as a USE node