<div dir="auto">Understood Joe, I had worked that out last night, and was ready to send an entirely different message, but maybe I had too many mail clients open.</div><div dir="auto"><br></div><div dir="auto">I fumbled too many balls last night.  I should have been working on Jin. </div><div dir="auto"><br></div><div dir="auto">The good news is, I checked in the code at a good point, I hope.  I’ve been backing up to that point, hoping to get the “hay” bundles tied up again.</div><div dir="auto"><br></div><div dir="auto">I’ll start from my 2-3 box examples to see if they import/export clear through blender.  That should allow for faster turnaround and ease frustration.  Now that I’ve solved the extra camera and light problem, things should go faster.</div><div dir="auto"><br></div><div dir="auto">I am contacting local health support here as I had to cancel a whole week of appointments due to COVID.  Rescheduling everything as I can.</div><div dir="auto"><br></div><div dir="auto">Sorry for leaning on you a bit too much today.</div><div dir="auto"><br></div><div dir="auto">I feel like an old white guy.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 24, 2024 at 3:37 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin:0.1rem 0;line-height:1.0">Hi John,</p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<p style="margin:0.1rem 0;line-height:1.0">> <span style="font-size:12pt">This is WRONG!</span></p>
</div>
<p style="margin:0.1rem 0px;line-height:1">> containerField_ALLOWED_VALUES = new String[] { "children" }; // type xs:NMTOKEN</p>
<p style="margin:0.1rem 0px;line-height:1">  </p>

<p style="margin:0.1rem 0;line-height:1.0">The containerField names the 'legal' parent type:  </p>
<p style="margin:0.1rem 0;line-height:1.0">Humanoid can be a child of a node that can have children, like Transform, or the host scene, for instances. So the Humanoid containerField default is 'children' as listed. </p>
<p style="margin:0.1rem 0;line-height:1.0">  </p>
<p style="margin:0.1rem 0;line-height:1.0">Note that the containerField for the first Joint is skeleton, it contains the Joint hierarchy and all following Joint containerField are children. </p>
<p style="margin:0.1rem 0;line-height:1.0">     </p>
<p style="margin:0.1rem 0;line-height:1.0">Humanoid 'children' nodes all have specific names.</p>
<p style="margin:0.1rem 0;line-height:1.0">Humanoid does not show the add/remove children field because no general-purpose nodes wanted </p>
<p style="margin:0.1rem 0;line-height:1.0">only the listed ones, but all is alive and available.</p>
<p style="margin:0.1rem 0;line-height:1.0">Thanks,   </p>
<p style="margin:0.1rem 0;line-height:1.0">Joe</p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>

<div style="border-left:1px solid #aaa;box-sizing:border-box;padding:10px 0 10px 15px;margin:0">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>Sent: Jun 24, 2024 2:47 AM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank">joedwil@earthlink.net</a>>, Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>>, X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>Subject: Re: Isolating problems with HAnimHumanoid.java and X3DUOM, etc.</p>
<p style="margin:0.1rem 0;line-height:1.0"> </p>
<div dir="auto">Weird, sorry, I thought I didn’t send this message.</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Mon, Jun 24, 2024 at 3:58 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:</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:#cccccc">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">The beginning of actually solving the problem.</div>
<div dir="ltr"> </div>
<div dir="ltr">HAnimHumanoid.java:</div>
<div dir="ltr"> </div>
<div>This is WRONG!</div>
<div> </div>
<div dir="ltr">public static final String containerField_DEFAULT_VALUE = "children"; // type xs:NMTOKEN</div>
<div dir="ltr"> </div>
<div>This is WRONG!</div>
<div> </div>
<div>containerField_ALLOWED_VALUES = new String[] { "children" }; // type xs:NMTOKEN</div>
<div> </div>
<div>X3DUOM:</div>
<div> </div>
<div><ConcreteNode name="HAnimHumanoid"></div>
<div>[ snip ]</div>
<div><!-- THIS IS WRONG! --></div>
<div><containerField default="children" type="xs:NMTOKEN"/></div>
<div>[ snip ]</div>
<div>
<div>      </ConcreteNode>  </div>
<div> </div>
<div>[ There's NO children field here!--And that may be ok! ]</div>
<pre style="font-size:11.05px;margin-left:25px;font-family:monospace;color:#000000">HAnimHumanoid : X3DChildNode, X3DBoundedObject {
  SFVec3f    [in,out] center                0 0 0    (-∞,∞)
  SFString   [in,out] description           ""
  SFBool     [in,out] bboxDisplay           FALSE
  MFString   [in,out] info                  []
  MFVec3f    [in,out] jointBindingPositions []       (-∞,∞)
  MFRotation [in,out] jointBindingRotations []       [-1,1] or (-∞,∞)
  MFVec3f    [in,out] jointBindingScales    []       (0,∞)
  MFNode     [in,out] joints                []       [HAnimJoint]
  SFInt32    [in,out] loa                   -1       [-1,4]
  SFNode     [in,out] metadata              NULL     [X3DMetadataObject]
  MFNode     [in,out] motions               []       [HAnimMotion]
  MFBool     [in,out] motionsEnabled        []
  SFString   [in,out] name                  ""
  SFRotation [in,out] rotation              0 0 1 0  [-1,1] or (-∞,∞)
  SFVec3f    [in,out] scale                 1 1 1    (0,∞)
  SFRotation [in,out] scaleOrientation      0 0 1 0  [-1,1] or (-∞,∞)
  MFNode     [in,out] segments              []       [HAnimSegment]
  MFNode     [in,out] sites                 []       [HAnimSite]
  SFString   [in,out] skeletalConfiguration "BASIC"
  MFNode     [in,out] skeleton              []       [HAnimJoint, HAnimSite]
  MFNode     [in,out] skin                  []       [Group, LOD, Shape, Switch, Transform, IndexedFaceSet, IndexedFanSet, IndexedLineSet, IndexedQuadSet, IndexedTriangleSet, IndexedTriangleStripSet]
  SFNode     [in,out] skinBindingCoords     NULL     [Coordinate|CoordinateDouble]
  SFNode     [in,out] skinBindingNormals    NULL     [X3DNormalNode]
  SFNode     [in,out] skinCoord             NULL     [Coordinate|CoordinateDouble]
  SFNode     [in,out] skinNormal            NULL     [X3DNormalNode]
  SFVec3f    [in,out] translation           0 0 0    (-∞,∞)
  SFString   [in,out] version               "2.0"    ["2.0"] 
  MFNode     [in,out] viewpoints            []       [HAnimSite]
  SFBool     [in,out] visible               TRUE
  SFVec3f    []       bboxCenter            0 0 0    (-∞,∞)
  SFVec3f    []       bboxSize              -1 -1 -1 [0,∞) or −1 −1 −1 </pre>
<div><span style="font-size:11.05px;color:#000000">}</span>  </div>
</div>
<div> </div>
<div>======================================================</div>
<div>Here's containerField for Group in X3DUOM. HAnimHumanoid needs something like this.</div>
<div> </div>
<div>            <containerField default="children"                                                                                                                    type="containerFieldChoicesGroupLODShapeTransformSwitch"/></div>
<div> </div>
<div>[ refers to: ]</div>
<div> </div>
<div>
<div>      <SimpleType name="containerFieldChoicesGroupLODShapeTransformSwitch"</div>
<div>                  baseType="xs:NMTOKEN"</div>
<div>                  appinfo="containerFieldChoicesGroupLODShapeTransformSwitch lists the allowed containerField enumeration values for Shape, Transform and LOD nodes: &#34;children&#34; if parent node has abstract type X3DGroupingNode, otherwise &#34;metadata&#34; default."</div>
<div>                  documentation="<a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#containerField" rel="noopener" target="_blank">https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#containerField</a>"></div>
<div>         <enumeration value="children"</div>
<div>                      appinfo="parent node has abstract type X3DGroupingNode"/></div>
<div>         <enumeration value="proxy" appinfo="parent node is Collision"/></div>
<div>         <enumeration value="rootNode" appinfo="parent node is GeoLOD"/></div>
<div>         <enumeration value="shape" appinfo="parent node is CADFace or CollidableShape"/></div>
<div>         <enumeration value="skin" appinfo="parent node is HAnimHumanoid"/></div>
<div>      </SimpleType></div>
</div>
<div>======================================================</div>
<div> </div>
<div>We need something like:</div>
<div> </div>
<div><SimpleType name="containerFieldChoicesHAnimHumanoid"</div>
<div> </div>
<div>with enumerations, then refer to the node in the HAnimHumanoid type.</div>
<div> </div>
<div>Have I isolated the problem, or do I need to step into X3D Schema?</div>
<div> </div>
<div>Hmm?  Do we need a default container field for HAnimHumanoid?  Can we leave off a default?</div>
<div> </div>
<div>I don't want to program XML, no thanks!</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>

<p style="margin:0.1rem 0;line-height:1.0"> </p></blockquote></div></div>