<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:944965604;
        mso-list-type:hybrid;
        mso-list-template-ids:-596314398 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Joe, thanks for all the excellent work on aliases.  If you want to continue and integrate corresponding values for object centers and site translations, we can update all these assets further.  Starting-point example values are found in</li></ul><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>* HAnim 1.0 Annex A (informative) Nominal body dimensions and levels of articulation</li></ul><p class=MsoNormal>  http://www.web3d.org/documents/specifications/19774/V1.0/HAnim/BodyDimensionsAndLOAs.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Yes, I am sorting through the Annex A user code (works for v1) and tables along with the Annex B v2 to find agreement in order to use existing ‘nominal’ joint and site locations where appropriate. As you mentioned, yes, let’s include ‘nominal’ joint and site locations in the schema along with  other v1 and v2 information. Now Annex A is a ‘nominal’ male and of course we need at least two general categories with example ‘nominal’ dimensions. Looking at it that way there are many missing  dimensions in Annex A and maybe leave a space in the schema for ‘nominal’ male and ‘nominal’ female? <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So, attached is what I have as the list of all stuff needed for the LOA4 user code. If I can get this complete, then the user code will be easy.<o:p></o:p></p><p class=MsoNormal>Please take a look at this. I really need to walk through this at least once more to check before committing to code.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks and Best, <o:p></o:p></p><p class=MsoNormal>Joe<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Sent: </b>Sunday, March 3, 2019 11:17 PM<br><b>To: </b><a href="mailto:h-anim@web3d.org">Humanoid Animation (HAnim) Working Group</a>; <a href="mailto:joedwil@earthlink.net">Joe D Williams</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:med@web3d.org">Medical working group</a><br><b>Subject: </b>HAnim 1.0, 2.0 joint, segment and featurePoint names implemented inX3DUOM, X3DJSAIL</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Progress report.  Following up on progress with X3Dv4 XML Schema and X3D Unified Object Model (X3DUOM), all of the allowed X3Dv4 / HAnim v2.0 enumerations for jointName, segmentName and featurePointName are now implemented in X3DJSAIL as lists and utility methods.  Accessor methods are also provided for index, Level of Articulation (LOA), alias and parent.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>===================================================================</p><p class=MsoNormal>X3D Java Scene Access Interface Library (X3DJSAIL)</p><p class=MsoNormal>http://www.web3d.org/specifications/java/X3DJSAIL.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X3D Java Scene Access Interface Library (X3DJSAIL) supports programmers with standards-based X3D Java interfaces and objects, all as open source.</p><p class=MsoNormal>===================================================================</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Example documentation:</p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimJointObject.html</p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimJointObject.html#jointNameValues</p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimJointObject.html#getName--</p><p class=MsoNormal>http://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimJointObject.html#setName-java.lang.String-</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>static boolean               hasJointNameAlias(java.lang.String jointName)</p><p class=MsoNormal>                           Whether a alias exists for this jointName</p><p class=MsoNormal>static boolean               hasJointNameIndex(java.lang.String jointName)</p><p class=MsoNormal>                           Whether an index exists for this jointName</p><p class=MsoNormal>static boolean               hasJointNameLoa(java.lang.String jointName)</p><p class=MsoNormal>                           Whether an loa exists for this jointName</p><p class=MsoNormal>static boolean               hasJointNameParent(java.lang.String jointName)</p><p class=MsoNormal>                           Whether a parent exists for this jointName</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>static java.lang.String  getJointNameAlias(java.lang.String jointName)</p><p class=MsoNormal>                                         Get alias for this jointName</p><p class=MsoNormal>static int                         getJointNameIndex(java.lang.String jointName)</p><p class=MsoNormal>                                         Get index for this jointName</p><p class=MsoNormal>static int                         getJointNameLoa(java.lang.String jointName)</p><p class=MsoNormal>                                         Get Level of Articulation (loa) for this jointName</p><p class=MsoNormal>static java.lang.String  getJointNameParent(java.lang.String jointName)</p><p class=MsoNormal>                                         Get parent for this jointName</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>etc. etc.  Similar enumeration lists can be found in HAnimSegment and HAnimSite.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Joe, thanks for all the excellent work on aliases.  If you want to continue and integrate corresponding values for object centers and site translations, we can update all these assets further.  Starting-point example values are found in</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>* HAnim 1.0 Annex A (informative) Nominal body dimensions and levels of articulation</p><p class=MsoNormal>   http://www.web3d.org/documents/specifications/19774/V1.0/HAnim/BodyDimensionsAndLOAs.html</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Looking ahead: next round of X3DJSAIL implementation work will add parent-child validation checks for HAnimJoint, HAnimSegment and HAnimSite nodes.  Might possibly skeleton-tree serialization output as well.  The alias values will allow backwards validation of HAnim 1.0 (X3Dv3) models.  Such capabilities will significantly improve our Quality Assurance (QA) of HAnim models.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We will then work on upgrading X3D Schematron rules and HAnim example scenes to X3Dv4 / HAnim2.0 specifications.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>              X3D Example Archives: Basic, Humanoid Animation</p><p class=MsoNormal>              http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It remains our hope that HAnimsupport v2.0 representations for full anatomical fidelity of skeleton models and BVH-style motion animation will eventually lead to better support for accurate human modeling in medical tools and electronic health records.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Onward we go.  Have fun with Humanoid Animation (HAnim)!   8)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu</p><p class=MsoNormal>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>