<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:Helvetica;
        panose-1:2 11 5 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        color:black;}
.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>Okay, I’m running make.sh in pythonSAI and collecting errors.  One major one appears to be in PixelTextureObject.setImage().</p><p class=MsoNormal><br>I get errors like:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>  File "rgb_alpha.py", line 120, in <module></p><p class=MsoNormal>    PixelTexture27.setImage([2,2,4,4278190335,4294901760,4294901760,4278190335])</p><p class=MsoNormal>  File "jnius\jnius_export_class.pxi", line 900, in jnius.JavaMultipleMethod.__call__ (jnius\jnius.c:29079)</p><p class=MsoNormal>jnius.JavaException: No methods matching your arguments</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Don, can you provide a matching method in X3DJSAIL? Do I need to provide hex?<br><br></p><p class=MsoNormal>Attached,<br><br>John</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:aono@tut.jp">Masaki Aono</a><br><b>Sent: </b>Friday, August 11, 2017 12:30 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Cc: </b><a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:mwlee@suwon.ac.kr">Myeong Won Lee</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: I played a little. Re: Scene Access Interface:autogeneratingPython</p></div><p class=MsoNormal><o:p> </o:p></p><p><span style='font-family:"Helvetica",sans-serif'>Dear John,</span></p><p><span style='font-family:"Helvetica",sans-serif'>Wow, it works (without errors)! Thank you.</span></p><p><span style='font-family:"Helvetica",sans-serif'>CLASSPATH (environment variable) is as follows:</span></p><p><span style='font-family:"Helvetica",sans-serif'>.;./%PYSAIHOME%/saxon9he.jar;%PYSAIHOME%/X3DJSAIL.3.3.classes.jar</span></p><p><o:p> </o:p></p><p><span style='font-family:"Helvetica",sans-serif'>Sincerely</span></p><p class=MsoNormal><span style='color:black'><o:p> </o:p></span></p><div><p class=MsoNormal><span style='color:black'>On 2017/08/12 1:13, John Carlson wrote:<o:p></o:p></span></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><span style='color:black'>Masaki,<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'><br>Thank you for putting up with errors in my code. I have a new HelloWorld.py for you to try. It may work for you, but it doesn’t work for me.   I get different errors. Could you tell me how you set your CLASSPATH to include X3DJSAIL?  I think I accidentally removed that from my code.  Oops!<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Thanks!<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Attached.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>John<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>$ python HelloWorld.py<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Traceback (most recent call last):<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>  File "HelloWorld.py", line 2, in <module><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>    from X3Dautoclass import *<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>  File "C:\Users\coderextreme\X3DJSONLD\src\main\python\X3Dautoclass.py", line 320, in <module><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>    X3DObject = autoclass('org.web3d.x3d.jsail.Core.X3DObject')<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>  File "C:\Users\coderextreme\AppData\Local\Programs\Python\Python36\lib\site-packages\jnius\reflect.py", line 158, in autoclass<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>    c = find_javaclass(clsname)<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>  File "jnius\jnius_export_func.pxi", line 25, in jnius.find_javaclass (jnius\jnius.c:16918)<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>jnius.JavaException: Class not found b'org/web3d/x3d/jsail/Core/X3DObject'<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='color:black'>From: </span></b><span style='color:black'><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, August 11, 2017 11:49 AM<br><b>To: </b><a href="mailto:aono@tut.jp">Masaki Aono</a><br><b>Cc: </b><a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:mwlee@suwon.ac.kr">Myeong Won Lee</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: I played a little. Re: Scene Access Interface: autogeneratingPython<o:p></o:p></span></p></div><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><div><p class=MsoNormal><span style='color:black'>Thanks everyone for looking at my code.   I think the issue might be a previous set() function defined in the interface returns the interface class type, and then a new set function is called on the interface.   This can be checked by separating the calls to set...() functions into separate calls on the numbered on the numbered object, so they are not chained together.  This can be tested by hand modifying HelloWorld.py and removing the chaining and putting each set() call in a separate statement.  I will try to modify my serializer to do this when I get the chance.   I believe a previous serializer did do this, and it worked!<o:p></o:p></span></p><div><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:black'>John<o:p></o:p></span></p></div></div><div><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><div><p class=MsoNormal><span style='color:black'>On Aug 11, 2017 11:18 AM, "John Carlson" <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<o:p></o:p></span></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'>Masaki, thank you for spending more time with this.  I don't think the functions will be implemented soon by me.   It is complaining about the interface, and the functions are defined in the concrete class ...Object which implements the interface.   I don't think the functions should be declared on the interface, but I could be wrong. Don?  It is possible that a previous set function returns the interface instead of the concrete class object, but I think not, last I checked.<o:p></o:p></span></p><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'>There's something with pyjnius or how X3Dautoclass.py is implemented.<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'>We really need input from the pyjnius community I think.  Or reading of various pyjnius documentation.<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'>I believe my <a href="https://GitHub.com/coderextreme/pythonSAI" target="_blank">https://GitHub.com/coderextreme/pythonSAI</a> project has the beginnings of a pure Python SAI generator that may be worth looking at.<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'> <o:p></o:p></span></p><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'> <o:p></o:p></span></p><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'>On Aug 11, 2017 10:35 AM, "Masaki Aono" <<a href="mailto:aono@tut.jp" target="_blank">aono@tut.jp</a>> wrote:<o:p></o:p></span></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><p>Dear John,</p><p>Thank you very much.</p><p>I think I begin to understand what is happening beneath the HelloWorld.py.</p><p>I could partly succeeded in X3D file output with X3D0.setScene(Scene25)</p><p>from your HelloWorld.py for the functions already implemented (by pynius?) as attached.</p><p>Hopefully, missing functions are to be implemented soon.</p></div></blockquote></div></div><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'> <o:p></o:p></span></p></div></div><div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'>When I say "not finding" it means the functions are implemented.  See X3DJSAIL jsail package.<o:p></o:p></span></p></div><div><div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><p>Sincerely,</p><p>---------------------------------------------------------------</p><p>Minor errors I met (other than :ViewpointObject) </p><p>AttributeError: 'org.web3d.x3d.sai.Shape.X3DMaterialNode' object has no attribute 'setDiffuseColor'</p><p>AttributeError: 'org.web3d.x3d.sai.Texturing.X3DTextureNode' object has no attribute 'setUrl'</p><p>AttributeError: '<a href="http://org.web3d.x3d.sai.Grouping.Tr">org.web3d.x3d.sai.Grouping.Tr</a>ansform' object has no attribute 'addChild'</p><div><p class=MsoNormal style='margin-left:45.6pt'><span style='color:black'> <o:p></o:p></span></p><div><p class=MsoNormal style='margin-left:45.6pt'><span style='color:black'>On 2017/08/11 21:50, John Carlson wrote:<o:p></o:p></span></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><div><p class=MsoNormal style='margin-left:81.6pt'><span style='color:black'> <o:p></o:p></span></p><div><p class=MsoNormal style='margin-left:81.6pt'><span style='color:black'> <o:p></o:p></span></p><div><p class=MsoNormal style='margin-left:81.6pt'><span style='color:black'>On Aug 11, 2017 8:13 AM, "Masaki Aono" <<a href="mailto:aono@tut.jp" target="_blank">aono@tut.jp</a>> wrote:<o:p></o:p></span></p></div></div></div><div><p class=MsoNormal style='margin-left:81.6pt'><span style='color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:81.6pt'><span style='color:black'>I believe that pyjnius is not finding setCenterOfRotation on ViewpointObject.<o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:81.6pt'><span style='color:black'> <o:p></o:p></span></p></div><div><p class=MsoNormal style='margin-left:81.6pt'><span style='color:black'>John<o:p></o:p></span></p></div><div><div><div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'><div><p> </p><p>>>> Viewpoint28 = ViewpointObject().setDEF("ViewUpClose").setCenterOfRotation([0,-1,0]).setDescription("Hello world!").setPosition([0,-1,7])<br>Traceback (most recent call last):<br>  File "<stdin>", line 1, in <module><br>AttributeError: 'org.web3d.x3d.sai.Navigation.X3DViewpointNode' object has no attribute 'setCenterOfRotation'</p><p> </p><p>At this point, I encountered the above error.</p><p>It looks like "setCenterOfRotation" may not be in X3DViewpointNode (I may be wrong).</p><p>Please note that Python 3.6 (which is not Python 2.7) is not a problem here, I think.</p><p style='margin-bottom:12.0pt'>Sincerely,  <br><br></p><p class=MsoNormal style='margin-left:1.2in'><span style='color:black'> <o:p></o:p></span></p><div><p class=MsoNormal style='margin-left:1.2in'><span style='color:black'>On 2017/08/11 8:11, John Carlson wrote:<o:p></o:p></span></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Here is HelloWorld.py as generated from my PythonSerializer.js.   Note that I do not use chained calls.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>This is because I was trying to get pyjnius to work. If we had some way of getting code like this running, it would be great.  I could modify my PythonSerializer.js and perhaps include the serializer in X3DJSAIL.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>My JavaScript serializer does not work in X3DJSAIL yet, and I have not been working on it since my initial attempt.  I have compatible, containable changes to the X3DJSAIL stylesheet so that X3DJSAIL should be able to generate JavaScript “SAI”/Nashorn application code.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>The problem appears to be getting the JavaScript XML parsers integrated with X3DJSAIL. We may be able to use JSON instead: XML -> JSON -> DOM -> python.  The long way around, instead of XML -> DOM -> python.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Or we can just use my serializer in JavaScript, and translate JSON -> DOM -> python. The XML to JSON would be handled by X3dToJson.xslt (X3DJSAIL).<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>I do have examples of Java -> TypeScript and JavaScript, but they don’t work.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>I do not have a Java -> Python translator.  Good luck finding one.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>John<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986" target="_blank">Mail</a> for Windows 10<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><b><span style='color:black'>From: </span></b><span style='color:black'><a href="mailto:brutzman@nps.edu" target="_blank">Don Brutzman</a><br><b>Sent: </b>Thursday, August 10, 2017 5:31 PM<br><b>To: </b><a href="mailto:mwlee@suwon.ac.kr" target="_blank">Myeong Won Lee</a>; <a href="mailto:aono@tut.jp" target="_blank">Masaki Aono</a>; <a href="mailto:roy.walmsley@ntlworld.com" target="_blank">Roy Walmsley</a>; <a href="mailto:yottzumm@gmail.com" target="_blank">John Carlson</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org" target="_blank">X3D Graphics public mailing list</a><br><b>Subject: </b>Scene Access Interface: autogenerating Python<o:p></o:p></span></p></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Myeong Won Lee and Masaki Aono:<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Thank you for meeting today to discuss X3D Object Model transformation by applying an XSLT stylesheet to autogenerate of SAI codebases.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Myeong Won Lee, I also thought that your Unity HAnim player is wonderful.  I recommend that you include some examples in the public release, they will generate strong interest.  Having some public examples while also allowing private examples provides appealing choices and the best possible support for your students.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Here is summary excerpted from this week's Web3D meeting report.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>================================================================<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>3.            Object Model for X3D (OM4X3D)<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>a.            The Object Model for X3D (OM4X3D) is a full set of object-oriented interfaces for all nodes, fields and statements in the X3D Abstract Specification.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>b.            OM4X3D is produced by decorating the X3D XML Schema with carefully structured annotations that describe the entire object-oriented nature of the X3D scene graph. <a href="http://www.web3d.org/specifications/OM4X3D/ObjectModelForX3dCreation.png" target="_blank">http://www.web3d.org/specifications/OM4X3D/ObjectModelForX3dCreation.png</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>c.             Instantiation: Object Model for X3D definitions are explicitly listed in X3DObjectModel 3.3.xml with corresponding XML schema x3dObjectModel.xsd<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>d.            Ongoing public/private dialog using the <a href="mailto:x3d-public@web3D.org" target="_blank">x3d-public@web3D.org</a> mailing list and presentation at Web3D 2017 Conference has been productive. <a href="http://www.web3d.org/specifications/OM4X3D/ObjectModelForX3dMasterClassWeb3dConference2017June7.pdf" target="_blank">http://www.web3d.org/specifications/OM4X3D/ObjectModelForX3dMasterClassWeb3dConference2017June7.pdf</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>e.            Demonstration of strict object model in X3D JSON Encoding, which is 98% complete and undergoing extensive review and testing, initial-draft specification has been prepared.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>f.             Initial implementations are available in JavaScript, Java, and C++.  Also planning to prepare programming-language implementations for C, C#.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>g.            Two new versions for Python are started, with dialog occurring to discern best practices.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>h.            SAI no longer just Script node in Browser object, includes full application-oriented API.  This will lead to some changes and generalizations in 19775-2 Abstract SAI specification.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>i.              Multiple emerging SAI specifications and implementations are shown on updated  draft X3D Specifications Relationships diagram (attached)<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>j.             Implementation: X3D JSON Loader (X3DJSONLD) <a href="https://github.com/coderextreme/X3DJSONLD" target="_blank">https://github.com/coderextreme/X3DJSONLD</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>k.            Implementation: X3D Java Scene Access Interface Library (X3DJSAIL) <a href="http://www.web3d.org/specifications/java/X3dJavaSceneAuthoringInterface.html" target="_blank">http://www.web3d.org/specifications/java/X3dJavaSceneAuthoringInterface.html</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>l.              Under consideration: integration into X3D Abstract Specification 19775-1 to more thoroughly expand on current abstract interface hierarchy.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>m.           Emerging capability: coherent X3D center, multiple different programming languages that offer common design patterns to programmers to create identical scene graphs.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>================================================================<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>The essence of autogeneration is that proper code patterns must first exist.  Once we get a few classes with the design patterns of interest, and generation of a few classes, then creation of all classes follows in a straightforward manner.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>I recommend that the first example we work with is HelloWorld.x3d into .c .cpp .cs and .py source.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>                <a href="http://www.web3d.org/x3d/content/examples/HelloWorld.x3d" target="_blank">http://www.web3d.org/x3d/content/examples/HelloWorld.x3d</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>                <a href="http://www.web3d.org/x3d/content/examples/HelloWorld.html" target="_blank">http://www.web3d.org/x3d/content/examples/HelloWorld.html</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Regarding Python: John Carlson has done intriguing work that auto-translates Java source in X3DJSAIL to Python.  This is interesting because it would keep the codebases closely aligned, making it easier to learn and debug.  Consistency is easily maintained across X3D versions and X3D bugfixes by re-running each distribution.  Flexibility is also possible since each codebase will include custom utility classes, methods and examples.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Next steps for Python: recommend that we<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>- Examine Masaki's work and compare it with the pyjnius conversions.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>- Autogenerate Python library (X3DPSAIL perhaps?) to provide Python codebase support.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>- Iterate until we have a good design pattern for HelloWorld and other exemplars.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>- Create an X3dToPython.xslt stylesheet that can convert someModel.x3d to someModel.py source.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>- run that across all scenes X3D Example Archives, detect and resolve errors, publish builds.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>- make T-shirts  8)<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>As with JavaScript and Java, it is good to use the x3d-public list for this work.  Also suitable for a weekly update reports and monthly telcon item for X3D Working Group.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>all the best, Don<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>-- <o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   <a href="tel:%28831%29%20656-2149" target="_blank">+1.831.656.2149</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'>X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" target="_blank">http://faculty.nps.edu/brutzman</a><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:1.7in'><span style='color:black'> <o:p></o:p></span></p></div></blockquote><p class=MsoNormal style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:1.2in'><span style='color:black'><o:p> </o:p></span></p><pre>-- </pre><pre>******************************************************</pre><pre><span style='font-family:"Yu Gothic",sans-serif'>青野雅樹</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>豊橋技術科学大学</span> <span style='font-family:"Yu Gothic",sans-serif'>情報・知能工学系</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>知識データ工学・情報検索研究室</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>〒</span>441-8580 <span style='font-family:"Yu Gothic",sans-serif'>豊橋市天伯町雲雀ヶ丘</span>1-1</pre><pre><a href="TEL:%280532%29" target="_blank">TEL:(0532)</a> 44-6764</pre><pre>FAX:(0532) 44-6757</pre><pre> </pre><pre>Masaki Aono</pre><pre>Professor</pre><pre>Knowledge Data Engineering Laboratory</pre><pre>Dept. of Computer Science and Engineering</pre><pre>Toyohashi University of Technology</pre><pre>1-1 Hibarigaoka, Tempaku-cho,</pre><pre>Toyohashi-shi, Aichi 441-8580 JAPAN</pre><pre>TEL: 81+532-44-6764</pre><pre>FAX:81+532-44-6757</pre><pre>email: <a href="mailto:aono@tut.jp" target="_blank">aono@tut.jp</a></pre><pre>****************************************************** </pre></div></blockquote></div></div></div></div></blockquote><pre>-- </pre><pre>******************************************************</pre><pre><span style='font-family:"Yu Gothic",sans-serif'>青野雅樹</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>豊橋技術科学大学</span> <span style='font-family:"Yu Gothic",sans-serif'>情報・知能工学系</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>知識データ工学・情報検索研究室</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>〒</span>441-8580 <span style='font-family:"Yu Gothic",sans-serif'>豊橋市天伯町雲雀ヶ丘</span>1-1</pre><pre><a href="TEL:%280532%29" target="_blank">TEL:(0532)</a> 44-6764</pre><pre>FAX:(0532) 44-6757</pre><pre> </pre><pre>Masaki Aono</pre><pre>Professor</pre><pre>Knowledge Data Engineering Laboratory</pre><pre>Dept. of Computer Science and Engineering</pre><pre>Toyohashi University of Technology</pre><pre>1-1 Hibarigaoka, Tempaku-cho,</pre><pre>Toyohashi-shi, Aichi 441-8580 JAPAN</pre><pre>TEL: 81+532-44-6764</pre><pre>FAX:81+532-44-6757</pre><pre>email: <a href="mailto:aono@tut.jp" target="_blank">aono@tut.jp</a></pre><pre>****************************************************** </pre></div></div></blockquote></div><p class=MsoNormal style='margin-left:40.8pt'><span style='color:black'> <o:p></o:p></span></p></div></div></div></blockquote></div></div><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p></blockquote><p class=MsoNormal><span style='color:black'><br><br><o:p></o:p></span></p><pre>-- </pre><pre>******************************************************</pre><pre><span style='font-family:"Yu Gothic",sans-serif'>青野雅樹</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>豊橋技術科学大学</span> <span style='font-family:"Yu Gothic",sans-serif'>情報・知能工学系</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>知識データ工学・情報検索研究室</span></pre><pre><span style='font-family:"Yu Gothic",sans-serif'>〒</span>441-8580 <span style='font-family:"Yu Gothic",sans-serif'>豊橋市天伯町雲雀ヶ丘</span>1-1</pre><pre><a href="TEL:(0532)">TEL:(0532)</a> 44-6764</pre><pre>FAX:(0532) 44-6757</pre><pre><o:p> </o:p></pre><pre>Masaki Aono</pre><pre>Professor</pre><pre>Knowledge Data Engineering Laboratory</pre><pre>Dept. of Computer Science and Engineering</pre><pre>Toyohashi University of Technology</pre><pre>1-1 Hibarigaoka, Tempaku-cho,</pre><pre>Toyohashi-shi, Aichi 441-8580 JAPAN</pre><pre>TEL: 81+532-44-6764</pre><pre>FAX:81+532-44-6757</pre><pre>email: <a href="mailto:aono@tut.jp">aono@tut.jp</a></pre><pre>****************************************************** </pre><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p> </o:p></span></p></div></body></html>