[x3d-public] I played a little. Re: Scene Access Interface: autogenerating Python

John Carlson yottzumm at gmail.com
Fri Aug 11 08:39:51 PDT 2017


Masaki,

Thank you for your continued interest.   I found my old SAI generating code
in https://github.com/coderextreme/pythonSAI/blob/master/old.py .  It's old
and out of date with respect to X3DJSAIL and validation, but it might be
used as the basis for future work.

https://github.com/coderextreme/pythonSAI/blob/master/classes.py is the
current X3Dautoclass.py generating program for X3DJSAIL that might need to
be modified.

On Aug 11, 2017 10:35 AM, "Masaki Aono" <aono at tut.jp> wrote:

> Dear John,
>
> Thank you very much.
>
> I think I begin to understand what is happening beneath the HelloWorld.py.
>
> I could partly succeeded in X3D file output with X3D0.setScene(Scene25)
>
> from your HelloWorld.py for the functions already implemented (by pynius?)
> as attached.
>
> Hopefully, missing functions are to be implemented soon.
>
> Sincerely,
>
> ---------------------------------------------------------------
>
> Minor errors I met (other than :ViewpointObject)
>
> AttributeError: 'org.web3d.x3d.sai.Shape.X3DMaterialNode' object has no
> attribute 'setDiffuseColor'
>
> AttributeError: 'org.web3d.x3d.sai.Texturing.X3DTextureNode' object has
> no attribute 'setUrl'
>
> AttributeError: 'org.web3d.x3d.sai.Grouping.Transform' object has no
> attribute 'addChild'
>
> On 2017/08/11 21:50, John Carlson wrote:
>
>
>
> On Aug 11, 2017 8:13 AM, "Masaki Aono" <aono at tut.jp> wrote:
>
>
> I believe that pyjnius is not finding setCenterOfRotation on
> ViewpointObject.
>
> John
>
>
> >>> Viewpoint28 = ViewpointObject().setDEF("View
> UpClose").setCenterOfRotation([0,-1,0]).setDescription("Hello
> world!").setPosition([0,-1,7])
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> AttributeError: 'org.web3d.x3d.sai.Navigation.X3DViewpointNode' object
> has no attribute 'setCenterOfRotation'
>
>
> At this point, I encountered the above error.
>
> It looks like "setCenterOfRotation" may not be in X3DViewpointNode (I may
> be wrong).
>
> Please note that Python 3.6 (which is not Python 2.7) is not a problem
> here, I think.
>
> Sincerely,
>
>
>
>
> On 2017/08/11 8:11, John Carlson wrote:
>
> Here is HelloWorld.py as generated from my PythonSerializer.js.   Note
> that I do not use chained calls.
>
> 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.
>
>
>
> 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.
>
>
>
> 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.
>
>
>
> 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).
>
>
>
> I do have examples of Java -> TypeScript and JavaScript, but they don’t
> work.
>
>
>
> I do not have a Java -> Python translator.  Good luck finding one.
>
>
>
> John
>
>
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
>
>
> *From: *Don Brutzman <brutzman at nps.edu>
> *Sent: *Thursday, August 10, 2017 5:31 PM
> *To: *Myeong Won Lee <mwlee at suwon.ac.kr>; Masaki Aono <aono at tut.jp>; Roy
> Walmsley <roy.walmsley at ntlworld.com>; John Carlson <yottzumm at gmail.com>
> *Cc: *X3D Graphics public mailing list <x3d-public at web3d.org>
> *Subject: *Scene Access Interface: autogenerating Python
>
>
>
> Myeong Won Lee and Masaki Aono:
>
>
>
> Thank you for meeting today to discuss X3D Object Model transformation by
> applying an XSLT stylesheet to autogenerate of SAI codebases.
>
>
>
> 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.
>
>
>
> Here is summary excerpted from this week's Web3D meeting report.
>
> ================================================================
>
> 3.            Object Model for X3D (OM4X3D)
>
> 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.
>
> 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. http://www.web3d.org/specifica
> tions/OM4X3D/ObjectModelForX3dCreation.png
>
> c.             Instantiation: Object Model for X3D definitions are
> explicitly listed in X3DObjectModel 3.3.xml with corresponding XML schema
> x3dObjectModel.xsd
>
> d.            Ongoing public/private dialog using the x3d-public at web3D.org
> mailing list and presentation at Web3D 2017 Conference has been productive.
> http://www.web3d.org/specifications/OM4X3D/ObjectModelForX3d
> MasterClassWeb3dConference2017June7.pdf
>
> 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.
>
> f.             Initial implementations are available in JavaScript, Java,
> and C++.  Also planning to prepare programming-language implementations for
> C, C#.
>
> g.            Two new versions for Python are started, with dialog
> occurring to discern best practices.
>
> 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.
>
> i.              Multiple emerging SAI specifications and implementations
> are shown on updated  draft X3D Specifications Relationships diagram
> (attached)
>
> j.             Implementation: X3D JSON Loader (X3DJSONLD)
> https://github.com/coderextreme/X3DJSONLD
>
> k.            Implementation: X3D Java Scene Access Interface Library
> (X3DJSAIL) http://www.web3d.org/specifications/java/X3dJavaSceneAuthori
> ngInterface.html
>
> l.              Under consideration: integration into X3D Abstract
> Specification 19775-1 to more thoroughly expand on current abstract
> interface hierarchy.
>
> m.           Emerging capability: coherent X3D center, multiple different
> programming languages that offer common design patterns to programmers to
> create identical scene graphs.
>
> ================================================================
>
>
>
> 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.
>
>
>
> I recommend that the first example we work with is HelloWorld.x3d into .c
> .cpp .cs and .py source.
>
>                 http://www.web3d.org/x3d/content/examples/HelloWorld.x3d
>
>                 http://www.web3d.org/x3d/content/examples/HelloWorld.html
>
>
>
> 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.
>
>
>
> Next steps for Python: recommend that we
>
> - Examine Masaki's work and compare it with the pyjnius conversions.
>
> - Autogenerate Python library (X3DPSAIL perhaps?) to provide Python
> codebase support.
>
> - Iterate until we have a good design pattern for HelloWorld and other
> exemplars.
>
> - Create an X3dToPython.xslt stylesheet that can convert someModel.x3d to
> someModel.py source.
>
> - run that across all scenes X3D Example Archives, detect and resolve
> errors, publish builds.
>
> - make T-shirts  8)
>
>
>
> 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.
>
>
>
> all the best, Don
>
> --
>
> Don Brutzman  Naval Postgraduate School, Code USW/Br
> brutzman at nps.edu
>
> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
> +1.831.656.2149 <%28831%29%20656-2149>
>
> X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzma
> n
>
>
>
>
> --
> ******************************************************
> 青野雅樹
> 豊橋技術科学大学 情報・知能工学系
> 知識データ工学・情報検索研究室
> 〒441-8580 豊橋市天伯町雲雀ヶ丘1-1TEL:(0532) <%280532%29> 44-6764
> FAX:(0532) 44-6757
>
> Masaki Aono
> Professor
> Knowledge Data Engineering Laboratory
> Dept. of Computer Science and Engineering
> Toyohashi University of Technology
> 1-1 Hibarigaoka, Tempaku-cho,
> Toyohashi-shi, Aichi 441-8580 JAPAN
> TEL: 81+532-44-6764
> FAX:81+532-44-6757
> email: aono at tut.jp
> ******************************************************
>
> --
> ******************************************************
> 青野雅樹
> 豊橋技術科学大学 情報・知能工学系
> 知識データ工学・情報検索研究室
> 〒441-8580 豊橋市天伯町雲雀ヶ丘1-1TEL:(0532) <(0532)> 44-6764
> FAX:(0532) 44-6757
>
> Masaki Aono
> Professor
> Knowledge Data Engineering Laboratory
> Dept. of Computer Science and Engineering
> Toyohashi University of Technology
> 1-1 Hibarigaoka, Tempaku-cho,
> Toyohashi-shi, Aichi 441-8580 JAPAN
> TEL: 81+532-44-6764
> FAX:81+532-44-6757
> email: aono at tut.jp
> ******************************************************
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20170811/841b1bd2/attachment-0001.html>


More information about the x3d-public mailing list