<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>Do you plan on removing X3D*Node.class from the X3DJSAIL jar?  This is far too much work and is leading in the WRONG direction. If I don’t import the class in Python application, I’m not using it, as far as I know. I will try to mess with leaving out the from in the import for each class at some point, and just use import as if that sounds like a good plan.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Set you teeth on this problem, which I can’t solve, last I checked (found in pyjnius folder):</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ python abox.future.py</p><p class=MsoNormal>Traceback (most recent call last):</p><p class=MsoNormal>  File "abox.future.py", line 64, in <module></p><p class=MsoNormal>    .setProtoField(SFString("myShape")) \</p><p class=MsoNormal>  File "jnius\jnius_export_class.pxi", line 760, in jnius.JavaMethod.__call__</p><p class=MsoNormal>  File "jnius\jnius_conversion.pxi", line 78, in jnius.populate_args</p><p class=MsoNormal>  File "jnius\jnius_utils.pxi", line 205, in jnius.check_assignable_from</p><p class=MsoNormal>jnius.JavaException: Invalid instance of 'org/web3d/x3d/jsail/X3DConcreteNode' passed for a 'org/web3d/x3d/sai/Core/X3DNode'</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Make sure your up to date with the latest org version (does not use  X3Dautoclass.py).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Sent: </b>Monday, April 22, 2019 10:57 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: [x3d-public] Sample X3D Python API; examplespublishedforcontinuing improvement</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Our messages crossed but are quite similar... we might have the problem surrounded I hope...</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 4/22/2019 8:45 PM, John Carlson wrote:</p><p class=MsoNormal>> This is a more broad problem than pyjnius, and is likely a Java problem that is letting things past the interface contract.  Okay, I will try to explain what the bug is:</p><p class=MsoNormal>> </p><p class=MsoNormal>> setDEF in X3DViewpointNode returns an X3DViewpointNode (interface)</p><p class=MsoNormal>> </p><p class=MsoNormal>> public X3DViewpointNode setDEF(String newValue);</p><p class=MsoNormal>[...]</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Please make sure that you have _no_ references to abstract class X3DViewpointNode anywhere in your code.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The Java source for concrete class ViewpointObject specifically overrides its abstract parent superclass with an @Override annotation.  Inside X3DJSAIL the setDEF() method correctly returns type ViewpointObject.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If we remove all references to X3D*Node abstract classes everywhere and the problem still occurs, then</p><p class=MsoNormal>- perhaps not all of those definitions are removed, or</p><p class=MsoNormal>- perhaps an old file in the path is somehow visible, or</p><p class=MsoNormal>- we have isolated a bug in Pyjnius that we can ask them to fix.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Good luck sir.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>