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

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


I spent the last 50 minutes preparing a totally different message, and now
I can't seem to find it anywhere!

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

> 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/686786c3/attachment.html>


More information about the x3d-public mailing list