[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