<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Monaco;
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.apple-converted-space
{mso-style-name:apple-converted-space;}
span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle21
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Not trying to invent anything here, rather point out what is specified (and also common practice). I already gave the relevant links in the X3D 4.0 Architecture governing what is required. Two editorial highlights were suggested as additions to spec prose in another section to avoid any ambiguity and aid clarity. If we decide not to add them (when eventually allowed by ISO rules) that has no effect on the functional descriptions already provided.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>As we proceed through each of the other (many) specifications and upgrade them from X3D 3.2/3.3 to X3D 4.0, similar refinements may prove to be necessary. Consistency across all file encodings and language bindings is possible. If we find a change to the grammar is needed to match, the Architecture remains the governing authoritative reference.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Please note that no change to 3.2/3.3 versions, nor any disservice to authors and developers, is planned or proposed here.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Building on your statement about validators: if any validators are incorrectly flagging as errors any scene definitions that are not errors, that is a validator issue too.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Perhaps worth noting here is that no one has indicated that the precise flexibility of ROUTE placement within node definitions, as defined in X3D Architecture for quite a while, leads to any ambiguity or error in the resulting scene graphs.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hope this helps.<o:p></o:p></p><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>all the best, Don<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>-- <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, navy robotics https://faculty.nps.edu/brutzman<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> vmarchetti@kshell.com <vmarchetti@kshell.com> <br><b>Sent:</b> Saturday, June 10, 2023 12:51 PM<br><b>To:</b> X3D-Public <x3d-public@web3d.org><br><b>Cc:</b> Michalis Kamburelis <michalis.kambi@gmail.com>; Brutzman, Donald (Don) (CIV) <brutzman@nps.edu><br><b>Subject:</b> Re: [x3d-public] Problem in x3dviewscene: ROUTE placement<o:p></o:p></p></div></div><div><div><p class=MsoNormal><o:p> </o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On Jun 10, 2023, at 2:04 PM, Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Well, closer, but not quite there yet. Here is some more “language lawyering.” 8)<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>BLUF: it is important and allowed for ROUTE statements (and prototype statements) to appear in MFNode lists, side by side with other nodes.<o:p></o:p></p></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>I don't judge this this principle is stated the X3D standard. I don't agree that the standard should be edited to make it conform to this principle. The original architects of VRML, later evolved into X3D, introduced the concepts of 'statements' and of nodes, and chose to make the function of connection between diffent parts of a scene graph (which is a hierchical structure of nodes ) defined by ROUTE statements.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>If the standard were to be edited to explicitly conform to this principle, we would also need to modify the formal grammar for ClassicVRML encoding<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal> <a href="https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/gra">https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/gra</a>mmar.html<o:p></o:p></p></div></blockquote></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>In this grammer are definitions:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><i>nodeStatement </i>::= <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><i>node</i> | <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><b>DEF </b><i>nodeNameId node</i> | <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><b>USE</b><i> nodeNameId</i> ; <o:p></o:p></p><div><p class=MsoNormal style='margin-left:.5in'>...<o:p></o:p></p></div></div><div><p class=MsoNormal><i>nodeStatements </i>::= <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><i>nodeStatement</i> | <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><i>nodeStatement nodeStatements</i> ; <o:p></o:p></p><p class=MsoNormal><i>mfnodeValue </i>::= <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><i>nodeStatement</i> | <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><b>[ ]</b> | <o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><b>[</b><i> nodeStatements</i><b> ]</b> ; <o:p></o:p></p><div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>The mfnodeValue grammar would need to have routeStatement added, and the theological questions about whether an MFNode can have only ROUTE statements resolved.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>I think it would be a disservice to our developers to make changes in the formal grammar of our Classic VRML encoding in this way. If there are examples of X3D in Classic VRML encodings with this structure which are not being caught by validators, then that is an issue for the validators.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>Vince Marchetti<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div><p class=MsoNormal style='margin-left:.5in'><br><br><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><div><p class=MsoNormal style='margin-left:.5in'>all the best, Don<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>--<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'>Don Brutzman Naval Postgraduate School, Code USW/Br <span class=apple-converted-space> </span><a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'>Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, navy robotics<span class=apple-converted-space> </span><a href="https://faculty.nps.edu/brutzman">https://faculty.nps.edu/brutzman</a></span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>-----Original Message-----<br>From: Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com">michalis.kambi@gmail.com</a>><span class=apple-converted-space> </span><br>Sent: Friday, June 9, 2023 4:46 PM<br>To: Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>><br>Cc: Joseph D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>>; X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>>;<span class=apple-converted-space> </span><a href="mailto:puk@igraphics.com">puk@igraphics.com</a><br>Subject: Re: [x3d-public] Problem in x3dviewscene: ROUTE placement<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>I do not see any need to change the X3D spec here. For once, it is all correct in X3D spec :) And "Architecture and base components" is consistent with what "Classic VRML encoding" is saying, and both chapters of "Classic VRML encoding" ("4 Concepts" and "Annex A<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>(normative) Grammar") are consistent.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>Joe's model should just be fixed, from what I can tell -- you have to move ROUTE outside of the [ ... ]. It makes sense that MFList [ ... ] should contain only nodes.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>From what I can tell,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'><a href="https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/grammar.html"><span style='color:windowtext;text-decoration:none'>https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/grammar.html</span></a><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>clearly says that ROUTE cannot be part of MFList [ ... ] , and that's OK. You have to place ROUTE within some node (or at top-level).<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>Within MFList [ ... ] you can only have nodes (or USE of nodes). You cannot place ROUTE, EXPORT, IMPORT, PROTO... within MFList [ ... ] and that's OK, that's simple. Let's not break it :)<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>Regards,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>Michalis<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>sob., 10 cze 2023 o 01:30 Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu"><span style='color:windowtext;text-decoration:none'>brutzman@nps.edu</span></a>> napisał(a):<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Thanks for precise response Michalis, very helpful.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> The intent for ROUTE is that it might appear within other nodes. The phrasing in X3D4 Architecture is quite explicit about this:<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> X3D 4.0 Part 1: Architecture and base components, clause 4 Concepts,<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> 4.4.8.2 Routes<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>><span class=apple-converted-space> </span><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.pr"><span style='color:windowtext;text-decoration:none'>https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.pr</span></a><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> oof/Part01/concepts.html#Routes Routes allows an author to<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> declaratively connect the output events of a node to input events of other nodes, providing a way to implement complex behaviors without imperative programming. When a routed output event is fired, the corresponding destination input event receives notification and can process a response to that change. This processing can change the state of the node, generate additional events, or change the structure of the scene graph. Routes may be created declaratively in an X3D file or programmatically via an SAI call.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Routes are not nodes. The ROUTE statement is a construct for establishing event paths between specified fields of nodes. ROUTE statements may either appear at the top level of an X3D file or inside a node wherever fields may appear. A ROUTE statement shall only appear after the definition of the source and destination nodes. Placing a ROUTE statement within a node does not associate it with that node in any way. A ROUTE statement does follow the name scoping rules as described in 4.4.7 Run-time name scope.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> We expect that the prose and grammar in 19776-2/V3.3 Part 2: Classic VRML encoding to be reviewed and refined to match, when we get back to that document and upgrade it to X3D 4.0. I think that the current ClassicVRML spec indeed defers to the Architecture specification:<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> X3D 3.3 Part 2: Classic VRML encoding, clause 4 Concepts, 4.3.2<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Statements, 4.3.2.1 Organization of statements “Any number of ROUTE statements as specified in 4.4.8.2 Routes of ISO/IEC 19775-1.”<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> So changes (corresponding to your accurate note) may need to be made to<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> X3D 3.3 Part 2: Classic VRML encoding, Annex A (normative), Grammar<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>><span class=apple-converted-space> </span><a href="https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/gra"><span style='color:windowtext;text-decoration:none'>https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/gra</span></a>mmar.html<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Wikipedia: Extended Backus–Naur form (EBNF)<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>><span class=apple-converted-space> </span><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FExtended_Backus-Naur_form&data=05%7C01%7Cbrutzman%40nps.edu%7C7944a634bb724328b12d08db69ebfb8b%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C638220234911229713%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000%7C%7C%7C&sdata=hdLwEhTKFzpG3FXM1wqDFmyIoyMkV217bXjrCwbgWqw%3D&reserved=0">https://en.wikipedia.org/wiki/Extended_Backus-Naur_form</a><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> which includes the following EBNF production rules:<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> node ::=<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> nodeTypeId { nodeBody } |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Script { scriptBody } |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ComposedShader {composedShaderBody} |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> PackagedShader {packagedShaderBody} |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ShaderProgram {shaderProgramBody} ;<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> nodeBody ::=<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> nodeBodyElement |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> nodeBodyElement nodeBody |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> empty ;<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> nodeBodyElement ::=<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> initializeOnlyId fieldValue |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> inputOutputId fieldValue |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> initializeOnlyId IS initializeOnlyId |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> inputOnlyId IS inputOnlyId |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> outputOnlyId IS outputOnlyId |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> inputOutputId IS inputOutputId |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> routeStatement |<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> protoStatement ;<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> and<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> routeStatement ::=<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ROUTE nodeNameId . outputOnlyId TO nodeNameId . inputOnlyId ;<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> which, at first glance, looks OK to me from perspective of Joe’s<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> example (and many other examples)…<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Do you have modifications to suggest for the grammar?<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> p.s. I tried to add a Mantis issue for long-term tracking but had trouble getting form to respond properly, will try again another time.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Ensure ClassicVRML grammar matches X3D 4.0 Architecture Concepts and rules.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> In particular, closely examine placement of ROUTE statements.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> all the best, Don<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> --<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Don Brutzman Naval Postgraduate School, Code USW/Br <span class=apple-converted-space> </span><a href="mailto:brutzman@nps.edu"><span style='color:windowtext;text-decoration:none'>brutzman@nps.edu</span></a><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> X3D graphics, virtual worlds, navy robotics<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>><span class=apple-converted-space> </span><a href="https://faculty.nps.edu/brutzman"><span style='color:windowtext;text-decoration:none'>https://faculty.nps.edu/brutzman</span></a><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> -----Original Message-----<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> From: Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com"><span style='color:windowtext;text-decoration:none'>michalis.kambi@gmail.com</span></a>><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Sent: Friday, June 9, 2023 2:11 PM<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> To: Joseph D Williams <<a href="mailto:joedwil@earthlink.net"><span style='color:windowtext;text-decoration:none'>joedwil@earthlink.net</span></a>><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Cc: Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu"><span style='color:windowtext;text-decoration:none'>brutzman@nps.edu</span></a>>; X3D Graphics<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> public mailing list <<a href="mailto:x3d-public@web3d.org"><span style='color:windowtext;text-decoration:none'>x3d-public@web3d.org</span></a>><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Subject: Re: [x3d-public] Problem in x3dviewscene: ROUTE placement<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> The ROUTE cannot go anywhere in the file, in particular you cannot place it inside an MFNode.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>><span class=apple-converted-space> </span><a href="https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/con"><span style='color:windowtext;text-decoration:none'>https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/con</span></a><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> cepts.html<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> : ROUTE is allowed at top-level and in node's body,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> """<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> A node's body consists of any number of field statements, IS statements, ROUTE statements, PROTO statements or EXTERNPROTO statements, in any order.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> """<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> The grammar confirms this precisely:<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>><span class=apple-converted-space> </span><a href="https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/gra"><span style='color:windowtext;text-decoration:none'>https://www.web3d.org/documents/specifications/19776-2/V3.3/Part02/gra</span></a><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> mmar.html<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> :<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> - mfnodeValue is a sequence of nodeStatement<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> - nodeStatement is only "USE ...", "DEF Xxx Node { }" or "Node { }"<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> - only the more general "statement" allows ROUTE (and IMPORT, EXPORT, PROTO...). The "statement" is inside a node (but not in MFNode list).<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Regards,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> Michalis<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> pt., 9 cze 2023 o 22:37 Joseph D Williams <<a href="mailto:joedwil@earthlink.net"><span style='color:windowtext;text-decoration:none'>joedwil@earthlink.net</span></a>> napisał(a):<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Hi All,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > My problem with view3dscene 4.3.0 is that it quits reading upon this sequence:<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > DEF StandAnimation Group {<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > children [<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > DEF StandTimer TimeSensor { … }<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > DEF Stand_r_metatarsalPitch OrientationInterpolator {<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > key [ … ]<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > keyValue [ ... ]} ...<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > ROUTE StandTimer.fraction_changed TO<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Stand_r_ankleRotInterp.set_fraction<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > ]}<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > …<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > When it finds a ROUTE as child of Group. The error is:<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > VRML/X3D: Error when reading, will skip the rest of X3D file:<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Error at line 661 column 6:<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Expected node type or DEF or USE, got keyword "ROUTE"<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Making this construction required.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > DEF StandAnimation Group {<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > children [<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > DEF StandTimer TimeSensor { … }<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > DEF Stand_r_metatarsalPitch OrientationInterpolator {<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > key [ … ]<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > keyValue [ ... ]} ...<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > ]}<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > ROUTE StandTimer.fraction_changed TO<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Stand_r_ankleRotInterp.set_fraction<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > …<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Moving the Route outside the Group.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > I think we went through the gram in detail here and found that placing the statement in this MF should be OK.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Thanks,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Joe<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Clipped for mercy<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > From: x3d-public <<a href="mailto:x3d-public-bounces@web3d.org"><span style='color:windowtext;text-decoration:none'>x3d-public-bounces@web3d.org</span></a>> On Behalf Of Joseph<span class=apple-converted-space> </span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > D<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Williams<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Sent: Friday, June 9, 2023 10:29 AM<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > To: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org"><span style='color:windowtext;text-decoration:none'>x3d-public@web3d.org</span></a>><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Subject: [x3d-public] Problem in x3dviewscene: ROUTE placement<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Error in viewX3dScene processing<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > VRML/X3D: Error when reading, will skip the rest of X3D file: Error at line 661 column 6: Expected node type or DEF or USE, got keyword "ROUTE"<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > I was hoping we could fix this player problem since we determined that a ROUTE statement can go anywhere in the file.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Thanks,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> > Joe<o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> <o:p></o:p></p></div><div><p class=MsoNormal style='margin-left:.5in'>> ><o:p></o:p></p></div><p class=MsoNormal style='margin-left:.5in'><span style='font-size:9.0pt;font-family:"Monaco",serif'>_______________________________________________<br>x3d-public mailing list<br></span><a href="mailto:x3d-public@web3d.org"><span style='font-size:9.0pt;font-family:"Monaco",serif'>x3d-public@web3d.org</span></a><span style='font-size:9.0pt;font-family:"Monaco",serif'><br></span><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"><span style='font-size:9.0pt;font-family:"Monaco",serif'>http://web3d.org/mailman/listinfo/x3d-public_web3d.org</span></a><o:p></o:p></p></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>