X3D: add working example.
authorKim Kulling <kim.kulling@goolemail.com>
Wed, 29 Mar 2017 19:13:44 +0000 (21:13 +0200)
committerKim Kulling <kim.kulling@goolemail.com>
Wed, 29 Mar 2017 19:13:44 +0000 (21:13 +0200)
test/models/X3D/ComputerKeyboard.x3d [new file with mode: 0644]

diff --git a/test/models/X3D/ComputerKeyboard.x3d b/test/models/X3D/ComputerKeyboard.x3d
new file mode 100644 (file)
index 0000000..2d6c070
--- /dev/null
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://www.web3d.org/specifications/x3d-3.0.dtd">
+<X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.0.xsd'>
+  <head>
+    <meta content='ComputerKeyboard.x3d' name='title'/>
+    <meta content='A computer keyboard for the control panel in the CVN bridge control. The buttons animated to be pushed in when touched.' name='description'/>
+    <meta content='Foo Khee Loon' name='creator'/>
+    <meta content='17 February 2001' name='created'/>
+    <meta content='13 January 2014' name='modified'/>
+    <meta content='http://www.web3d.org/x3d/content/examples/Basic/StudentProjects/ComputerKeyboard.x3d' name='identifier'/>
+    <meta content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit' name='generator'/>
+    <meta content='../license.html' name='license'/>
+  </head>
+  <Scene>
+    <Viewpoint description='Front View' fieldOfView='1' orientation='0 1 0 1.571' position='1 0.2 0.5'/>
+    <Transform rotation='1 0 0 1.571'>
+      <Shape>
+        <Appearance>
+          <Material diffuseColor='0.8 0.8 0.7'/>
+        </Appearance>
+        <Extrusion ccw='false' creaseAngle='1.75' crossSection='0 0 0.025 -0.05 0.05 -0.07 0.075 -0.08 0.1 -0.09 0.35 -0.04 0.4 -0.03 0.45 -0.0275 0.45 0 0.045 -0.0275 0.045 0 0 0' spine='0 0 0 0 0.98 0'/>
+      </Shape>
+      <Transform DEF='EscapeButton' rotation='1 0 0 -1.571' translation='0.1 0.95 -0.065'>
+        <Shape>
+          <Appearance>
+            <Material diffuseColor='0.7 0.7 0.8'/>
+          </Appearance>
+          <Extrusion creaseAngle='2' crossSection='-0.02 -0.02 -0.02 0.02 0.02 0.02 0.02 -0.02 -0.02 -0.02' scale='1 1 1.2 1.2 0.7 0.7' spine='0 0 0 0 0.02 0 0 0.04 0'/>
+        </Shape>
+        <TouchSensor DEF='TouchButton' description='touch keys to animate'/>
+        <TimeSensor DEF='push' stopTime='0.5'/>
+        <PositionInterpolator DEF='Move' key='0 0.5 1' keyValue='0.1 0.95 -0.065 0.1 0.95 -0.05 0.1 0.95 -0.065'/>
+      </Transform>
+      <!-- first row of the keyboard -->
+      <Transform translation='0 -0.1 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.1467 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.193367 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.240033 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.340033 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.386700 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.43336700 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.4800 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.5800 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.626667 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.67333 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.72 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.82 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.8667 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0 -0.91333 0'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <!-- second row of key board -->
+      <Transform translation='0.1 -0.001 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.048667 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.0963 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.144 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.19167666 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.23934 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.2871 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.33466 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.382333 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.43 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.477 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.525333 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.57 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.62066 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.66833 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.716 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.763666 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.811333 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.859 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform translation='0.1 -0.9066 0.015'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <!-- third row of key board -->
+      <Group DEF='row'>
+        <Transform translation='0.146667 -0.001 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.04866671 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.096331 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.144 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.191664 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.2393664 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.287 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.3346677 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.38236677 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.437 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.4776 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.525334776 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.57376 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.62057376 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.66832057376 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.716 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.7636 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.8113336 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.859 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+        <Transform translation='0.1467 -0.90667859 0.025'>
+          <Transform USE='EscapeButton'/>
+        </Transform>
+      </Group>
+      <!-- Fourth row of key board -->
+      <Transform translation='0.04667 0 0.01'>
+        <Group USE='row'/>
+      </Transform>
+      <!-- Fifth row of key board -->
+      <Transform translation='0.093347 0 0.02'>
+        <Group USE='row'/>
+      </Transform>
+      <!-- sixth row of key board -->
+      <Transform scale='1 2 1' translation='0.286667 -1 0.055'>
+        <Transform USE='EscapeButton'/>
+      </Transform>
+      <Transform DEF='space_bar' rotation='0 0 1 1.571' translation='0.3902677 0.5 -0.045'>
+        <Transform rotation='1 0 0 1.571'>
+          <Shape>
+            <Appearance>
+              <Material diffuseColor='0.7 0.7 0.8'/>
+            </Appearance>
+            <Extrusion creaseAngle='2' crossSection='-0.25 -0.02 -0.25 0.02 0.25 0.02 0.25 -0.02 -0.25 -0.02' scale='1 1 1.2 1.2 0.7 0.7' spine='0 0 0 0 0.02 0 0 0.04 0'/>
+          </Shape>
+        </Transform>
+      </Transform>
+      <Transform USE='EscapeButton'/>
+    </Transform>
+    <ROUTE fromField='touchTime' fromNode='TouchButton' toField='set_startTime' toNode='push'/>
+    <ROUTE fromField='fraction_changed' fromNode='push' toField='set_fraction' toNode='Move'/>
+    <ROUTE fromField='value_changed' fromNode='Move' toField='set_translation' toNode='EscapeButton'/>
+  </Scene>
+</X3D>
\ No newline at end of file