[x3d-public] Here are proposed changes to XML schema to support x3d.py output validation (it's a long story).
John Carlson
yottzumm at gmail.com
Wed Nov 1 01:23:32 PDT 2023
1. add motionsEnabled to HAnimHumanoid
2, change HAnimMotion.channels field type to SFString
3. change HAnimMotion.joints field type to SFString
Note that the latter two are required for VRML to differentiate between
arrays and strings. Per x3d.py output not being accepted by browsers.
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimHumanoid
26.3.2 HAnimHumanoid
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
}
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion
26.3.4 HAnimMotion
HAnimMotion : X3DChildNode {
SFBool [in] next
SFBool [in] previous
SFString [in,out] channels ""
MFBool [in,out] channelsEnabled []
SFString [in,out] description ""
SFBool [in,out] enabled TRUE
SFInt32 [in,out] endFrame 0 [0,∞)
SFTime [in,out] frameDuration 0.1 (0,∞)
SFInt32 [in,out] frameIncrement 1 (-∞,∞)
SFInt32 [in,out] frameIndex 0 [0,∞)
SFString [in,out] joints ""
SFInt32 [in,out] loa -1 [-1,4]
SFBool [in,out] loop FALSE
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFString [in,out] name ""
SFInt32 [in,out] startFrame 0 [0,∞)
MFFloat [in,out] values [] (-∞,∞)
SFTime [out] cycleTime [0,∞)
SFTime [out] elapsedTime (0,∞)
SFInt32 [out] frameCount [0,∞)
}
$ diff -c ~/x3d-code/www.web3d.org/specifications/x3d-4.0.xsd /c/x3d-code/
www.web3d.org/specifications/x3d-4.0.xsd
*** /c/Users/john/x3d-code/www.web3d.org/specifications/x3d-4.0.xsd
2023-10-31 20:21:30.180107600 -0500
--- /c/x3d-code/www.web3d.org/specifications/x3d-4.0.xsd 2023-09-22
08:28:03.811239800 -0500
***************
*** 5473,5478 ****
--- 5473,5479 ----
<xs:enumeration value="modulationTypeDetail"/>
<xs:enumeration value="modulationTypeSystem"/>
<xs:enumeration value="momentsOfInertia"/>
+ <xs:enumeration value="motionsEnabled"/>
<xs:enumeration value="motor1Axis"/>
<xs:enumeration value="motor2Axis"/>
<xs:enumeration value="motor3Axis"/>
***************
*** 19561,19566 ****
--- 19562,19568 ----
<xs:attribute
name="jointBindingRotations" type="MFRotation" default="0 0 1 0"/>
<xs:attribute
name="jointBindingScales" type="MFVec3f" default="0 0 0"/>
<xs:attribute name="loa"
type="loaType" default="-1"/>
+ <xs:attribute name="motionsEnabled"
type="MFBool" default=""/>
<xs:attribute name="name"
type="xs:NMTOKEN">
<xs:annotation>
<xs:appinfo>name
attribute is ordinarily required, unless this is a USE
node</xs:appinfo>***************
*** 19730,19736 ****
<xs:complexType>
<xs:complexContent>
<xs:extension base="X3DChildNode">
! <xs:attribute name="channels"
type="MFString"/>
<xs:attribute
name="channelsEnabled" type="MFBool"/>
<xs:attribute name="description"
type="SFString"/>
<xs:attribute name="enabled"
type="SFBool" default="false"/>
--- 19732,19738 ----
<xs:complexType>
<xs:complexContent>
<xs:extension base="X3DChildNode">
! <xs:attribute name="channels"
type="SFString"/>
<xs:attribute
name="channelsEnabled" type="MFBool"/>
<xs:attribute name="description"
type="SFString"/>
<xs:attribute name="enabled"
type="SFBool" default="false"/>
***************
*** 19756,19762 ****
</xs:restriction>
</xs:simpleType>
</xs:attribute>
! <xs:attribute name="joints"
type="MFString"/>
<xs:attribute name="loa"
type="loaType" default="-1"/>
<xs:attribute name="loop"
type="SFBool" default="false"/>
<xs:attribute name="name"
type="xs:NMTOKEN">
--- 19758,19764 ----
</xs:restriction>
</xs:simpleType>
</xs:attribute>
! <xs:attribute name="joints"
type="SFString"/>
<xs:attribute name="loa"
type="loaType" default="-1"/>
<xs:attribute name="loop"
type="SFBool" default="false"/>
<xs:attribute name="name"
type="xs:NMTOKEN">
***************
*** 25843,25846 ****
</xs:complexType>
</xs:element>
<!--======================================================================-->
! </xs:schema>
\ No newline at end of file
--- 25845,25848 ----
</xs:complexType>
</xs:element>
<!--======================================================================-->
! </xs:schema>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20231101/c3026da0/attachment.html>
More information about the x3d-public
mailing list