<p dir="ltr">I do know my script code looks at this some when handling routes and creating functions, but I've forgotten what it does besides create set_* and *_value_changed function.  This is not the proto expander.  The proto expander has a way of reducing route aliases that may be affected.</p>
<div class="gmail_quote">On Jun 17, 2016 9:00 PM, "John Carlson" <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Ah, yeah I don't know what I would do with both set_axis and axis.</p>
<div class="gmail_quote">On Jun 17, 2016 11:07 AM, "Roy Walmsley" <<a href="mailto:roy.walmsley@ntlworld.com" target="_blank">roy.walmsley@ntlworld.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks for the validation, Don. I can confirm the functionality you observed<br>
for BS Contact, Instant Reality and Xj3D. My own viewer is good<br>
(notwithstanding some coding errors!).<br>
<br>
I have a further observation on the file "Rotor.x3d". In particular, the<br>
Script node with the DEF name "Rotor", starting at line 49. Notice that<br>
there are five field definitions.<br>
<br>
The first field definition has the name "set_axis", and the access type<br>
inputOnly. The third field definition has the name "axis", and the access<br>
type inputOutput. What would happen if the file contained a subsequent ROUTE<br>
statement, connecting to the node "Rotor" and field "set_axis"? Which field<br>
will it connect to? It could be either? So is this situation permitted? And,<br>
if not, should the Schematron be updated to check for it?<br>
<br>
Roy<br>
<br>
-----Original Message-----<br>
From: Don Brutzman [mailto:<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>]<br>
Sent: 17 June 2016 15:17<br>
To: Roy Walmsley; John Carlson<br>
Cc: Holger Seelig; <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
Subject: Re: Interesting Example<br>
<br>
Yes, interesting.  Test report follows.<br>
<br>
On 6/17/2016 3:32 AM, Roy Walmsley wrote:<br>
> Hi,<br>
><br>
> I have come across an interesting example, relating to the use of<br>
Scripts/Prototypes.<br>
><br>
> It is on the Cobweb site at <a href="http://titania.create3000.de/cobweb/" rel="noreferrer" target="_blank">http://titania.create3000.de/cobweb/</a>. Scroll<br>
down to examples, navigate to Page 3 of the Examples list, and choose<br>
"Gears".<br>
><br>
> This example is also available on Holger's GitHub site at<br>
<a href="https://github.com/create3000/Library/tree/master/Examples/Gears" rel="noreferrer" target="_blank">https://github.com/create3000/Library/tree/master/Examples/Gears</a>. There are<br>
four files, of which two are XML encoded X3D. The file Rotor.x3d supplies a<br>
prototype declaration that is used within gears.x3d.<br>
><br>
> Try opening the file gears.x3d in different browsers!<br>
<br>
Success: InstantReality, Octaga<br>
Partial success: BS Contact Geo (animates OK but problem with red gear<br>
geometry), FreeWrl (problems with geometry) Load errors: Xj3D (dislikes Full<br>
profile), view3dscene, H3DViewer<br>
<br>
X3D Validator reports the following issues with these 2 scenes:<br>
===============================================================<br>
--------- Commence validation checks for Rotor.x3d ---------<br>
<br>
Performing well-formed XML check...<br>
Checking file:/C:/Users/don/Desktop/Rotor.x3d...<br>
Well-formed XML check: pass<br>
<br>
Performing DOCTYPE check...<br>
[X3dDoctypeChecker] success: valid XML declaration found; success: final X3D<br>
3.3 DOCTYPE found.<br>
<br>
Performing DTD validation...<br>
Checking file:/C:/Users/don/Desktop/Rotor.x3d...<br>
XML DTD validation: pass<br>
<br>
Performing X3D schema validation...<br>
Checking file:/C:/Users/don/Desktop/Rotor.x3d...<br>
Referenced entity at<br>
"nbres:/org/web3d/x3d/externals/schemas/x3d-3.3-Web3dExtensionsPublic.xsd".<br>
XML schema validation: pass<br>
<br>
Performing X3D regular expression (regex) values check...<br>
<br>
Performing X3dToClassicVrml.xslt conversion check...<br>
<br>
Performing X3D Schematron check...<br>
<X3D profile='Full'> is defined, but nodes in scene have actual<br>
profile='Immersive' [/X3D, info] Missing X3D filename in meta tag, should<br>
appear as <meta name='title' content='FileName.x3d'/> [/X3D/head, warning]<br>
url for X3D file should appear in <meta name='identifier'<br>
content='<a href="http://someAddress/somePath/FileName.x3d'/" rel="noreferrer" target="_blank">http://someAddress/somePath/FileName.x3d'/</a>> [/X3D/head, warning]<br>
Missing X3D scene description in meta tag, should appear as <meta<br>
name='description' content='topic sentence plus good summary'/> [/X3D/head,<br>
info] <ProtoInterface name='' DEF=''> <field name='angle' value=''/> field<br>
declaration is missing initialization value<br>
[/X3D/Scene/ProtoDeclare/ProtoInterface/field[4], error] <ProtoInterface<br>
name='' DEF=''> <field name='loop' value=''/> SFBool field must have<br>
value='true' or value='false'<br>
[/X3D/Scene/ProtoDeclare/ProtoInterface/field[5], error] <ProtoInterface<br>
name='' DEF=''> <field name='startTime' value=''/> field declaration is<br>
missing initialization value<br>
[/X3D/Scene/ProtoDeclare/ProtoInterface/field[6], error] <ProtoInterface<br>
name='' DEF=''> <field name='pauseTime' value=''/> field declaration is<br>
missing initialization value<br>
[/X3D/Scene/ProtoDeclare/ProtoInterface/field[7], error] <ProtoInterface<br>
name='' DEF=''> <field name='resumeTime' value=''/> field declaration is<br>
missing initialization value<br>
[/X3D/Scene/ProtoDeclare/ProtoInterface/field[8], error] <ProtoInterface<br>
name='' DEF=''> <field name='stopTime' value=''/> field declaration is<br>
missing initialization value<br>
[/X3D/Scene/ProtoDeclare/ProtoInterface/field[9], error] <Script<br>
DEF='Rotor'/> contained source block must start with 'ecmascript:' rather<br>
than 'vrmlscript:'[/X3D/Scene/ProtoDeclare/ProtoBody/Script, error] <Script<br>
DEF='Rotor'/> contained CDATA source block must start with<br>
'ecmascript:'[/X3D/Scene/ProtoDeclare/ProtoBody/Script, error] <Script<br>
DEF='Rotor'> <field name='axis' accessType='inputOutput'/> does not send<br>
output event via assignment statement axis=___;<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[3], warning] <Script<br>
DEF='Rotor'> <field name='angle' accessType='inputOutput'/> does not send<br>
output event via assignment statement angle=___;<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[4], warning]<br>
<br>
--------- Validation checks complete for Rotor.x3d ---------<br>
<br>
--------- Commence validation checks for gears.x3d ---------<br>
<br>
Performing well-formed XML check...<br>
Checking file:/C:/Users/don/Desktop/gears.x3d...<br>
Well-formed XML check: pass<br>
<br>
Performing DOCTYPE check...<br>
[X3dDoctypeChecker] success: valid XML declaration found; success: final X3D<br>
3.0 DOCTYPE found.<br>
<br>
Performing DTD validation...<br>
Checking file:/C:/Users/don/Desktop/gears.x3d...<br>
XML DTD validation: pass<br>
<br>
Performing X3D schema validation...<br>
Checking file:/C:/Users/don/Desktop/gears.x3d...<br>
XML schema validation: pass<br>
<br>
Performing X3D regular expression (regex) values check...<br>
<br>
Performing X3dToClassicVrml.xslt conversion check...<br>
<br>
Performing X3D Schematron check...<br>
<X3D profile='Full'> is defined, but nodes in scene have actual<br>
profile='Immersive' [/X3D, info] url for X3D file should appear in <meta<br>
name='identifier' content='<a href="http://someAddress/somePath/FileName.x3d'/" rel="noreferrer" target="_blank">http://someAddress/somePath/FileName.x3d'/</a>><br>
[/X3D/head, warning] Missing X3D scene description in meta tag, should<br>
appear as <meta name='description' content='topic sentence plus good<br>
summary'/> [/X3D/head, info] <ExternProtoDeclare name="Rotor"/> url array<br>
address(es) missing #Rotor appended [/X3D/Scene/ExternProtoDeclare, warning]<br>
<ExternProtoDeclare name="Rotor"/> url array address(es) missing online http<br>
references [/X3D/Scene/ExternProtoDeclare, info] <ProtoInterface name=''<br>
DEF=''> <field name='creaseAngle' value=''/> field declaration is missing<br>
initialization value [/X3D/Scene/ProtoDeclare/ProtoInterface/field[6],<br>
error] <Coordinate DEF=''/> contains no point data<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/IndexedFaceSet/Coordinate, warning]<br>
<Script DEF=''/> contained source block must start with 'ecmascript:' rather<br>
than 'vrmlscript:'[/X3D/Scene/ProtoDeclare/ProtoBody/Script, error] <Script<br>
DEF=''/> contained CDATA source block must start with<br>
'ecmascript:'[/X3D/Scene/ProtoDeclare/ProtoBody/Script, error] <Script<br>
DEF=''> <field name='teeth' accessType='inputOutput'/> must define function<br>
set_teeth (newValue) [/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[1],<br>
error] <Script DEF=''> <field name='teeth' accessType='inputOutput'/> does<br>
not send output event via assignment statement teeth=___;<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[1], warning] <Script DEF=''><br>
<field name='toothDepth' accessType='inputOutput'/> must define function<br>
set_toothDepth (newValue)<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[2], error] <Script DEF=''><br>
<field name='toothDepth' accessType='inputOutput'/> does not send output<br>
event via assignment statement toothDepth=___;<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[2], warning] <Script DEF=''><br>
<field name='innerRadius' accessType='inputOutput'/> must define function<br>
set_innerRadius (newValue)<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[3], error] <Script DEF=''><br>
<field name='innerRadius' accessType='inputOutput'/> does not send output<br>
event via assignment statement innerRadius=___;<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[3], warning] <Script DEF=''><br>
<field name='outerRadius' accessType='inputOutput'/> must define function<br>
set_outerRadius (newValue)<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[4], error] <Script DEF=''><br>
<field name='outerRadius' accessType='inputOutput'/> does not send output<br>
event via assignment statement outerRadius=___;<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[4], warning] <Script DEF=''><br>
<field name='width' accessType='inputOutput'/> must define function<br>
set_width (newValue) [/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[5],<br>
error] <Script DEF=''> <field name='width' accessType='inputOutput'/> does<br>
not send output event via assignment statement width=___;<br>
[/X3D/Scene/ProtoDeclare/ProtoBody/Script/field[5], warning]<br>
<br>
--------- Validation checks complete for gears.x3d ---------<br>
===============================================================<br>
<br>
> I don't know how you would get on with this one, John, in your prototype<br>
expander.<br>
<br>
wondering why?<br>
<br>
all the best, Don<br>
--<br>
Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   <a href="tel:%2B1.831.656.2149" value="+18316562149" target="_blank">+1.831.656.2149</a><br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
<br>
</blockquote></div>
</blockquote></div>