<html 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 http-equiv=Content-Type content="text/html; charset=utf-8"><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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        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:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Java programs which I think produce bad JSON—not same as previous copy that I checked for accuracy.  (but the JSON could be old.  I checked the dates I think).  I am providing what I think is the original JSON, and diffs between all my JSON new and old as jsondiffs.txt.  Repository diffs are below.  You should be able to generate the output JSON by running the programs.  But check the folder where the *.new.json is going.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I was unable to double-check the attachment for X3dHeader… but it should be the right one.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Browser.json is missing a \n between embedded and between in the meta content.  In summary, it looks like trailing MFString quotes (renderable) are missing, \\\\ in Java isn’t translated to \\\\ in JSON, and \n in SFStrings are stripped.  There was something in scripts too, but that is not apparent in the diffs right now.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Good luck.  I already tried patching this. You may have to change your X3dToJava.xslt code as well.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Attached.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Differences in JSON:</p><p class=MsoNormal>-                          "@string":["I don't think so","","he said \"Hi\""],</p><p class=MsoNormal>+                          "@string":["I don't think so","","he said \"Hi"],</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-                          "@string":["I don't think so","","he said \"Hi\""],</p><p class=MsoNormal>+                          "@string":["I don't think so","","he said \"Hi"],</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-                    "@string":["Character entity substitutions:","empty string \"\" skips a line:","","apostrophe ' is &apos;","ampersand & is &amp;","quote mark \" is &quot;","backslash \\ is X3D escape character","double backslash \\\\ is X3D backslash \\ character","Pi Î  is &#928; XML character entity"],</p><p class=MsoNormal>+                    "@string":["Character entity substitutions:","empty string \"\" skips a line:","","apostrophe ' is &apos;","ampersand & is &amp;","quote mark \" is &quot;","backslash \\ is X3D escape character","double backslash \\ is X3D backslash \\ character","Pi Î  is &#928; XML character entity"],</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-                          "@string":["He said, \"Immel did it!\""]</p><p class=MsoNormal>+                          "@string":["He said, \"Immel did it!"]</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>           {</p><p class=MsoNormal>             "@name":"description",</p><p class=MsoNormal>-            "@content":"a script test with embedded \n between single quotes"</p><p class=MsoNormal>+            "@content":"a script test with embedded between single quotes"</p><p class=MsoNormal>           },</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-                          "@string":["Node\"\"\""],</p><p class=MsoNormal>+                          "@string":["Node\""],</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Tuesday, May 23, 2017 9:58 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: X3DJSAIL: Interesting exception, but it could bemyfault.Re:CommentsBlock.</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Tuesday, May 23, 2017 8:14 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: X3DJSAIL: Interesting exception, but it could be myfault.Re:CommentsBlock.<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Comments embedded in red.<o:p></o:p></p><p class=MsoNormal>On 5/22/2017 10:47 PM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> For example, Look at the MFStringObjects in this file.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>online via<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.web3d.org/x3d/content/examples/Basic/X3dSpecifications/X3dHeaderPrototypeSyntaxExamplesIndex.html<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>==============================<o:p></o:p></p><p class=MsoNormal>.x3d<o:p></o:p></p><p class=MsoNormal>         <Text string='"He said, \"Immel did it!\""'/><o:p></o:p></p><p class=MsoNormal>         <!-- alternative: Text string='"He said, \&quot;Immel did it!\&quot;"' --><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>.java<o:p></o:p></p><p class=MsoNormal>         .setGeometry(new TextObject().setString(new MFStringObject("\"He said, \\\"Immel did it!\\\"\"")))<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>         .addComments(" alternative: Text string='\"He said, \\&quot;Immel did it!\\&quot;\"' ")<o:p></o:p></p><p class=MsoNormal><br><span style='color:red'>Ideal Java (please try with XML export)<o:p></o:p></span></p><p class=MsoNormal><span style='color:red'>         .setGeometry(new TextObject().setString(new MFStringObject(new String [] {"He said, \"Immel did it!\""})))<o:p></o:p></span></p><p class=MsoNormal>==============================<o:p></o:p></p><p class=MsoNormal>.json<o:p></o:p></p><p class=MsoNormal>"-children":[<o:p></o:p></p><p class=MsoNormal>   {<o:p></o:p></p><p class=MsoNormal>                "#comment":"note that Collision proxy Shape is not rendered"<o:p></o:p></p><p class=MsoNormal>   },<o:p></o:p></p><p class=MsoNormal>   {<o:p></o:p></p><p class=MsoNormal>                "#comment":"alternative: Text string='\"He said, \\&quot;Immel did it!\\&quot;\"'"<o:p></o:p></p><p class=MsoNormal>   }<o:p></o:p></p><p class=MsoNormal>],<o:p></o:p></p><p class=MsoNormal>"-geometry":<o:p></o:p></p><p class=MsoNormal>   { "Text":<o:p></o:p></p><p class=MsoNormal>                {<o:p></o:p></p><p class=MsoNormal>                  "@string":["He said, \"Immel did it!\""]<o:p></o:p></p><p class=MsoNormal>                }<o:p></o:p></p><p class=MsoNormal>   },<o:p></o:p></p><p class=MsoNormal>==============================<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> First off, they aren’t arrays.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>For the Java, there are multiple ways to create an MFString using X3DJSAIL.  Your preference may vary.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Text/TextObject.html#method.summary<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>TextObject has multiple setters for the Text @string field:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                setString(java.util.ArrayList<java.lang.String> newValue)<o:p></o:p></p><p class=MsoNormal>  <o:p></o:p></p><p class=MsoNormal>                setString(MFStringObject newValue)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                setString(SFStringObject newValue)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                TextObject          setString(java.lang.String newValue)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                TextObject          setString(java.lang.String[] newValue)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Further there are mutliple ways to create an SFStringObject and MFStringObject; 4 constructors and 6 setValue methods each.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/fields/SFStringObject.html<o:p></o:p></p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/fields/MFStringObject.html<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This flexibility makes it easy for java programmers to use whichever data structure they prefer, seldom needing to do their own data conversion (which can be error prone), with strong typing for unambiguous results.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Secondly, they have a awful lot of \’s<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>XML .x3d: must escape quote as \"<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>.java:     must escape backslash as \\ and quote as \" which results in \\\"<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:red'>But if your true goal is ", then it should be \”, which is exactly what you did above!</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>.json:     must escape quote as " as \" or \&quot;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>note that comments are a little different because they are not SF/MFStrings but just text.  So " does not require extra backslash character(s).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I think it is just fine if you are producing X3D -> .java that is a little different, as long as we get correct/consistent results.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:red'>I am not getting correct results.  That is the problem.  I will provide more data/programs.<o:p></o:p></span></p><p class=MsoNormal><span style='color:red'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:red'>John</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> *From: *John Carlson <mailto:yottzumm@gmail.com><o:p></o:p></p><p class=MsoNormal>> *Sent: *Tuesday, May 23, 2017 12:56 AM<o:p></o:p></p><p class=MsoNormal>> *To: *Don Brutzman <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> *Cc: *X3D Graphics public mailing list <mailto:x3d-public@web3d.org><o:p></o:p></p><p class=MsoNormal>> *Subject: *RE: X3DJSAIL: Interesting exception, but it could be my fault.Re:CommentsBlock.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Don, be sure the quotes, escapes etc in the Java generated from these files is what we want.  Also test all the way through X3DJSAIL and compare X3D output to X3D input.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> I gotta get something to eat.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Thanks,<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> John<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Attached.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> *From: *Don Brutzman <mailto:brutzman@nps.edu><o:p></o:p></p><p class=MsoNormal>> *Sent: *Monday, May 22, 2017 11:47 PM<o:p></o:p></p><p class=MsoNormal>> *To: *John Carlson <mailto:yottzumm@gmail.com><o:p></o:p></p><p class=MsoNormal>> *Cc: *X3D Graphics public mailing list <mailto:x3d-public@web3d.org><o:p></o:p></p><p class=MsoNormal>> *Subject: *Re: X3DJSAIL: Interesting exception, but it could be my fault. Re:CommentsBlock.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> On 5/21/2017 2:01 AM, Don Brutzman wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  > these are fixed but there is still a gap in the chain when nested protoypes occur.  not a CommentsBlock problem.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Those issues are now fixed.  Build report:  improved handling of ProtoInstance getNodeByDEF, getFieldType, getAccessType plus additional utility methods.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> =================================================================================================================<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> ProtoInstance utility methods<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/Core/ProtoInstanceObject.html#method.summary<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> hasExternProtoDeclare()<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Determine whether a corresponding ExternProtoDeclare with same name is connected in this scene graph.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> hasProtoDeclare()<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Determine whether a corresponding ProtoDeclare with same name is connected in this scene graph.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> getExternProtoDeclare()<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Provide corresponding ExternProtoDeclare with same name if connected in this scene graph.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> getProtoDeclare()<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Provide corresponding ProtoDeclare with same name if connected in this scene graph.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> =================================================================================================================<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> As a result, test shows support is included for nested ProtoInstance nodes.  Example attached, updated X3DJSAIL deployed.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> These corrections fix some "false negative" warnings on ROUTEs in the archives.  I'll rerun all Java examples tonight to clean them up.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  > On 5/20/2017 7:02 PM, John Carlson wrote:<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >> Have not triaged.  Code is attached.  And so is XML<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >> org.web3d.x3d.sai.InvalidProtoException: ExternProtoDeclare name='CameraShot' with field name='moves' cannot have any initial value (found "[org.web3d.x3d.jsail.Core.CommentsBlock@5cb0d902]"). Instead use ProtoInstance fieldValue to override the original default ProtoDeclare field value.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >> org.web3d.x3d.sai.InvalidProtoException: ExternProtoDeclare name='CameraShot' with field name='moves' cannot have any initial value (found "[org.web3d.x3d.jsail.Core.CommentsBlock@5cb0d902]"). Instead use ProtoInstance fieldValue to override the original default ProtoDeclare field value.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.ExternProtoDeclareObject.setFieldList(ExternProtoDeclareObject.java:331)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.ExternProtoDeclareObject.validate(ExternProtoDeclareObject.java:842)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.SceneObject.validate(SceneObject.java:626)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.X3DObject.validate(X3DObject.java:1880)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.X3DObject.toFileJSON(X3DObject.java:750)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at net.coderextreme.data.CameraExamples.main(CameraExamples.java:80)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >> Exception in thread "main" org.web3d.x3d.sai.InvalidProtoException: ExternProtoDeclare name='CameraShot' with field name='moves' cannot have any initial value (found "[org.web3d.x3d.jsail.Core.CommentsBlock@5cb0d902]"). Instead use ProtoInstance fieldValue to override the original default ProtoDeclare field value.<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.ExternProtoDeclareObject.setFieldList(ExternProtoDeclareObject.java:331)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.ExternProtoDeclareObject.validate(ExternProtoDeclareObject.java:842)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.SceneObject.validate(SceneObject.java:626)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>         at org.web3d.x3d.jsail.Core.X3DObject.validate(X3DObject.java:1880)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at org.web3d.x3d.jsail.Core.X3DObject.toFileJSON(X3DObject.java:750)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >>          at net.coderextreme.data.CameraExamples.main(CameraExamples.java:80)<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  >><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  ><o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>>  > all the best, Don<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> all the best, Don<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> -- <o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal>> X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman<o:p></o:p></p><p class=MsoNormal>> <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don<o:p></o:p></p><p class=MsoNormal>-- <o:p></o:p></p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu<o:p></o:p></p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<o:p></o:p></p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>