<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>1. add motionsEnabled to HAnimHumanoid</div><div><br></div><div>2, change HAnimMotion.channels field type to SFString</div><div><br></div><div>3. change HAnimMotion.joints field type to SFString</div><div><br></div><div>Note that the latter two are required for VRML to differentiate between arrays and strings. Per x3d.py output not being accepted by browsers.</div><div><h3 style="font-size:19.2px;margin-top:14px;color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimHumanoid">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimHumanoid</a></h3><h3 style="font-size:19.2px;margin-top:14px;color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif"><br></h3><h3 style="font-size:19.2px;margin-top:14px;color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">26.3.2 HAnimHumanoid</h3><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">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
}</pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre class="gmail-node" style="margin-left:25px"><font color="#000000"><span style="font-size:11.05px"><br></span></font></pre><pre class="gmail-node" style="margin-left:25px"><font color="#000000"><span style="font-size:11.05px"><br></span></font></pre><pre class="gmail-node" style="margin-left:25px"><font color="#000000"><span style="font-size:11.05px"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion</a><br></span></font></pre></div><div><h2 style="font-size:20.8px;margin-top:18px;color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">26.3.4 HAnimMotion</h2><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">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,∞)
}</pre></div><div>$ diff -c ~/x3d-code/<a href="http://www.web3d.org/specifications/x3d-4.0.xsd">www.web3d.org/specifications/x3d-4.0.xsd</a> /c/x3d-code/<a href="http://www.web3d.org/specifications/x3d-4.0.xsd">www.web3d.org/specifications/x3d-4.0.xsd</a></div><div>*** /c/Users/john/x3d-code/<a href="http://www.web3d.org/specifications/x3d-4.0.xsd">www.web3d.org/specifications/x3d-4.0.xsd</a> 2023-10-31 20:21:30.180107600 -0500</div><div>--- /c/x3d-code/<a href="http://www.web3d.org/specifications/x3d-4.0.xsd">www.web3d.org/specifications/x3d-4.0.xsd</a> 2023-09-22 08:28:03.811239800 -0500</div><div>***************</div><div>*** 5473,5478 ****</div><div>--- 5473,5479 ----</div><div> <xs:enumeration value="modulationTypeDetail"/></div><div> <xs:enumeration value="modulationTypeSystem"/></div><div> <xs:enumeration value="momentsOfInertia"/></div><div>+ <xs:enumeration value="motionsEnabled"/></div><div> <xs:enumeration value="motor1Axis"/></div><div> <xs:enumeration value="motor2Axis"/></div><div> <xs:enumeration value="motor3Axis"/></div><div>***************</div><div>*** 19561,19566 ****</div><div>--- 19562,19568 ----</div><div> <xs:attribute name="jointBindingRotations" type="MFRotation" default="0 0 1 0"/></div><div> <xs:attribute name="jointBindingScales" type="MFVec3f" default="0 0 0"/></div><div> <xs:attribute name="loa" type="loaType" default="-1"/></div><div>+ <xs:attribute name="motionsEnabled" type="MFBool" default=""/></div><div> <xs:attribute name="name" type="xs:NMTOKEN"></div><div> <xs:annotation></div><div> <xs:appinfo>name attribute is ordinarily required, unless this is a USE node</xs:appinfo>***************</div><div>*** 19730,19736 ****</div><div> <xs:complexType></div><div> <xs:complexContent></div><div> <xs:extension base="X3DChildNode"></div><div>! <xs:attribute name="channels" type="MFString"/></div><div> <xs:attribute name="channelsEnabled" type="MFBool"/></div><div> <xs:attribute name="description" type="SFString"/></div><div> <xs:attribute name="enabled" type="SFBool" default="false"/></div><div>--- 19732,19738 ----</div><div> <xs:complexType></div><div> <xs:complexContent></div><div> <xs:extension base="X3DChildNode"></div><div>! <xs:attribute name="channels" type="SFString"/></div><div> <xs:attribute name="channelsEnabled" type="MFBool"/></div><div> <xs:attribute name="description" type="SFString"/></div><div> <xs:attribute name="enabled" type="SFBool" default="false"/></div><div>***************</div><div>*** 19756,19762 ****</div><div> </xs:restriction></div><div> </xs:simpleType></div><div> </xs:attribute></div><div>! <xs:attribute name="joints" type="MFString"/></div><div> <xs:attribute name="loa" type="loaType" default="-1"/></div><div> <xs:attribute name="loop" type="SFBool" default="false"/></div><div> <xs:attribute name="name" type="xs:NMTOKEN"></div><div>--- 19758,19764 ----</div><div> </xs:restriction></div><div> </xs:simpleType></div><div> </xs:attribute></div><div>! <xs:attribute name="joints" type="SFString"/></div><div> <xs:attribute name="loa" type="loaType" default="-1"/></div><div> <xs:attribute name="loop" type="SFBool" default="false"/></div><div> <xs:attribute name="name" type="xs:NMTOKEN"></div><div>***************</div><div>*** 25843,25846 ****</div><div> </xs:complexType></div><div> </xs:element></div><div> <!--======================================================================--></div><div>! </xs:schema></div><div>\ No newline at end of file</div><div>--- 25845,25848 ----</div><div> </xs:complexType></div><div> </xs:element></div><div> <!--======================================================================--></div><div>! </xs:schema></div></div></div></div></div></div></div>