[x3d-public] HAnim2 LOA4 Hierarchy from X3DUOM: sleuthing to resolve an HAnimJoint validation error

John Carlson yottzumm at gmail.com
Sun Jan 29 11:04:10 PST 2023


I’ve gotten issues like that before,  but i haven’t used HAnimDisplacer.
So far, they have been mistakes in the HAnim file, not the validation tools.

I’m focused on getting good centers and translations for now.  At least
last night.   My code is a mess.   A more principled approach would be to
leverage X3DUOM, instead of parsing my own files extracted from the
standard.

On Sun, Jan 29, 2023 at 12:19 PM Brutzman, Donald (Don) (CIV) <
brutzman at nps.edu> wrote:

> While testing for deployment, found another glaring error.  From recently
> adjusted JoeKick.x3d model:
>
>
>
>    -
>    https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html
>
>
>
>  <HAnimJoint DEF='Joe_skullbase' center='0 1.63 -0.01' name='skullbase'
> skinCoordIndex='0 1 2 3 4 5 6 7 8 9' skinCoordWeight='1 1 1 1 1 1 1 1 1 1'>
>
>                 <HAnimDisplacer DEF='Joe_skull_tip_raiser_action'
> coordIndex='0 1 2 3 4 5 6 7 8 9' displacements='0 0.15 0 0 0 0.15 -0.1 0
> 0.15 0.1 0 0.05 0 -0.02 0.05 -0.15 0 0 -0.05 0 0 0.15 0 0 0.05 0 0 0 0
> -0.15' name='skull_tip_raiser_action'/>
>
>                 <HAnimJoint DEF='Joe_l_eyelid_joint' center='0.034 1.659
> 0.06' name='l_eyelid_joint'/>
>
>                 <HAnimJoint DEF='Joe_l_eyeball_joint' center='0.034 1.659
> 0.06' name='l_eyeball_joint'/>
>
>                 <HAnimJoint DEF='Joe_l_eyebrow_joint' center='0.034 1.659
> 0.06' name='l_eyebrow_joint'/>
>
>                 <HAnimJoint DEF='Joe_r_eyelid_joint' center='-0.034 1.659
> 0.06' name='r_eyelid_joint'/>
>
>                 <HAnimJoint DEF='Joe_r_eyeball_joint' center='-0.034 1.659
> 0.06' name='r_eyeball_joint'/>
>
>                 <HAnimJoint DEF='Joe_r_eyebrow_joint' center='-0.034 1.659
> 0.06' name='r_eyebrow_joint'/>
>
>                 <HAnimJoint DEF='Joe_temporomandibular' center='0.034
> 1.659 0.06' name='temporomandibular'/>
>
>   </HAnimJoint>
>
>
>
> Which certainly looks legal according to the two governing specifications,
> which both state that HAnimJoint can contain multiple HAnimDisplacer,
> HAnimJoint and HAnimSegment nodes.
>
>    - *X3D4 Architecture, HAnim component, 26.3.3 HAnimJoint*
>    -
>    https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/hanim.html#HAnimJoint
>    - *HAnim2 part 1, 6 Object interfaces, 6.3 Joint*
>    -
>    https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Joint
>
>
>
> HOWEVER, this block produces obscure X3D XML DTD and X3D XML Schema errors
> such as
>
>
>
> Performing DTD validation...
>
> Checking file:/C:/x3d-code/
> www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d...
>
> The content of element type "HAnimJoint" must match
> "(IS?,(MetadataBoolean|MetadataDouble|MetadataFloat|MetadataInteger|MetadataSet|MetadataString|ProtoInstance)?,(HAnimJoint|HAnimSegment|ProtoInstance)*)".
>
> XML DTD validation: fail!
>
>
>
> XML validation started.
>
> Checking file:/C:/x3d-code/
> www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3d...
>
> cvc-complex-type.2.4.a: Invalid content was found starting with element
> 'HAnimDisplacer'. One of '{IS, MetadataBoolean, MetadataDouble,
> MetadataFloat, MetadataInteger, MetadataSet, MetadataString, HAnimJoint,
> HAnimSegment, ProtoInstance}' is expected. [101]
>
> The content of element type "HAnimJoint" must match
> "(IS?,(MetadataBoolean|MetadataDouble|MetadataFloat|MetadataInteger|MetadataSet|MetadataString|ProtoInstance)?,(HAnimJoint|HAnimSegment|ProtoInstance)*)".
> [109]
>
> XML validation finished.
>
>
>
> Quiz question:  what are these cryptic errors telling us?  Look carefully,
> try to understand what these XML tools are saying…
>
>
>
> Quiz hint, found in those diagnostic reports:  *Invalid content was found
> starting with element 'HAnimDisplacer'*
>
>
>
> Quiz answer: neither validation tool is allowing the HAnimJoint content
> model of contained nodes to include HAnimDisplacer… which is a mistake by
> each tool!  The X3D4 and HAnim2 specifications are authoritative, and they
> say OK.
>
>
>
> Therefore, good news: our relentless testing found another validation
> error.  I’ve applied the correction and updated X3D XML DTD, X3D XML Schema
> and corresponding documentation.  These corrections help us with all of our
> other model testing, now and in the future.
>
>
>
> Five-star surprise: this error has persisted through X3D 3.0, 3.1, 3.2,
> 3.3 and 4.0.  Oh my goodness… we are still learning, and we certainly don’t
> have enough models using HAnimDisplacer to force exposure of such an
> issue.  Thanks Joe for continuing with your JoeKick model and other
> examples.
>
>
>
> The journey continues…  updates checked in and deployed.  JoeKick.x3d now
> validates without complaint.  Am restarting the test and deployment cycle,
> onward we go.
>
>
>
> 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 https://
> faculty.nps.edu/brutzman
>
>
>
> *From:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
> *Sent:* Saturday, January 28, 2023 1:19 PM
> *To:* Joseph D Williams <joedwil at earthlink.net>; John Carlson <
> yottzumm at gmail.com>
> *Cc:* X3D Graphics public mailing list <x3d-public at web3d.org>; Brutzman,
> Donald (Don) (CIV) <brutzman at nps.edu>
> *Subject:* HAnim2 LOA4 Hierarchy from X3DUOM
>
>
>
> As part of followup actions from yesterday’s three specific parent-child
> relationship corrections, am now autogenerating the following table using
> X3DUOM.  It should match the international-standard hand-generated HAnim2
> specification for LOA-4 Hierarchy.
>
>
>
> Spot check:
>
>    1. Joint vl5 has parent humanoid_root
>    2. Joint l_sternoclavicular has parent vt1
>    3. Joint r_sternoclavicular has parent vt1
>
>
>
> Am hoping that someone can check that *everything* matches correctly --
> hey, this should match your body too!  Any remaining parent-child
> relationship errors that are similar to yesterday’s errors should stand
> out.  All corrections are most welcome.
>
>
>
> This is another great confirmation test to continue improving our
> confidence when producing and diagnosing the correctness of HAnim models.
> The autogeneration stylesheet and these results are all checked into
> version control, and they are now part of our production chain for X3D4
> validation.  I will continue work on various other autogenerated
> diagnostics (X3D Schematron, X3D Validator, X3D-Edit etc.) and report when
> everything is ready.
>
>
>
> Thanks again to Joe and John for dogged persistence tracking down the
> errors in the first place.  Essential work.
>
>
>
> Have fun with HAnim and X3D!  8)
>
>
>
>
>
> HAnim2 LOA4 Hierarchy from X3DUOM
>
> https://www.web3d.org/x3d/stylesheets/HAnimLOA4HierarchyTable.txt
>
>
>
> Authoritative reference: HAnim version 2, Part 1: Humanoid animation
> (HAnim) architecture,
>
>   clause 4 Concepts, section 4.9.6.4 LOA‑4 hierarchy
>
>
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#Hierarchy4
>
>   clause 4 Concepts, Figure 4.7 — LOA‑4 joints
>
>
> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#f-LOA4Joints
>
>
>
> humanoid_root : sacrum
>
>   sacroiliac : pelvis
>
>   | l_hip : l_thigh
>
>   | | l_knee : l_calf
>
>   | |   l_talocrural : l_talus
>
>   | |     l_talocalcaneonavicular : l_navicular
>
>   | |     | l_cuneonavicular_1 : l_cuneiform_1
>
>   | |     | | l_tarsometatarsal_1 : l_metatarsal_1
>
>   | |     | |   l_metatarsophalangeal_1 : l_tarsal_proximal_phalanx_1
>
>   | |     | |     l_tarsal_interphalangeal_1 : l_tarsal_distal_phalanx_1
>
>   | |     | l_cuneonavicular_2 : l_cuneiform_2
>
>   | |     | | l_tarsometatarsal_2 : l_metatarsal_2
>
>   | |     | |   l_metatarsophalangeal_2 : l_tarsal_proximal_phalanx_2
>
>   | |     | |     l_tarsal_proximal_interphalangeal_2 :
> l_tarsal_middle_phalanx_2
>
>   | |     | |       l_tarsal_distal_interphalangeal_2 :
> l_tarsal_distal_phalanx_2
>
>   | |     | l_cuneonavicular_3 : l_cuneiform_3
>
>   | |     |   l_tarsometatarsal_3 : l_metatarsal_3
>
>   | |     |     l_metatarsophalangeal_3 : l_tarsal_proximal_phalanx_3
>
>   | |     |       l_tarsal_proximal_interphalangeal_3 :
> l_tarsal_middle_phalanx_3
>
>   | |     |         l_tarsal_distal_interphalangeal_3 :
> l_tarsal_distal_phalanx_3
>
>   | |     l_calcaneocuboid : l_calcaneus
>
>   | |       l_transversetarsal : l_cuboid
>
>   | |         l_tarsometatarsal_4 : l_metatarsal_4
>
>   | |         | l_metatarsophalangeal_4 : l_tarsal_proximal_phalanx_4
>
>   | |         |   l_tarsal_proximal_interphalangeal_4 :
> l_tarsal_middle_phalanx_4
>
>   | |         |     l_tarsal_distal_interphalangeal_4 :
> l_tarsal_distal_phalanx_4
>
>   | |         l_tarsometatarsal_5 : l_metatarsal_5
>
>   | |           l_metatarsophalangeal_5 : l_tarsal_proximal_phalanx_5
>
>   | |             l_tarsal_proximal_interphalangeal_5 :
> l_tarsal_middle_phalanx_5
>
>   | |               l_tarsal_distal_interphalangeal_5 :
> l_tarsal_distal_phalanx_5
>
>   | r_hip : r_thigh
>
>   |   r_knee : r_calf
>
>   |     r_talocrural : r_talus
>
>   |       r_talocalcaneonavicular : r_navicular
>
>   |       | r_cuneonavicular_1 : r_cuneiform_1
>
>   |       | | r_tarsometatarsal_1 : r_metatarsal_1
>
>   |       | |   r_metatarsophalangeal_1 : r_tarsal_proximal_phalanx_1
>
>   |       | |     r_tarsal_interphalangeal_1 : r_tarsal_distal_phalanx_1
>
>   |       | r_cuneonavicular_2 : r_cuneiform_2
>
>   |       | | r_tarsometatarsal_2 : r_metatarsal_2
>
>   |       | |   r_metatarsophalangeal_2 : r_tarsal_proximal_phalanx_2
>
>   |       | |     r_tarsal_proximal_interphalangeal_2 :
> r_tarsal_middle_phalanx_2
>
>   |       | |       r_tarsal_distal_interphalangeal_2 :
> r_tarsal_distal_phalanx_2
>
>   |       | r_cuneonavicular_3 : r_cuneiform_3
>
>   |       |   r_tarsometatarsal_3 : r_metatarsal_3
>
>   |       |     r_metatarsophalangeal_3 : r_tarsal_proximal_phalanx_3
>
>   |       |       r_tarsal_proximal_interphalangeal_3 :
> r_tarsal_middle_phalanx_3
>
>   |       |         r_tarsal_distal_interphalangeal_3 :
> r_tarsal_distal_phalanx_3
>
>   |       r_calcaneocuboid : r_calcaneus
>
>   |         r_transversetarsal : r_cuboid
>
>   |           r_tarsometatarsal_4 : r_metatarsal_4
>
>   |           | r_metatarsophalangeal_4 : r_tarsal_proximal_phalanx_4
>
>   |           |   r_tarsal_proximal_interphalangeal_4 :
> r_tarsal_middle_phalanx_4
>
>   |           |     r_tarsal_distal_interphalangeal_4 :
> r_tarsal_distal_phalanx_4
>
>   |           r_tarsometatarsal_5 : r_metatarsal_5
>
>   |             r_metatarsophalangeal_5 : r_tarsal_proximal_phalanx_5
>
>   |               r_tarsal_proximal_interphalangeal_5 :
> r_tarsal_middle_phalanx_5
>
>   |                 r_tarsal_distal_interphalangeal_5 :
> r_tarsal_distal_phalanx_5
>
>   vl5 : l5
>
>     vl4 : l4
>
>       vl3 : l3
>
>         vl2 : l2
>
>           vl1 : l1
>
>             vt12 : t12
>
>               vt11 : t11
>
>                 vt10 : t10
>
>                   vt9 : t9
>
>                     vt8 : t8
>
>                       vt7 : t7
>
>                         vt6 : t6
>
>                           vt5 : t5
>
>                             vt4 : t4
>
>                               vt3 : t3
>
>                                 vt2 : t2
>
>                                   vt1 : t1
>
>                                     vc7 : c7
>
>                                     | vc6 : c6
>
>                                     |   vc5 : c5
>
>                                     |     vc4 : c4
>
>                                     |       vc3 : c3
>
>                                     |         vc2 : c2
>
>                                     |           vc1 : c1
>
>                                     |             skullbase : skull
>
>                                     |               l_eyelid_joint :
> l_eyelid
>
>                                     |               r_eyelid_joint :
> r_eyelid
>
>                                     |               l_eyeball_joint :
> l_eyeball
>
>                                     |               r_eyeball_joint :
> r_eyeball
>
>                                     |               l_eyebrow_joint :
> l_eyebrow
>
>                                     |               r_eyebrow_joint :
> r_eyebrow
>
>                                     |               temporomandibular : jaw
>
>                                     l_sternoclavicular : l_clavicle
>
>                                     | l_acromioclavicular : l_scapula
>
>                                     |   l_shoulder : l_upperarm
>
>                                     |     l_elbow : l_forearm
>
>                                     |       l_radiocarpal : l_carpal
>
>                                     |         l_midcarpal_1 : l_trapezium
>
>                                     |         | l_carpometacarpal_1 :
> l_metacarpal_1
>
>                                     |         |   l_metacarpophalangeal_1
> : l_carpal_proximal_phalanx_1
>
>                                     |         |
> l_carpal_interphalangeal_1 : l_carpal_distal_phalanx_1
>
>                                     |         l_midcarpal_2 : l_trapezoid
>
>                                     |         | l_carpometacarpal_2 :
> l_metacarpal_2
>
>                                     |         |   l_metacarpophalangeal_2
> : l_carpal_proximal_phalanx_2
>
>                                     |         |
> l_carpal_proximal_interphalangeal_2 : l_carpal_middle_phalanx_2
>
>                                     |         |
> l_carpal_distal_interphalangeal_2 : l_carpal_distal_phalanx_2
>
>                                     |         l_midcarpal_3 : l_capitate
>
>                                     |         | l_carpometacarpal_3 :
> l_metacarpal_3
>
>                                     |         |   l_metacarpophalangeal_3
> : l_carpal_proximal_phalanx_3
>
>                                     |         |
> l_carpal_proximal_interphalangeal_3 : l_carpal_middle_phalanx_3
>
>                                     |         |
> l_carpal_distal_interphalangeal_3 : l_carpal_distal_phalanx_3
>
>                                     |         l_midcarpal_4_5 : l_hamate
>
>                                     |           l_carpometacarpal_4 :
> l_metacarpal_4
>
>                                     |           | l_metacarpophalangeal_4
> : l_carpal_proximal_phalanx_4
>
>                                     |           |
> l_carpal_proximal_interphalangeal_4 : l_carpal_middle_phalanx_4
>
>                                     |           |
> l_carpal_distal_interphalangeal_4 : l_carpal_distal_phalanx_4
>
>                                     |           l_carpometacarpal_5 :
> l_metacarpal_5
>
>                                     |             l_metacarpophalangeal_5
> : l_carpal_proximal_phalanx_5
>
>                                     |
> l_carpal_proximal_interphalangeal_5 : l_carpal_middle_phalanx_5
>
>                                     |
> l_carpal_distal_interphalangeal_5 : l_carpal_distal_phalanx_5
>
>                                     r_sternoclavicular : r_clavicle
>
>                                       r_acromioclavicular : r_scapula
>
>                                         r_shoulder : r_upperarm
>
>                                           r_elbow : r_forearm
>
>                                             r_radiocarpal : r_carpal
>
>                                               r_midcarpal_1 : r_trapezium
>
>                                               | r_carpometacarpal_1 :
> r_metacarpal_1
>
>                                               |   r_metacarpophalangeal_1
> : r_carpal_proximal_phalanx_1
>
>                                               |
> r_carpal_interphalangeal_1 : r_carpal_distal_phalanx_1
>
>                                               r_midcarpal_2 : r_trapezoid
>
>                                               | r_carpometacarpal_2 :
> r_metacarpal_2
>
>                                               |   r_metacarpophalangeal_2
> : r_carpal_proximal_phalanx_2
>
>                                               |
> r_carpal_proximal_interphalangeal_2 : r_carpal_middle_phalanx_2
>
>                                               |
> r_carpal_distal_interphalangeal_2 : r_carpal_distal_phalanx_2
>
>                                               r_midcarpal_3 : r_capitate
>
>                                               | r_carpometacarpal_3 :
> r_metacarpal_3
>
>                                               |   r_metacarpophalangeal_3
> : r_carpal_proximal_phalanx_3
>
>                                               |
> r_carpal_proximal_interphalangeal_3 : r_carpal_middle_phalanx_3
>
>                                               |
> r_carpal_distal_interphalangeal_3 : r_carpal_distal_phalanx_3
>
>                                               r_midcarpal_4_5 : r_hamate
>
>                                                 r_carpometacarpal_4 :
> r_metacarpal_4
>
>                                                 | r_metacarpophalangeal_4
> : r_carpal_proximal_phalanx_4
>
>                                                 |
> r_carpal_proximal_interphalangeal_4 : r_carpal_middle_phalanx_4
>
>                                                 |
> r_carpal_distal_interphalangeal_4 : r_carpal_distal_phalanx_4
>
>                                                 r_carpometacarpal_5 :
> r_metacarpal_5
>
>                                                   r_metacarpophalangeal_5
> : r_carpal_proximal_phalanx_5
>
>
> r_carpal_proximal_interphalangeal_5 : r_carpal_middle_phalanx_5
>
>
>                                            r_carpal_distal_interphalangeal_5
> : 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 https://
> faculty.nps.edu/brutzman
>
>
>
> *From:* Brutzman, Donald (Don) (CIV)
> *Sent:* Friday, January 27, 2023 7:02 PM
> *To:* Joseph D Williams <joedwil at earthlink.net>; John Carlson <
> yottzumm at gmail.com>
> *Cc:* X3D Graphics public mailing list <x3d-public at web3d.org>;
> brutzman at nps.edu
> *Subject:* RE: HAnim Schematron output sampled
>
>
>
> Thanks for discussion Joe, really helpful.  We definitely have had some
> mixed signals here.
>
>
>
> Summary of changes we applied to HAnim schema relationships:
>
>    1. Joint vl5 has parent humanoid_root
>    2. Joint l_sternoclavicular has parent vt1
>    3. Joint r_sternoclavicular has parent vt1
>
>
>
> I will work on updating these corrections into all the tools accordingly –
> X3DUOM, X3D Schematron, X3DJSAIL Java, X3DPSAIL Python, and X3D-Edit..
>
>
>
> Thanks too for fixing multiple models together.
>
>
>
> Awesome work, sincere thanks, take care.
>
>
>
> 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 https://
> faculty.nps.edu/brutzman
>
>
>
> *From:* Joseph D Williams <joedwil at earthlink.net>
> *Sent:* Sunday, January 22, 2023 11:53 AM
> *To:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; John Carlson <
> yottzumm at gmail.com>
> *Cc:* X3D Graphics public mailing list <x3d-public at web3d.org>
> *Subject:* RE: HAnim Schematron output sampled
>
>
>
>    - vl5 has parent humanoid_root rather than expected sacroiliac
>    - l_sternoclavicular has parent vt1 rather than expected vc7
>    - r_sternoclavicular has parent vt1 rather than expected vc7
>
>
>
> Don, these three items serve as a summary when processing a model that is
> correct according to the diagram.
>
> Much to discuss regarding some existing examples.
>
> Joe
>
>
>
> *From: *Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
> *Sent: *Sunday, January 22, 2023 10:09 AM
> *To: *Joseph D Williams <joedwil at earthlink.net>; John Carlson
> <yottzumm at gmail.com>
> *Cc: *X3D Graphics public mailing list <x3d-public at web3d.org>
> *Subject: *Re: HAnim Schematron output sampled
>
>
>
> Sounds like progress, but not quite focused enough to make any fixes yet….
> Clarity his critical.
>
>
>
> Hopefully you guys can create a simple list consisting of simple triplets:
>
>    - suspect joint or segment name,
>    - the incorrect parent described in the X3D XML schema,, and
>    - the correct parent shown by the diagrams in the specifications.
>
>
>
> If there is such a simple list of a few names/errors/corrections
> available, I hope to have some time Monday or Tuesday afternoon to work on
> it together.  Onward…
>
>
>
> v/r Don
>
> *From:* Joseph D Williams <joedwil at earthlink.net>
> *Sent:* Saturday, January 21, 2023 11:07:06 PM
> *To:* John Carlson <yottzumm at gmail.com>; Brutzman, Donald (Don) (CIV) <
> brutzman at nps.edu>; X3D Graphics public mailing list <x3d-public at web3d.org>
> *Subject:* RE: HAnim Schematron output sampled
>
>
>
> Hi,
>
> The expected ones are not correct.  Vl5 is a child of root and sternos and
> vc7 are childs of vt1. The schematron claims are wrong.
>
> The schematron is wrong according to the Concepts 4 diagrams for loa3 and
> loa4.
>
>
>
>    - Yes, vl5 is a child of sacroiliac, according to Joe.
>     X3DUOM/schematron wins!
>
>
>
> No, vl5 is a child of root. Schematron is wrong.
>
> The diagrams are correct.
>
> Joe
>
>
>
> *From: *John Carlson <yottzumm at gmail.com>
> *Sent: *Sunday, January 15, 2023 5:46 PM
> *To: *Joe D Williams <joedwil at earthlink.net>; Don Brutzman
> <brutzman at nps.edu>; X3D Graphics public mailing list
> <x3d-public at web3d.org>
> *Subject: *Re: HAnim Schematron output sampled
>
>
> vl5 has parent humanoid_root rather than expected sacroiliac.  Yes, vl5 is
> a child of sacroiliac, according to Joe.   X3DUOM/schematron wins!
>
> l_sternoclavicular has parent vt1 rather than expected vc7.  Please
> confirm.
>
> r_sternoclavicular has parent vt1 rather than expected vc7.  Please
> confirm.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230129/a92d36b6/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 159 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230129/a92d36b6/attachment-0001.png>


More information about the x3d-public mailing list