[x3d-public] Let's debug this file next. Attached.

John Carlson yottzumm at gmail.com
Mon Apr 22 23:54:54 PDT 2019


Don, do not look at any JavaScript files for abstract classes.  They do not affect the python except upstream.
We are trying to debug the python, not the javascript.  We will pickup the JavaScript later.   We can take things out of the generation/generated scripts if you feel it’s necessary.  I’m still trying to get the whole thing running.

Suggested next file to debug:

processSingleScene.pythonValidation:
     [echo] processSingleScene.python C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForWebAuthors\Chapter04ViewingNavigation\Collision.future.py
     [echo] Loading X3D model as .py program, if successful then saving as round-trip .x3d version:
     [exec] Traceback (most recent call last):Warning: meta name newValue="permissions" has an unrecognized value not matching any of the optional string tokens.
     [exec]
     [exec]   File "C:\x3d-code\www.web3d.org\x3d\content\examples\X3dForWebAuthors\Chapter04ViewingNavigation\Collision.future.py", line 118, in <module>
     [exec]     .setTransparency(SFFloat(0.5)) \
     [exec] AttributeError: 'org.web3d.x3d.sai.Navigation.Collision' object has no attribute 'addChild'
     [exec] Result: 1

Note:   Java sai package is referenced.

See imports:

import classpath
from org.web3d.x3d.jsail.Core.X3DObject import X3DObject as X3D
from org.web3d.x3d.jsail.fields.SFStringObject import SFStringObject as SFString
from org.web3d.x3d.jsail.Core.headObject import headObject as head
from org.web3d.x3d.jsail.Core.metaObject import metaObject as meta
from org.web3d.x3d.jsail.Core.SceneObject import SceneObject as Scene
from org.web3d.x3d.jsail.Navigation.NavigationInfoObject import NavigationInfoObject as NavigationInfo
from org.web3d.x3d.jsail.fields.SFFloatObject import SFFloatObject as SFFloat
from org.web3d.x3d.jsail.fields.MFStringObject import MFStringObject as MFString
from org.web3d.x3d.jsail.Navigation.ViewpointObject import ViewpointObject as Viewpoint
from org.web3d.x3d.jsail.fields.SFVec3fObject import SFVec3fObject as SFVec3f
from org.web3d.x3d.jsail.fields.SFRotationObject import SFRotationObject as SFRotation
from org.web3d.x3d.jsail.Navigation.CollisionObject import CollisionObject as Collision
from org.web3d.x3d.jsail.Shape.ShapeObject import ShapeObject as Shape
from org.web3d.x3d.jsail.Geometry3D.CylinderObject import CylinderObject as Cylinder
from org.web3d.x3d.jsail.fields.SFBoolObject import SFBoolObject as SFBool
from org.web3d.x3d.jsail.Shape.AppearanceObject import AppearanceObject as Appearance
from org.web3d.x3d.jsail.Shape.MaterialObject import MaterialObject as Material
from org.web3d.x3d.jsail.Networking.InlineObject import InlineObject as Inline
X3D0 = X3D() \


No sai or abstract X3D imported.  Concrete class is imported

File system:

$ cd org/web3d/x3d/

coderextreme at DESKTOP-DOPK2VD MINGW64 /c/x3d-code/www.web3d.org/x3d/stylesheets/java/src/python/pyjnius/org/web3d/x3d
$ ls
jsail/  tests/


No sai present, yet found in running app.

Deeper search:
coderextreme at DESKTOP-DOPK2VD MINGW64 /c/x3d-code/www.web3d.org/x3d/stylesheets/java/src/python/pyjnius/org
$ find . -type f |xargs grep '\.sai\.'

[ no output, no SAI ]

My conclusion is that PyJNIus is getting to the superclass, probably through the getSuperclass call (see pyjnius/reflect.py for an example), or through a signature.

Now get off my back, dude!

Yes, I did try commenting out the getSuperclass call.

John

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190423/dfb8a73e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Collision.future.py
Type: application/octet-stream
Size: 5644 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20190423/dfb8a73e/attachment-0001.obj>


More information about the x3d-public mailing list