<div dir="auto">For clarification, should I download the LOA4 VRML example in HAnim pt1 Annex A?  I’m wondering how to read VRML into X3DJSAIL or x3d.py? I know I can convert to XML using Michalis’ tool.  Does X3DJSAIL support createX3DFromString?</div><div dir="auto"><br></div><div dir="auto">It would be convenient to provide me with a link</div><div dir="auto"><br></div><div dir="auto">Thanks!</div><div dir="auto"><br></div><div dir="auto">Note on the below…I scraped the DEFs from the model, I didn’t discover them.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 10, 2021 at 5:22 PM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">SAIScript.java is attached for your purvue (sp?). It's a real simple <br>
script that loads the .x3d file, then prints out all the DEFs it <br>
discovers in the scenegraph.  More development later as we narrow down <br>
what we want to do.<br>
<br>
<br>
Looks like there may be an issue with the containerField in the <br>
humanoid_root of the .x3d file mentioned in the Subject?<br>
<br>
<br>
Please advise.  I tried "children", but got a second set of errors <br>
below.  I tried "joints," similar issues.<br>
<br>
<br>
There are around 38 DEFs in the model, which seems a bit low.  I grabbed <br>
the model with HAnimMotion.<br>
<br>
<br>
$ javac -cp ~/pythonSAI/X3DJSAIL.4.0.full.jar SAIScript.java<br>
$ java -cp ~/pythonSAI/X3DJSAIL.4.0.full.jar:. SAIScript<br>
Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: <br>
Invalid setContainerFieldOverride() value='skeleton', legal values for <br>
HAnimJoint are containerField_ALTERNATE_VALUES='"children"'<br>
         at <br>
org.web3d.x3d.jsail.X3DConcreteNode.setContainerFieldOverride(X3DConcreteNode.java:401)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:631)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:247)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:231)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:205)<br>
         at SAIScript.main(SAIScript.java:47)<br>
$ grep skeleton KoreanCharacterMotionAnnexD01Jin.x3d<br>
       <HAnimJoint DEF='hanim_humanoid_root' center='0 30.53 -0.7076' <br>
containerField='skeleton' name='humanoid_root'><br>
<br>
<br>
<br>
  $ java -cp ~/pythonSAI/X3DJSAIL.4.0.full.jar:. SAIScript<br>
*** [X3DLoaderDOM error] Parent-child node relationship not found! <br>
(parent HAnimHumanoid, child HAnimJoint, containerField='children') <br>
Please report this problem to <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
*** [X3DLoaderDOM error] Incorrectly handled X3DJSAIL object <br>
construction, current elementObject=HAnimHumanoid (HAnimHumanoid), <br>
child="HAnimJoint", containerField="children", <br>
java.lang.ClassCastException: class <br>
org.web3d.x3d.jsail.HAnim.HAnimHumanoid cannot be cast to class <br>
org.web3d.x3d.sai.Grouping.X3DGroupingNode <br>
(org.web3d.x3d.jsail.HAnim.HAnimHumanoid and <br>
org.web3d.x3d.sai.Grouping.X3DGroupingNode are in unnamed module of <br>
loader 'app')<br>
     This error can be caused by incorrect parent-child node <br>
relationships or incorrect containerField values.<br>
     X3D node typing is strict, check or validate your scene graph!<br>
     This error can also be caused by X3DLoaderDOM DOM omissions in <br>
X3DJSAIL. Please report mysterious problems, thank you.<br>
<br>
java.lang.ClassCastException: class <br>
org.web3d.x3d.jsail.HAnim.HAnimHumanoid cannot be cast to class <br>
org.web3d.x3d.sai.Grouping.X3DGroupingNode <br>
(org.web3d.x3d.jsail.HAnim.HAnimHumanoid and <br>
org.web3d.x3d.sai.Grouping.X3DGroupingNode are in unnamed module of <br>
loader 'app')<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:1352)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:247)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:231)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:205)<br>
         at SAIScript.main(SAIScript.java:47)<br>
Exception in thread "main" org.web3d.x3d.sai.InvalidFieldValueException: <br>
Invalid setContainerFieldOverride() value='joints', legal values for <br>
HAnimJoint are containerField_ALTERNATE_VALUES='"children"'<br>
         at <br>
org.web3d.x3d.jsail.X3DConcreteNode.setContainerFieldOverride(X3DConcreteNode.java:401)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:631)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:619)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:490)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.toX3dModelInstance(X3DLoaderDOM.java:453)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:247)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:231)<br>
         at <br>
org.web3d.x3d.jsail.X3DLoaderDOM.loadModelFromFileX3D(X3DLoaderDOM.java:205)<br>
         at SAIScript.main(SAIScript.java:47)<br>
<br>
</blockquote></div></div>