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

John Carlson yottzumm at gmail.com
Mon Jun 24 02:47:32 PDT 2024


Weird, sorry, I thought I didn’t send this message.

On Mon, Jun 24, 2024 at 3:58 AM John Carlson <yottzumm at gmail.com> wrote:

> 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/b3c2ce6c/attachment-0001.html>


More information about the x3d-public mailing list