[x3d-public] Status, X3DPSAIL (another error)

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Mon Apr 29 19:15:36 PDT 2019


1. Looks like you don't have latest X3DJSAIL build, the "permissions" warning was changed a few weeks ago.

   if (newValue.equalsIgnoreCase("permissions"))
	warningMessage += " Suggested meta term: name='accessRights'";

2. Another X3DJSAIL update on the way, improved X3DLoaderObject handling, upload in progress.  You can tell if a new build has occurred by looking at the date on the bottom of the X3DJSAIL page.

3. Looked around for a while, then closely at Collision.x3d - found it in X3D4WA/Chapter04ViewingNavigation

	http://X3dGraphics.com/examples/X3dForWebAuthors/Chapter04ViewingNavigation/Collision.x3d
	http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter04ViewingNavigation/CollisionIndex.html

The original X3D source triggering the proxy warning is

   <Scene>
     <NavigationInfo speed='3' type='"FLY" "WALK" "ANY"'/>
     <Viewpoint description='Outside Tank, Outside Collision Geometry, Blocked' position='0 2 40'/>
     <Viewpoint description='Outside Tank, Below Collision Geometry, Can Fly In' position='0 -4 15'/>
     <Viewpoint description='Inside Tank' orientation='0.21 0.97 -0.14 1.202' position='-1.37 -6.94 0.22'/>
     <Collision>
       <Shape containerField='proxy'>
         <!-- Proxy geometry is not rendered, so we follow it with a duplicate USE node to help see it -->
         <Cylinder DEF='CollisionProxy' bottom='false' height='6' radius='12' top='false'/>
       </Shape>
       <Shape DEF='CollisionProxyVisualization'>
         <Cylinder USE='CollisionProxy'/>
         <Appearance>
           <Material transparency='0.5'/>
         </Appearance>
       </Shape>
       <Inline url='"../KelpForestExhibit/KelpTank.x3d" "http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.x3d" "../KelpForestExhibit/KelpTank.wrl" "http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.wrl"'/>
     </Collision>
   </Scene>

X3DJSAIL ShapeObject (derived from X3Dv4 schema, X3DUOM) indeed allows "proxy" as containerField value

	containerField_ALTERNATE_VALUES = new String[] { "children", "proxy", "shape" }; // type containerFieldChoicesGroupLODShapeTransform

Not clear why pyjnius would re-assign containerField='proxy' from the Shape to the Inline.  Perhaps a bug in the .py generation?

Sure enough, looking at the generated .future python source:

      ) \
      .setProxy(Inline() \
       .setUrl(["../KelpForestExhibit/KelpTank.x3d","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.x3d","../KelpForestExhibit/KelpTank.wrl","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.wrl"]) \

To fix, looks like you need to change converter logic so that results match scene graph above, namely

	.setProxy(Inline()
becomes
	.addChild(Inline()
	
4. Am running another full set of .python validation tonight so we'll have another opinion in the morning.

Thanks John!


On 4/29/2019 6:12 PM, John Carlson wrote:
> This error as morphed into the following (not an error in pyjnius API?).  Fixes welcome.
> 
> $ python Collision.future.py
> 
> Warning: meta name newValue="permissions" has an unrecognized value not matching any of the optional string tokens.
> 
> Traceback (most recent call last):
> 
>    File "Collision.future.py", line 126, in <module>
> 
> .setUrl(MFString(["../KelpForestExhibit/KelpTank.x3d","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.x3d","../KelpForestExhibit/KelpTank.wrl","http://X3dGraphics.com/examples/X3dForWebAuthors/KelpForestExhibit/KelpTank.wrl"])) \
> 
>    File "jnius\jnius_export_class.pxi", line 766, in jnius.JavaMethod.__call__
> 
>    File "jnius\jnius_export_class.pxi", line 843, in jnius.JavaMethod.call_method
> 
>    File "jnius\jnius_utils.pxi", line 91, in jnius.check_exception
> 
> jnius.JavaException: JVM exception occurred: Invalid setContainerFieldOverride() value='proxy', legal values for Inline are containerField_ALTERNATE_VALUES='"children" "watchList"
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
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman


More information about the x3d-public mailing list