[x3d-public] [h-anim] gaps in HAnim 1.0, 2.0 segment name aliases

Brutzman, Donald (Don) (CIV) brutzman at nps.edu
Tue Feb 26 12:32:17 PST 2019


Joe, thank you for all of these recommended alias mappings from V1 to V2.  I think that task is now complete.

They all look good and are all integrated in X3D XML 4.0 schema and corresponding X3DUOM.  Also added more diagnostics, which located and let me clean up a few left/right (l_/r_) mismatches.

Updated and uploaded this morning at

http://www.web3d.org/specifications
http://www.web3d.org/specifications/x3d-4.0.xsd
http://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0.html
http://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml

Next step will be to integrate alias values and add some utility methods in X3DJSAIL to strictly validate (prefixing modelname_, appending _view _pt _tip to site values, confirming parent-child relationships correct).  Another useful utility method will be to compute distance between parent-child joint locations in order to check (or confirm) segment length.

Once X3DJSAIL is caught up to new changes, we can copy/change current (X3D v3.3 HAnim 1.0 examples) to (X3D v4.0 HAnim 2.0).
As long discussed, probably time to establish a new archive for that and for MOCAP.
http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation

If we finish a collection of default joint offsets, we should be able to similarly integrate them and autogenerate the example humanoid in the specification.  As discussed, thanks for pressing on with that task.

Incidentally, in future HAnim 2.1, am thinking that we might do well to omit the model_name prefix (joe_l_carpal is redundant if HAnimHumanoid name is "joe", thus a potential source of error) and keep those suffix values in a separate field (again avoiding potential validation errors).  Thus perhaps add a field like:

   [in out] SFString type "point" ["view" | "point" | "tip | ...]

On 2/5/2019 4:19 PM, Joseph D Williams wrote:
> * TODO include aliases for HAnim 1.0 names to preceding enumerations:
> 
> v2 segment name shown following alias (v1) name
> 
> (looks ok at first listing but needs check for thumbs)

<xs:attribute name="alias" type="xs:string" fixed="l_thumb_metacarpal"/>
l_metacarpal_1

<xs:attribute name="alias" type="xs:string" fixed="l_thumb_proximal"/>
l_carpal_proximal_phalanx_1

<xs:attribute name="alias" type="xs:string" fixed="l_thumb_distal"/>
l_carpal_distal_phalanx_1

<xs:attribute name="alias" type="xs:string" fixed="l_index_metacarpal"/>

l_metacarpal_2
<xs:attribute name="alias" type="xs:string" fixed="l_index_proximal"/>

l_carpal_proximal_phalanx_2
<xs:attribute name="alias" type="xs:string" fixed="l_index_middle"/>

l_carpal_middle_phalanx_2
<xs:attribute name="alias" type="xs:string" fixed="l_index_distal"/>

l_carpal_distal_phalanx_2
<xs:attribute name="alias" type="xs:string" fixed="l_middle_metacarpal"/>

l_metacarpal_3
<xs:attribute name="alias" type="xs:string" fixed="l_middle_proximal"/>

l_carpal_proximal_phalanx_3
<xs:attribute name="alias" type="xs:string" fixed="l_middle_middle"/>

l_carpal_middle_phalanx_3
<xs:attribute name="alias" type="xs:string" fixed="l_middle_distal"/>

l_carpal_distal_phalanx_3

<xs:attribute name="alias" type="xs:string" fixed="l_ring_metacarpal"/>
l_metacarpal_4

<xs:attribute name="alias" type="xs:string" fixed="l_ring_proximal"/>
l_carpal_proximal_phalanx_4

<xs:attribute name="alias" type="xs:string" fixed="l_ring_middle"/>
l_carpal_middle_phalanx_4

<xs:attribute name="alias" type="xs:string" fixed="l_ring_distal"/>
l_carpal_distal_phalanx_4

<xs:attribute name="alias" type="xs:string" fixed="l_pinky_metacarpal"/>
l_metacarpal_5

<xs:attribute name="alias" type="xs:string" fixed="l_pinky_proximal"/>

l_carpal_proximal_phalanx_5

<xs:attribute name="alias" type="xs:string" fixed="l_pinky_middle"/>
l_carpal_middle_phalanx_5

<xs:attribute name="alias" type="xs:string" fixed="l_pinky_distal"/>
l_carpal_distal_phalanx_5

===

<xs:attribute name="alias" type="xs:string" fixed="r_thumb_metacarpal"/>
r_metacarpal_1

<xs:attribute name="alias" type="xs:string" fixed="r_thumb_proximal"/>
r_carpal_proximal_phalanx_1

<xs:attribute name="alias" type="xs:string" fixed="r_thumb_distal"/>
r_carpal_distal_phalanx_1

<xs:attribute name="alias" type="xs:string" fixed="r_index_metacarpal"/>
r_metacarpal_2

<xs:attribute name="alias" type="xs:string" fixed="r_index_proximal"/>
r_carpal_proximal_phalanx_2

<xs:attribute name="alias" type="xs:string" fixed="r_index_middle"/>
r_carpal_middle_phalanx_2

<xs:attribute name="alias" type="xs:string" fixed="r_index_distal"/>
r_carpal_distal_phalanx_2

<xs:attribute name="alias" type="xs:string" fixed="r_middle_metacarpal"/>
r_metacarpal_3

<xs:attribute name="alias" type="xs:string" fixed="r_middle_proximal"/>
r_carpal_proximal_phalanx_3

<xs:attribute name="alias" type="xs:string" fixed="r_middle_middle"/>
r_carpal_middle_phalanx_3

<xs:attribute name="alias" type="xs:string" fixed="r_middle_distal"/>
r_carpal_distal_phalanx_3

<xs:attribute name="alias" type="xs:string" fixed="r_ring_metacarpal"/>
r_metacarpal_4

<xs:attribute name="alias" type="xs:string" fixed="r_ring_proximal"/>
r_carpal_proximal_phalanx_4

<xs:attribute name="alias" type="xs:string" fixed="r_ring_middle"/>
r_carpal_middle_phalanx_4

<xs:attribute name="alias" type="xs:string" fixed="r_ring_distal"/>
r_carpal_distal_phalanx_4

<xs:attribute name="alias" type="xs:string" fixed="r_pinky_metacarpal"/>
r_metacarpal_5

<xs:attribute name="alias" type="xs:string" fixed="r_pinky_proximal"/>
r_carpal_proximal_phalanx_5

<xs:attribute name="alias" type="xs:string" fixed="r_pinky_middle"/>
r_carpal_middle_phalanx_5

<xs:attribute name="alias" type="xs:string" fixed="r_pinky_distal"/>
r_carpal_distal_phalanx_5

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman


More information about the x3d-public mailing list