[x3d-public] X3DPSAIL no need to wrap simple types

John Carlson yottzumm at gmail.com
Fri Jul 5 17:31:35 PDT 2019


1.  The first thing I tried was no wrappers.   It didn’t work, so I tried
with wrappers.   Choosing a non-wrapper method forces the search to go to
bottom of the class hierarchy, since there are no matching methods higher.
  That is my best diagnosis of the AttributeError problem.

2.   The Pyjnius mappings are laughably simple,  but there might be
possibilities for extension.  I suggest looking at them in a text editor.
Look in x3dpsail.py.  I also believe that netbeans accepts python, if you
haven’t tried it.   I believe I have removed all references to sai (search
for .sai.) and abstract classes (search for X3D).

I have tried to limit pyjnius from going up the hierarchy in reflect.py
unsuccesfully, I suggest we try in pyjnius proper.

I suggest if you cannot find a proper python environment that you try
mybinder as shown by Andreas and Masaki.

If you want to generate python from .x3d, then use

node .../xml2all.js foo.x3d

I suggest we pursue the problem one attribute at a time.   One, edit the
serializer to remove one attribute, generate and test the python.   I
currently have an outstanding addShaders problem that I need to address.

I know very well that we can do it with primitives, because that’s what the
other serializer does, right?  It’s only the pipelining that causes the
problem.   It’s like if you stick a variable in the way, the wrapper
problem is solved.

I have checked in various X3D files and you can generate java from those.

I don’t have a solution for the “passed” problem, so I suggest we focus on
that.  I have posted very simple examples which may be converted to java
for testing.   You will want to checkout minimal.py from
https://github.com/carlsonsolutiondesign/x3dpsail there is also a file
there that uses it.   No setters or abstract types mentioned.

On Fri, Jul 5, 2019 at 2:15 PM Brutzman, Donald (Don) (CIV) <
brutzman at nps.edu> wrote:

> Hi John. Frustration at this ongoing PYJNIUS challenge is understandable
> and something that we share.
>
> This purpose of my response was to follow up on your reply listing fields
> that you were wrapping.  You provided a list of simple fields that you were
> wrapping with SF object type. For each one My reply provided you the
> reference in the X3DJSAIL javadoc that showed the appropriate method was
> already available for invoking those with simple values. Thus no wrapping
> needed. I also provided links to corresponding tooltips, which in turn
> provide convenient links to spec, schemas and other references. This
> response was intended to facilitate your troubleshooting and explain why
> wrappers are not needed in those cases.  Thus once again, the bottom line
> on that topic is that there should be zero need to ever wrap simple types
> values in python source code.
>
> I am back from multiple travels and look forward to the possibility of
> some debug sessions over the phone. The challenge remains getting PYJNIUS
> mappings aligned, not extending or fixing the underlying X3DJSAIL.
> Providing many cases of HelloWorld.py alternatives unfortunately does not
> help much (and is not repeatable by me) when there is no accompanying
> python interpreter trace back of what the problem is.
>
> All of the JAVA examples work, so the return types within the X3DJSAIL
> library are proven correct.
>
> I look forward to further step by step sleuthing to figure this out.
> Getting rid of abstract types in the PYJNIUS mapping is an important step.
> Inspecting the email trail does not make it clear whether you have done
> that.  You are making changes that I don’t have visibility into, so better
> synchronization is needed. Hope this explanation helps.
>
> v/r Don
>
> v/r Don
>
> Sent from my handheld device
>
> On Jul 4, 2019, at 19:20, John Carlson <yottzumm at gmail.com> wrote:
>
> What is the purpose of sending me these links?  What is your goal? To have
> me conform to SAI?  I suggest that you conform to SAI return types in your
> X3DJSAIL concrete and abstract classes.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190705/89a55e2e/attachment-0001.html>


More information about the x3d-public mailing list