1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "https://www.web3d.org/specifications/x3d-3.2.dtd">
|
3 | <X3D profile='Immersive' version='3.2' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.2.xsd'> |
4 | <head> |
5 | <meta name='title' content='FollowerExternalPrototypeDeclarations.x3d'/> |
6 | <meta name='description' content='X3D Follower example'/> |
7 | <meta name='creator' content='Herbert Stocker'/> |
8 | <meta name='translator' content='Don Brutzman'/> |
9 | <meta name='created' content='18 April 2006'/> |
10 | <meta name='translated' content='10 April 2012'/> |
11 | <meta name='modified' content='20 October 2019'/> |
12 | <meta name='reference' content='FollowerPrototypeDeclarations.x3d'/> |
13 | <meta name='reference' content='originals/Chasers.wrl'/> |
14 | <meta name='reference' content='originals/Dampers.wrl'/> |
15 | <meta name='reference' content='Stocker_06_Followers.pdf'/> |
16 | <meta name='reference' content='http://www.hersto.com/Publications/Followers'/> |
17 | <meta name='requires' content='X3D version 3.2 or greater'/> |
18 | <meta name='subject' content='X3D Follower Chaser Damper'/> |
19 | <meta name=' warning ' content=' under development '/> |
20 | <meta name=' TODO ' content=' Rename and test these prototypes to match final names in X3D Specification Followers Component '/> |
21 | <meta name=' TODO ' content=' Ensure full coverage of follower nodes in order to provide backwards compatibility with X3D v3.0 and v3.1. '/> |
22 | <meta name='reference' content='https://www.web3d.org/x3d/specifications/ISO-IEC-19775-1.2-X3D-AbstractSpecification/Part01/components/followers.html'/> |
23 | <meta name='reference' content='https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html'/> |
24 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/Basic/Followers/FollowerExternalPrototypeDeclarations.x3d'/> |
25 | <meta name='generator' content='Vrml97ToX3dNist, http://ovrt.nist.gov/v2_x3d.html'/> |
26 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
27 | <meta name='license' content='../../license.html'/> |
28 | </head> |
29 | <Scene> |
30 | <WorldInfo info=' "The ExternProto nodes found in this file implement principles described in the paper" "Linear Filters - Animating Objects in a Flexible and Pleasing Way" "They have been proposed and added to the X3D standard in 2006." "Webpage: "http://www.hersto.net/Followers" "" "Please use the code in this file in any content or application you like" "or modify it in any way." "" "The code here works, however things like detecting when a transition has ended" "and when the node can stop calculating and updating the output or secondary fields" "like set_value or initial_destination are not yet implemented." "Nevertheless, set_destination and value_changed do work." ' title='Follower (Chaser and Damper) nodes'/> |
31 | <!-- ================================================ --> |
32 | <!-- Do not use these! The following ExternProtoDeclares were produced when converting the original examples, and are included for completeness only. --> |
33 | <ExternProtoDeclare name='OrientationChaser' url=' "urn:inet:hersto.net:node:OrientationChaser" "Chasers.x3d#OrientationChaser" "https://www.web3d.org/x3d/content/examples/Basic/Followers/Chasers.x3d#OrientationChaser" "Chasers.wrl#OrientationChaser" "https://www.web3d.org/x3d/content/examples/Basic/Followers/Chasers.wrl#OrientationChaser" "http://www.hersto.net/Followers/Chasers.wrl#OrientationChaser" '> |
34 | <field name='value_changed' type='SFRotation' accessType='outputOnly'/> |
35 | <field name='set_value' type='SFRotation' accessType='inputOnly'/> |
36 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
37 | <field name='set_destination' type='SFRotation' accessType='inputOnly'/> |
38 | <field name='duration' type='SFTime' accessType='initializeOnly'/> |
39 | <field name='initial_destination' type='SFRotation' accessType='initializeOnly'/> |
40 | <field name='initial_value' type='SFRotation' accessType='initializeOnly'/> |
41 | </ExternProtoDeclare> |
42 | <ExternProtoDeclare name='OrientationDamper' url=' "urn:inet:hersto.net:node:OrientationDamper" "Dampers.wrl#OrientationDamper" "http://www.hersto.net/Followers/Dampers.wrl#OrientationDamper" '> |
43 | <field name='isLoaded' type='SFBool' accessType='outputOnly'/> |
44 | <field name='value_changed' type='SFRotation' accessType='outputOnly'/> |
45 | <field name='set_destination' type='SFRotation' accessType='inputOnly'/> |
46 | <field name='initial_destination' type='SFRotation' accessType='initializeOnly'/> |
47 | <field name='order' type='SFInt32' accessType='initializeOnly'/> |
48 | <field name='tau' type='SFFloat' accessType='inputOutput'/> |
49 | <field name='set_value' type='SFRotation' accessType='inputOnly'/> |
50 | <field name='initial_value' type='SFRotation' accessType='initializeOnly'/> |
51 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
52 | <field name='eps' type='SFFloat' accessType='initializeOnly'/> |
53 | </ExternProtoDeclare> |
54 | <ExternProtoDeclare name='PlacementChaser' url=' "Chasers.x3d#PlacementChaser" "https://www.web3d.org/x3d/content/examples/Basic/Followers/Chasers.x3d#PlacementChaser" "Chasers.wrl#PlacementChaser" "https://www.web3d.org/x3d/content/examples/Basic/Followers/Chasers.wrl#PlacementChaser" '> |
55 | <field name='isLoaded' type='SFBool' accessType='outputOnly'/> |
56 | <field name='set_valuePos' type='SFVec3f' accessType='inputOnly'/> |
57 | <field name='set_valueOri' type='SFRotation' accessType='inputOnly'/> |
58 | <field name='set_destinationPos' type='SFVec3f' accessType='inputOnly'/> |
59 | <field name='duration' type='SFTime' accessType='initializeOnly'/> |
60 | <field name='set_destinationOri' type='SFRotation' accessType='inputOnly'/> |
61 | <field name='initial_valuePos' type='SFVec3f' accessType='initializeOnly'/> |
62 | <field name='initial_destinationPos' type='SFVec3f' accessType='initializeOnly'/> |
63 | <field name='valuePos_changed' type='SFVec3f' accessType='outputOnly'/> |
64 | <field name='initial_valueOri' type='SFRotation' accessType='initializeOnly'/> |
65 | <field name='initial_destinationOri' type='SFRotation' accessType='initializeOnly'/> |
66 | <field name='valueOri_changed' type='SFRotation' accessType='outputOnly'/> |
67 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
68 | </ExternProtoDeclare> |
69 | <ExternProtoDeclare name='Position2fDamper' url=' "urn:inet:hersto.net:node:Position2fDamper" "Dampers.wrl#Position2fDamper" "http://www.hersto.net/Followers/Dampers.wrl#Position2fDamper" '> |
70 | <field name='isLoaded' type='SFBool' accessType='outputOnly'/> |
71 | <field name='value_changed' type='SFVec2f' accessType='outputOnly'/> |
72 | <field name='set_destination' type='SFVec2f' accessType='inputOnly'/> |
73 | <field name='initial_destination' type='SFVec2f' accessType='initializeOnly'/> |
74 | <field name='order' type='SFInt32' accessType='initializeOnly'/> |
75 | <field name='tau' type='SFFloat' accessType='inputOutput'/> |
76 | <field name='set_value' type='SFVec2f' accessType='inputOnly'/> |
77 | <field name='initial_value' type='SFVec2f' accessType='initializeOnly'/> |
78 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
79 | <field name='eps' type='SFFloat' accessType='initializeOnly'/> |
80 | </ExternProtoDeclare> |
81 | <ExternProtoDeclare name='Position2fChaser' url=' "urn:inet:hersto.net:node:Position2fChaser" "Chasers.wrl#Position2fChaser" "http://www.hersto.net/Followers/Chasers.wrl#Position2fChaser" '> |
82 | <field name='value_changed' type='SFVec2f' accessType='outputOnly'/> |
83 | <field name='set_value' type='SFVec2f' accessType='inputOnly'/> |
84 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
85 | <field name='set_destination' type='SFVec2f' accessType='inputOnly'/> |
86 | <field name='duration' type='SFTime' accessType='initializeOnly'/> |
87 | <field name='initial_destination' type='SFVec2f' accessType='initializeOnly'/> |
88 | <field name='initial_value' type='SFVec2f' accessType='initializeOnly'/> |
89 | </ExternProtoDeclare> |
90 | <ExternProtoDeclare name='PositionChaser' url=' "urn:inet:hersto.net:node:PositionChaser" "Chasers.wrl#PositionChaser" "http://www.hersto.net/Followers/Chasers.wrl#PositionChaser" '> |
91 | <field name='value_changed' type='SFVec3f' accessType='outputOnly'/> |
92 | <field name='set_value' type='SFVec3f' accessType='inputOnly'/> |
93 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
94 | <field name='set_destination' type='SFVec3f' accessType='inputOnly'/> |
95 | <field name='duration' type='SFTime' accessType='initializeOnly'/> |
96 | <field name='initial_destination' type='SFVec3f' accessType='initializeOnly'/> |
97 | <field name='initial_value' type='SFVec3f' accessType='initializeOnly'/> |
98 | </ExternProtoDeclare> |
99 | <ExternProtoDeclare name='PositionDamper' url=' "urn:inet:hersto.net:node:PositionDamper" "Dampers.wrl#PositionDamper" "http://www.hersto.net/Followers/Dampers.wrl#PositionDamper" '> |
100 | <field name='isLoaded' type='SFBool' accessType='outputOnly'/> |
101 | <field name='value_changed' type='SFVec3f' accessType='outputOnly'/> |
102 | <field name='set_destination' type='SFVec3f' accessType='inputOnly'/> |
103 | <field name='initial_destination' type='SFVec3f' accessType='initializeOnly'/> |
104 | <field name='order' type='SFInt32' accessType='initializeOnly'/> |
105 | <field name='tau' type='SFFloat' accessType='inputOutput'/> |
106 | <field name='set_value' type='SFVec3f' accessType='inputOnly'/> |
107 | <field name='initial_value' type='SFVec3f' accessType='initializeOnly'/> |
108 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
109 | <field name='eps' type='SFFloat' accessType='initializeOnly'/> |
110 | </ExternProtoDeclare> |
111 | <ExternProtoDeclare name='ScalarDamper' url=' "Dampers.x3d#ScalarDamper" "https://www.web3d.org/x3d/content/examples/Basic/Followers/Dampers.x3d#ScalarDamper" "Dampers.wrl#ScalarDamper" "https://www.web3d.org/x3d/content/examples/Basic/Followers/Dampers.wrl#ScalarDamper" '> |
112 | <field name='isLoaded' type='SFBool' accessType='outputOnly'/> |
113 | <field name='value_changed' type='SFFloat' accessType='outputOnly'/> |
114 | <field name='set_destination' type='SFFloat' accessType='inputOnly'/> |
115 | <field name='initial_destination' type='SFFloat' accessType='initializeOnly'/> |
116 | <field name='order' type='SFInt32' accessType='initializeOnly'/> |
117 | <field name='tau' type='SFFloat' accessType='inputOutput'/> |
118 | <field name='set_value' type='SFFloat' accessType='inputOnly'/> |
119 | <field name='transparency_changed' type='SFFloat' accessType='outputOnly'/> |
120 | <field name='initial_value' type='SFFloat' accessType='initializeOnly'/> |
121 | <field name='isActive' type='SFBool' accessType='outputOnly'/> |
122 | <field name='eps' type='SFFloat' accessType='initializeOnly'/> |
123 | </ExternProtoDeclare> |
124 | </Scene> |
125 | </X3D> |
<!--
Color legend: X3D terminology
<X3dNode
field='value'/>
matches XML terminology
<XmlElement
attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
<ProtoDeclare
name='ProtoName'>
<field
name='fieldName'/> </ProtoDeclare>
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->