[x3d-public] quick sanity check on X3DJSAIL, KoreanCharacterMotionAnnexD01Jin.x3d

John Carlson yottzumm at gmail.com
Tue Aug 10 15:22:54 PDT 2021


SAIScript.java is attached for your purvue (sp?). It's a real simple 
script that loads the .x3d file, then prints out all the DEFs it 
discovers in the scenegraph.  More development later as we narrow down 
what we want to do.


Looks like there may be an issue with the containerField in the 
humanoid_root of the .x3d file mentioned in the Subject?


Please advise.  I tried "children", but got a second set of errors 
below.  I tried "joints," similar issues.


There are around 38 DEFs in the model, which seems a bit low.  I grabbed 
the model with HAnimMotion.


$ javac -cp ~/pythonSAI/X3DJSAIL.4.0.full.jar SAIScript.java
$ java -cp ~/pythonSAI/X3DJSAIL.4.0.full.jar:. SAIScript
Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: 
Invalid setContainerFieldOverride() value='skeleton', legal values for 
HAnimJoint are containerField_ALTERNATE_VALUES='"children"'
         at 
org.web3d.x3d.jsail.X3DConcreteNode.setContainerFieldOverride(X3DConcreteNode.java:401)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:631)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:247)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:231)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:205)
         at SAIScript.main(SAIScript.java:47)
$ grep skeleton KoreanCharacterMotionAnnexD01Jin.x3d
       <HAnimJoint DEF='hanim_humanoid_root' center='0 30.53 -0.7076' 
containerField='skeleton' name='humanoid_root'>



  $ java -cp ~/pythonSAI/X3DJSAIL.4.0.full.jar:. SAIScript
*** [X3DLoaderDOM error] Parent-child node relationship not found! 
(parent HAnimHumanoid, child HAnimJoint, containerField='children') 
Please report this problem to brutzman at nps.edu
*** [X3DLoaderDOM error] Incorrectly handled X3DJSAIL object 
construction, current elementObject=HAnimHumanoid (HAnimHumanoid), 
child="HAnimJoint", containerField="children", 
java.lang.ClassCastException: class 
org.web3d.x3d.jsail.HAnim.HAnimHumanoid cannot be cast to class 
org.web3d.x3d.sai.Grouping.X3DGroupingNode 
(org.web3d.x3d.jsail.HAnim.HAnimHumanoid and 
org.web3d.x3d.sai.Grouping.X3DGroupingNode are in unnamed module of 
loader 'app')
     This error can be caused by incorrect parent-child node 
relationships or incorrect containerField values.
     X3D node typing is strict, check or validate your scene graph!
     This error can also be caused by X3DLoaderDOM DOM omissions in 
X3DJSAIL. Please report mysterious problems, thank you.

java.lang.ClassCastException: class 
org.web3d.x3d.jsail.HAnim.HAnimHumanoid cannot be cast to class 
org.web3d.x3d.sai.Grouping.X3DGroupingNode 
(org.web3d.x3d.jsail.HAnim.HAnimHumanoid and 
org.web3d.x3d.sai.Grouping.X3DGroupingNode are in unnamed module of 
loader 'app')
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1352)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:247)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:231)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:205)
         at SAIScript.main(SAIScript.java:47)
Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: 
Invalid setContainerFieldOverride() value='joints', legal values for 
HAnimJoint are containerField_ALTERNATE_VALUES='"children"'
         at 
org.web3d.x3d.jsail.X3DConcreteNode.setContainerFieldOverride(X3DConcreteNode.java:401)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:631)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:247)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:231)
         at 
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:205)
         at SAIScript.main(SAIScript.java:47)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: SAIScript.java
Type: text/x-java
Size: 2016 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20210810/90a66c7e/attachment.bin>


More information about the x3d-public mailing list