[x3d-public] Isolating problems with HAnimHumanoid.java and X3DUOM, etc.

John Carlson yottzumm at gmail.com
Mon Jun 24 01:58:21 PDT 2024


The beginning of actually solving the problem.

HAnimHumanoid.java:

This is WRONG!

public static final String containerField_DEFAULT_VALUE = "children"; //
type xs:NMTOKEN

This is WRONG!

containerField_ALLOWED_VALUES = new String[] { "children" }; // type
xs:NMTOKEN

X3DUOM:

<ConcreteNode name="HAnimHumanoid">
[ snip ]
<!-- THIS IS WRONG! -->
<containerField default="children" type="xs:NMTOKEN"/>
[ snip ]
      </ConcreteNode>

[ There's NO children field here!--And that may be ok! ]

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

}

======================================================
Here's containerField for Group in X3DUOM. HAnimHumanoid needs something
like this.

            <containerField default="children"

          type="containerFieldChoicesGroupLODShapeTransformSwitch"/>

[ refers to: ]

      <SimpleType name="containerFieldChoicesGroupLODShapeTransformSwitch"
                  baseType="xs:NMTOKEN"

appinfo="containerFieldChoicesGroupLODShapeTransformSwitch lists the
allowed containerField enumeration values for Shape, Transform and LOD
nodes: "children" if parent node has abstract type X3DGroupingNode,
otherwise "metadata" default."
                  documentation="
https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#containerField
">
         <enumeration value="children"
                      appinfo="parent node has abstract type
X3DGroupingNode"/>
         <enumeration value="proxy" appinfo="parent node is Collision"/>
         <enumeration value="rootNode" appinfo="parent node is GeoLOD"/>
         <enumeration value="shape" appinfo="parent node is CADFace or
CollidableShape"/>
         <enumeration value="skin" appinfo="parent node is HAnimHumanoid"/>
      </SimpleType>
======================================================

We need something like:

<SimpleType name="containerFieldChoicesHAnimHumanoid"

with enumerations, then refer to the node in the HAnimHumanoid type.

Have I isolated the problem, or do I need to step into X3D Schema?

Hmm?  Do we need a default container field for HAnimHumanoid?  Can we leave
off a default?

I don't want to program XML, no thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20240624/7ce03a4a/attachment.html>


More information about the x3d-public mailing list