<div dir="ltr"><div dir="ltr"><div dir="ltr">You can get the same report from tovrmlx3d.exe, I think Don, see:<div><br></div><div>tovrmlx3d.exe next to the view3dscene.exe<br></div><div><br></div><div>Here is a small taste of what happens on a recent X3DV file:</div><div><br></div><div><div>$ ~/Downloads/view3dscene-4.3.0-win64-x86_64/view3dscene/tovrmlx3d.exe OutputDir/LeifRevised.x3dv 2>&1 |head</div><div>tovrmlx3d: Warning: HAnimHumanoid.joints list was empty, fixed to list all 54 joints</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 9 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 10 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 11 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 12 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 13 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 14 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 15 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 16 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div><div>tovrmlx3d: Warning: X3D: HAnimJoint.skinCoord references not existing coordinate index 17 (while we have only 0 skin coordinates in HAnimHumanoid.skin)</div></div><div><br></div><div>Fills the bill.</div><div><br></div><div>John</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 24, 2023 at 3:19 AM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-520938169939328184"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="m_-520938169939328184WordSection1"><p class="m_-520938169939328184MsoPlainText">1. Michalis, thanks for a great trouble report.<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">I believe the conversion errors are now fixed in X3dToVrml.xslt stylesheet, updated model at<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li class="m_-520938169939328184MsoPlainText"><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3dv" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3dv</a><u></u><u></u></li></ul><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">Unfortunately I discovered that a lot of type checking within that stylesheet isn’t really effective due to a puzzling logic error, so there may well be other errors like this.  More work will likely be needed.<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">Wondering if you have a command-line mode for validating VRML/ClassicVRML models with view3dscene?  Perhaps I might be able to add that to our regression testing build scripts.<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">2. Joe, it's your model, so please send any texture coordinate changes you may have and I will update the .x3d model in the archives.<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><ul style="margin-top:0in" type="disc"><li class="m_-520938169939328184MsoPlainText"><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html</a><u></u><u></u></li><li class="m_-520938169939328184MsoPlainText"><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d</a><u></u><u></u></li></ul><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">Meanwhile there are plenty of warnings from Schematron.  They seem accurate.  The flagged parent-child relationships are either a problem in the model, or else (less likely) a problem in the diagnostics (which are autogenerated from X3DUOM).<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">I thought that possibly they are related to your use of loa=’3’ complexity, but diagnostics looked the same for loa=’4’.<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:8pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">--------- X3D Validator checks commenced for JoeKick.x3d ---------<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Performing well-formed XML check...<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Checking file:/C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d." target="_blank">www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d.</a>..<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Well-formed XML check: pass<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Performing DOCTYPE check...<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">[X3dDoctypeChecker] success: valid XML declaration found.[X3dDoctypeChecker] success: final X3D 4.0 DOCTYPE found.<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Performing DTD validation...<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Checking file:/C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d." target="_blank">www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d.</a>..<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">XML DTD validation: pass<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Performing X3D schema validation...<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Checking file:/C:/x3d-code/<a href="http://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d." target="_blank">www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d.</a>..<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Referenced entity at <a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd" target="_blank">http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd</a>.<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Referenced entity at <a href="http://www.w3.org/2001/XMLSchema.dtd" target="_blank">http://www.w3.org/2001/XMLSchema.dtd</a>.<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Referenced entity at <a href="http://www.w3.org/2001/datatypes.dtd" target="_blank">http://www.w3.org/2001/datatypes.dtd</a>.<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">XML schema validation: pass<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Performing X3D regular expression (regex) values check...<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">X3D regex check: complete<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Performing X3dToX3dvClassicVrmlEncoding.xslt conversion check...<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">Performing X3D Schematron check...<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">X3D version 4.0 is approved by Web3D Consortium and focused on interoperability with HTML5, glTF2.0 Physically Based Rendering (PBR) and Web Audio API, undergoing final administrative review by ISO in 2023. [/X3D, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><meta name='TODO' content='Record information about skin coordinates (found in comment at end of scene) as a structured MetadataSet containing MetadataString nodes'/> [/X3D/head/meta[7], diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> version='2.0' with X3D version='4.0' [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">==================================================================================================================== [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimJoint)           within skeleton hierarchy        = 94[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimSegment)         within skeleton hierarchy        = 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimSite)            within HAnimHumanoid             = 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimSite//Viewpoint) within skeleton hierarchy        = 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(HAnimDisplacer)       within skeleton hierarchy        = 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimJoint   USE='*' containerField = 'joints'/>)     = 94[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSegment USE='*' containerField = 'segments'/>)   = 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSite    USE='*' containerField = 'sites'/>)      = 1[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimHumanoid DEF='Joe_Kick' name='Kick'/> node count(<HAnimSite    DEF='*' name ends with '_view'/>)        = 0[/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">==================================================================================================================== [/X3D/Scene/Group[1]/HAnimHumanoid, diagnostic]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimSite DEF='Joe_RootFront_view' name='RootFront_view'/> is not a recognized name for HAnim2 HAnimSite [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimSegment/HAnimSite, info]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_tarsometatarsal_2' name='l_tarsometatarsal_2'/> has parent HAnimJoint name='l_talocrural' rather than expected parent name='l_cuneonavicular_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint, warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_tarsal_distal_interphalangeal_2' name='l_tarsal_distal_interphalangeal_2'/> has parent HAnimJoint name='l_metatarsophalangeal_2' rather than expected parent name='l_tarsal_proximal_interphalangeal_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint, warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_r_tarsometatarsal_2' name='r_tarsometatarsal_2'/> has parent HAnimJoint name='r_talocrural' rather than expected parent name='r_cuneonavicular_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint, warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_r_tarsal_distal_interphalangeal_2' name='r_tarsal_distal_interphalangeal_2'/> has parent HAnimJoint name='r_metatarsophalangeal_2' rather than expected parent name='r_tarsal_proximal_interphalangeal_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint, warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_acromioclavicular'/> name field is required [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2], error]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_acromioclavicular' name=''/> is not a recognized name for HAnim2 HAnimJoint [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_sternoclavicular' name='l_acromioclavicular'/> DEF value does not contain correctly modified version of name value (for example, DEF='myPrefix_nameValue' e.g. DEF='myPrefix_l_acromioclavicular') - see HAnim section C.2 Humanoid, VRML Binding [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint, error]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_sternoclavicular' name='l_acromioclavicular'/> has parent HAnimJoint name='' rather than expected parent name='l_sternoclavicular', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint, warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_carpometacarpal_1' name='l_carpometacarpal_1'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_1', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[1], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_carpometacarpal_2' name='l_carpometacarpal_2'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_carpometacarpal_3' name='l_carpometacarpal_3'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_3', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_carpometacarpal_4' name='l_carpometacarpal_4'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_4_5', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[4], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_l_carpometacarpal_5' name='l_carpometacarpal_5'/> has parent HAnimJoint name='l_radiocarpal' rather than expected parent name='l_midcarpal_4_5', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[5], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_r_carpometacarpal_1' name='r_carpometacarpal_1'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_1', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[1], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_r_carpometacarpal_2' name='r_carpometacarpal_2'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_2', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[2], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_r_carpometacarpal_3' name='r_carpometacarpal_3'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_3', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_r_carpometacarpal_4' name='r_carpometacarpal_4'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_4_5', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[4], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><HAnimJoint DEF='Joe_r_carpometacarpal_5' name='r_carpometacarpal_5'/> has parent HAnimJoint name='r_radiocarpal' rather than expected parent name='r_midcarpal_4_5', recommend checking model [/X3D/Scene/Group[1]/HAnimHumanoid/HAnimJoint[1]/HAnimJoint[2]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[3]/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint/HAnimJoint[5], warning]<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:7pt;font-family:"Courier New"">--------- X3D Validator checks complete for JoeKick.x3d ---------<u></u><u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:8pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText"><span style="font-size:8pt;font-family:"Courier New""><u></u> <u></u></span></p><p class="m_-520938169939328184MsoPlainText">all the best, Don<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">-- <u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" target="_blank">https://faculty.nps.edu/brutzman</a><u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">-----Original Message-----<br>From: x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> On Behalf Of Michalis Kamburelis<br>Sent: Sunday, July 23, 2023 1:44 PM<br>To: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>Subject: [x3d-public] JoeKick H-Anim example - error in X3D classic encoding</p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">"Joe Kick" example linked from<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/" target="_blank"><span style="color:windowtext;text-decoration:none">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/</span></a> , <a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html" target="_blank"><span style="color:windowtext;text-decoration:none">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html</span></a><u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">, 2 errors:<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">1. The "ClassicVRML" encoding version (<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3dv" target="_blank"><span style="color:windowtext;text-decoration:none">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3dv</span></a><u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">) seems to be incorrectly converted from XML to classic encoding. It contains<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">"""<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">DEF Joe_skull_tip_raiser_action HAnimDisplacer { coordIndex 0 1 2 3 4 5 6 7 8 9 displacements 0 0.15 0 0 ...<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">name "skull_tip_raiser_action"<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">}<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">"""<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">so the coordIndex and displacements fields miss [ ] around their values.<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">"coordIndex" is MFInt32, "displacements" is MFVec3f, they both require [ ] in classic encoding if you want to have a list of arbitrary number of elements. If no [ ] are used, the classic encoding parsers have to assume they contain 1 item (1 integer on "coordIndex", 1 vector == 3 floats on "displacements"). Currently parsing this fails, as parser sees unexpected numbers in the middle of HAnimDisplacer.<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">This problem is not present in XML encoding, where no [ ] are used, the lists are in separate XML attributes.<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">2. The XML encoding version contains invalid number of texture coordinates, we have discussed in previously on this list:<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">X3D: Invalid number of items in an attribute array for shape<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">"Joe_Humanoid/Joe_Kick/Joe_Shape/IndexedFaceSet(Joe_skin_IndexedFaceSet)":<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">Invalid index: 9, but we have 4 items in 2D texture coordinates<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">Regards,<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">Michalis<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><u></u> <u></u></p><p class="m_-520938169939328184MsoPlainText">_______________________________________________<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText">x3d-public mailing list<u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><a href="mailto:x3d-public@web3d.org" target="_blank"><span style="color:windowtext;text-decoration:none">x3d-public@web3d.org</span></a><u></u><u></u></p><p class="m_-520938169939328184MsoPlainText"><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank"><span style="color:windowtext;text-decoration:none">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</span></a><u></u><u></u></p></div></div>_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</div></blockquote></div>