X3D Model Documentation: BvhUniversityWisconsionExample1.x3d

  1  <?xml version="1.0" encoding="UTF-8"?>
  2  <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "https://www.web3d.org/specifications/x3d-4.0.dtd">
  3  <X3D profile='Immersive' version='4.0 xmlns:xsd='https://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'>
  4       <head>
  5            <component level='3name='HAnim'/>
  6            <meta name='titlecontent=' BvhUniversityWisconsionExample1.x3d '/>
  7            <meta name='descriptioncontent='BVH file conversion: *enter description here, short-sentence summaries preferred*'/>
  8            <meta name='creatorcontent='*enter name of original author here*'/>
  9            <meta name='createdcontent='*enter date of initial version here*'/>
 10            <meta name='translatedcontent='2 September 2023'/>
 11            <meta name='modifiedcontent='18 December 2023'/>
 12            <meta name='referencecontent='BvhUniversityWIsconsionExample1.bvh'/>
 13            <meta name='referencecontent='https://TODO/UniversityWIsconsionExample1.bvh'/>
 14            <meta name='referencecontent='https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#MOCAP'/>
 15            <meta name='generatorcontent='Java BVH to X3D Converter, org.web3d.x3d.hanim.bvh package'/>
 16            <meta name='generatorcontent='X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit'/>
 17            <meta name='identifiercontent='*enter online Uniform Resource Identifier (URI) or Uniform Resource Locator (URL) address for this file here*'/>
 18            <meta name='licensecontent='../license.html'/>
 19       </head>
<!--

Event Graph ROUTE Table shows event connections.

HAnimHumanoid model visualization report: ROOT_Hips HAnimHumanoid Report

--> <!-- to top DEF nodes index: BvhUniversityWisconsionExample1_BvhToX3dConversionImportInformation, BvhUniversityWisconsionExample1_humanoid_root, BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLeg, BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLeg, BvhUniversityWisconsionExample1_humanoid_root_view, BvhUniversityWisconsionExample1_l5, BvhUniversityWisconsionExample1_LeftCollar, BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArm, BvhUniversityWisconsionExample1_LeftFoot, BvhUniversityWisconsionExample1_LeftHand, BvhUniversityWisconsionExample1_LeftLowArm, BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand, BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tip, BvhUniversityWisconsionExample1_LeftLowLeg, BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot, BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tip, BvhUniversityWisconsionExample1_LeftUpArm, BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArm, BvhUniversityWisconsionExample1_LeftUpLeg, BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLeg, BvhUniversityWisconsionExample1_MotionGroup, BvhUniversityWisconsionExample1_Neck, BvhUniversityWisconsionExample1_RightCollar, BvhUniversityWisconsionExample1_RightCollar_to_RightUpArm, BvhUniversityWisconsionExample1_RightFoot, BvhUniversityWisconsionExample1_RightHand, BvhUniversityWisconsionExample1_RightLowArm, BvhUniversityWisconsionExample1_RightLowArm_to_RightHand, BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tip, BvhUniversityWisconsionExample1_RightLowLeg, BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot, BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tip, BvhUniversityWisconsionExample1_RightUpArm, BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArm, BvhUniversityWisconsionExample1_RightUpLeg, BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLeg, BvhUniversityWisconsionExample1_ROOT_Hips, BvhUniversityWisconsionExample1_sacrum, BvhUniversityWisconsionExample1_skull, BvhUniversityWisconsionExample1_skull_tip, BvhUniversityWisconsionExample1_skullbase, BvhUniversityWisconsionExample1_vl5, BvhUniversityWisconsionExample1_vl5_to_LeftCollar, BvhUniversityWisconsionExample1_vl5_to_Neck, BvhUniversityWisconsionExample1_vl5_to_RightCollar, DiamondIFS, FrameStepper, HAnimJointMaterial, HAnimJointShape, HAnimJointSphere, HAnimRootMaterial, HAnimRootShape, HAnimSegmentLineColorRGBA, HAnimSiteLineColorRGBA, HAnimSiteShape, InitialPositionScaled, Interpolator0_humanoid_root, Interpolator1_humanoid_root, Interpolator10_RightUpArm, Interpolator11_RightLowArm, Interpolator12_RightHand, Interpolator13_LeftUpLeg, Interpolator14_LeftLowLeg, Interpolator15_LeftFoot, Interpolator16_RightUpLeg, Interpolator17_RightLowLeg, Interpolator18_RightFoot, Interpolator2_vl5, Interpolator3_Neck, Interpolator4_skullbase, Interpolator5_LeftCollar, Interpolator6_LeftUpArm, Interpolator7_LeftLowArm, Interpolator8_LeftHand, Interpolator9_RightCollar, RealTimer, StepTimer

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, BvhUniversityWisconsionExample1_humanoid_root_viewpoint

-->
 20       <Scene>
 21            <WorldInfo title='BvhUniversityWisconsionExample1.x3d'/>
 22            <NavigationInfo/>
 23            <Group DEF='BvhUniversityWisconsionExample1_BvhToX3dConversionImportInformation'>
 24                 <!-- 17 BVH JOINT definitions found, following a single HIERARCHY ROOT -->
 25                 <!-- BVH HIERARCHY model size computations: minX=0.0, maxX=0.0, width=0.0; minY=-7.0, maxY=3.87, height=10.870000000000001; minZ=0.0, maxZ=4.9E-324, depth=4.9E-324 -->
 26                 <!-- Estimated rescaling to meters based on height: scaleFactor=0.1 for modified height of 1.087m -->
 27                 <!-- Vertical offset to move bottom of BVH figure to ground plane (adjusted in HAnimJoint containerField='skeleton'): heightOffset=0.7000000000000001m -->
 28                 <MetadataSet containerField='metadataname='BvhToHAnimNameConversionTable'>
 29                      <!-- key: MetadataString name='bvhName' reference='bvhType ROOT|JOINT|Site' value='"jointName" "segmentName"' (HAnimSite nodes have no segmentName) -->
 30                      <MetadataString name='ROOT_Hipsreference='ROOTvalue='"humanoid_root" "sacrum"'/>
 31                      <MetadataString name='Chestreference='JOINTvalue='"vl5" "l5"'/>
 32                      <MetadataString name='Neckreference='JOINTvalue='"Neck" "vl5_to_Neck"'/>
 33                      <MetadataString name='Headreference='JOINTvalue='"skullbase" "skull"'/>
 34                      <MetadataString name='HeadSitereference='Sitevalue='"skullbase_tip"'/>
 35                      <MetadataString name='LeftCollarreference='JOINTvalue='"LeftCollar" "vl5_to_LeftCollar"'/>
 36                      <MetadataString name='LeftUpArmreference='JOINTvalue='"LeftUpArm" "LeftCollar_to_LeftUpArm"'/>
 37                      <MetadataString name='LeftLowArmreference='JOINTvalue='"LeftLowArm" "LeftUpArm_to_LeftLowArm"'/>
 38                      <MetadataString name='LeftHandreference='JOINTvalue='"LeftHand" "LeftLowArm_to_LeftHand"'/>
 39                      <MetadataString name='LeftHandSitereference='Sitevalue='"LeftHand_tip"'/>
 40                      <MetadataString name='RightCollarreference='JOINTvalue='"RightCollar" "vl5_to_RightCollar"'/>
 41                      <MetadataString name='RightUpArmreference='JOINTvalue='"RightUpArm" "RightCollar_to_RightUpArm"'/>
 42                      <MetadataString name='RightLowArmreference='JOINTvalue='"RightLowArm" "RightUpArm_to_RightLowArm"'/>
 43                      <MetadataString name='RightHandreference='JOINTvalue='"RightHand" "RightLowArm_to_RightHand"'/>
 44                      <MetadataString name='RightHandSitereference='Sitevalue='"RightHand_tip"'/>
 45                      <MetadataString name='LeftUpLegreference='JOINTvalue='"LeftUpLeg" "humanoid_root_to_LeftUpLeg"'/>
 46                      <MetadataString name='LeftLowLegreference='JOINTvalue='"LeftLowLeg" "LeftUpLeg_to_LeftLowLeg"'/>
 47                      <MetadataString name='LeftFootreference='JOINTvalue='"LeftFoot" "LeftLowLeg_to_LeftFoot"'/>
 48                      <MetadataString name='LeftFootSitereference='Sitevalue='"LeftFoot_tip"'/>
 49                      <MetadataString name='RightUpLegreference='JOINTvalue='"RightUpLeg" "humanoid_root_to_RightUpLeg"'/>
 50                      <MetadataString name='RightLowLegreference='JOINTvalue='"RightLowLeg" "RightUpLeg_to_RightLowLeg"'/>
 51                      <MetadataString name='RightFootreference='JOINTvalue='"RightFoot" "RightLowLeg_to_RightFoot"'/>
 52                      <MetadataString name='RightFootSitereference='Sitevalue='"RightFoot_tip"'/>
 53                 </MetadataSet>
 54            </Group>
 55            <!-- initialPositionOffset computation: 0.000 6.135 0.000, initialPositionScaled computation: 0.000 1.244 0.000 -->
 56            <Transform DEF='InitialPositionScaledtranslation='0.000 1.244 0.000'>
 57                 <Viewpoint description='BvhUniversityWisconsionExample1 model BVH to X3D conversion, from 8mposition='0 0 8'/>
 58                 <Viewpoint description='BvhUniversityWisconsionExample1 initial motion positionposition='0.803 3.501 16.836'/>
 59                 <Viewpoint description='BvhUniversityWisconsionExample1 final motion positionposition='0.781 3.510 16.647'/>
 60            </Transform>
 61            <HAnimHumanoid DEF='BvhUniversityWisconsionExample1_ROOT_Hipsname='ROOT_Hips'>
 62                 <!-- info='"authorEmail=*TODO*" "authorName=*TODO*" "copyright=Copyright (c) 2022" "humanoidVersion=*TODO*" "usageRestrictions=*TODO*"' -->
 63                 <MetadataSet containerField='metadataname='HAnimHumanoid.inforeference='https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid'>
 64                      <MetadataString name='authorEmailvalue='"*TODO*"'/>
 65                      <MetadataString name='authorNamevalue='"*TODO*"'/>
 66                      <MetadataString name='copyrightvalue='"Copyright (c) 2023"'/>
 67                      <MetadataString name='humanoidVersionvalue='"*TODO*"'/>
 68                      <MetadataString name='usageDescriptionvalue='"*TODO*"'/>
 69                 </MetadataSet>
 70                 <!-- Top-level HAnimSite/Viewpoint attached to HAnimHumanoid is unaffected by motion animation -->
 71 
               <!-- HAnimSite BvhUniversityWisconsionExample1_humanoid_root_view is a DEF node that has 1 USE node: USE_1 -->
               <HAnimSite DEF='BvhUniversityWisconsionExample1_humanoid_root_viewcontainerField='viewpointsname='humanoid_root_view'>
 72                      <Viewpoint DEF='BvhUniversityWisconsionExample1_humanoid_root_viewpointdescription='BvhUniversityWisconsionExample1 front view towards HAnimHumanoid centerposition='0 0 80.0'/>
 73                 </HAnimSite>
 74                 <!-- insert pseudo Joint for humanoid_root skeleton (matching root HIERARCHY in original BVH mocap model, but appearing as skeleton field in X3D HAnimHumanoid) -->
 75 
               <!-- HAnimJoint BvhUniversityWisconsionExample1_humanoid_root is a DEF node that has 1 USE node: USE_1
               <!-- ROUTE information for BvhUniversityWisconsionExample1_humanoid_root node:  [from Interpolator0_humanoid_root.value_changed to set_translation ] [from Interpolator1_humanoid_root.value_changed to set_rotation ] -->
               <HAnimJoint DEF='BvhUniversityWisconsionExample1_humanoid_rootcontainerField='skeletonname='humanoid_rootscale='0.1 0.1 0.1translation='0.000 1.244 0.000'>
 76                      <!-- BVH ROOT_Hips, OFFSET 0.0 5.21 0.0, CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation -->
 77 
                    <!-- HAnimSegment BvhUniversityWisconsionExample1_sacrum is a DEF node that has 1 USE node: USE_1 -->
                    <HAnimSegment DEF='BvhUniversityWisconsionExample1_sacrumname='sacrum'>
 78                           <!-- humanoid_root child HAnimSegment with visualization root shape plus hidden DEF geometry for later use (radius 1 inch) -->
 79                           <Switch whichChoice='0'>
 80                                <Group>
 81                                     <TouchSensor description='HAnimHumanoid ROOT ROOT_Hips, HAnimSegment sacrum'/>
 82                                     <Shape DEF='HAnimRootShape'>
 83 
                                        <!-- Sphere HAnimJointSphere is a DEF node that has 1 USE node: USE_1 -->
                                        <Sphere DEF='HAnimJointSphereradius='0.25399999999999995'/>
 84                                          <Appearance>
 85                                               <Material DEF='HAnimRootMaterialdiffuseColor='0.8 0 0transparency='0.3'/>
 86                                          </Appearance>
 87                                     </Shape>
 88                                </Group>
 89 
                              <!-- Shape HAnimJointShape is a DEF node that has 17 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11, USE_12, USE_13, USE_14, USE_15, USE_16, USE_17 -->
                              <Shape DEF='HAnimJointShape'>
 90                                     <Sphere USE='HAnimJointSphere'/>
 91                                     <Appearance>
 92                                          <Material DEF='HAnimJointMaterialdiffuseColor='0 0 0.8transparency='0.3'/>
 93                                     </Appearance>
 94                                </Shape>
 95                                <Shape>
 96                                     <LineSet vertexCount='2containerField='geometry'>
 97                                          <Coordinate point='0 0 0 0 0 0'/>
 98 
                                        <!-- ColorRGBA HAnimSegmentLineColorRGBA is a DEF node that has 17 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5, USE_6, USE_7, USE_8, USE_9, USE_10, USE_11, USE_12, USE_13, USE_14, USE_15, USE_16, USE_17 -->
                                        <ColorRGBA DEF='HAnimSegmentLineColorRGBAcolor='1 1 0 1 1 1 0 0.1'/>
 99                                     </LineSet>
100                                </Shape>
101 
                              <!-- Shape HAnimSiteShape is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                              <Shape DEF='HAnimSiteShape'>
102                                     <IndexedFaceSet DEF='DiamondIFScreaseAngle='0.5solid='falsecoordIndex='0 1 2 -1 0 2 3 -1 0 3 4 -1 0 4 1 -1 5 2 1 -1 5 3 2 -1 5 4 3 -1 5 1 4 -1'>
103                                          <Coordinate point='0 0.25399999999999995 0 -0.25399999999999995 0 0 0 0 0.25399999999999995 0.25399999999999995 0 0 0 0 -0.25399999999999995 0 -0.25399999999999995 0'/>
104                                     </IndexedFaceSet>
105                                     <Appearance>
106                                          <Material diffuseColor='1 0.5 0transparency='0.3'/>
107                                     </Appearance>
108                                </Shape>
109                                <Shape>
110                                     <LineSet vertexCount='2containerField='geometry'>
111                                          <Coordinate point='0 0 0 0 0 0'/>
112 
                                        <!-- ColorRGBA HAnimSiteLineColorRGBA is a DEF node that has 5 USE nodes: USE_1, USE_2, USE_3, USE_4, USE_5 -->
                                        <ColorRGBA DEF='HAnimSiteLineColorRGBAcolor='1 0.5 0 1 1 0.5 0 0.1'/>
113                                     </LineSet>
114                                </Shape>
115                           </Switch>
116                           <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='humanoid_root'/> to child <HAnimJoint name='vl5'/> -->
117                           <Shape>
118                                <LineSet vertexCount='2containerField='geometry'>
119                                     <Coordinate point='0 0 0 0.0 5.21 0.0'/>
120                                     <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
121                                </LineSet>
122                           </Shape>
123                           <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='humanoid_root'/> to child <HAnimJoint name='LeftUpLeg'/> -->
124                           <Shape>
125                                <LineSet vertexCount='2containerField='geometry'>
126                                     <Coordinate point='0 0 0 3.91 0.0 0.0'/>
127                                     <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
128                                </LineSet>
129                           </Shape>
130                           <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='humanoid_root'/> to child <HAnimJoint name='RightUpLeg'/> -->
131                           <Shape>
132                                <LineSet vertexCount='2containerField='geometry'>
133                                     <Coordinate point='0 0 0 -3.91 0.0 0.0'/>
134                                     <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
135                                </LineSet>
136                           </Shape>
137                      </HAnimSegment>
138 
                    <!-- HAnimJoint BvhUniversityWisconsionExample1_vl5 is a DEF node that has 1 USE node: USE_1
                    <!-- ROUTE information for BvhUniversityWisconsionExample1_vl5 node:  [from Interpolator2_vl5.value_changed to set_rotation ] -->
                    <HAnimJoint DEF='BvhUniversityWisconsionExample1_vl5center='0.0 5.21 0.0name='vl5'>
139                           <!-- BVH JOINT Chest, OFFSET 0.0 5.21 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
140 
                         <!-- HAnimSegment BvhUniversityWisconsionExample1_l5 is a DEF node that has 1 USE node: USE_1 -->
                         <HAnimSegment DEF='BvhUniversityWisconsionExample1_l5name='l5'>
141                                <!-- Transform to establish local-origin reference frame at center of current Joint -->
142                                <Transform translation='0.0 5.21 0.0'>
143                                     <!-- Visualization sphere for <HAnimJoint name='vl5'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_l5'> -->
144                                     <TouchSensor description='HAnimJoint Chest vl5, HAnimSegment l5'/>
145                                     <Shape USE='HAnimJointShape'/>
146                                     <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='vl5'/> to child <HAnimJoint name='Neck'/> -->
147                                     <Shape>
148                                          <LineSet vertexCount='2containerField='geometry'>
149                                               <Coordinate point='0 0 0 0.0 18.65 0.0'/>
150                                               <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
151                                          </LineSet>
152                                     </Shape>
153                                     <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='vl5'/> to child <HAnimJoint name='LeftCollar'/> -->
154                                     <Shape>
155                                          <LineSet vertexCount='2containerField='geometry'>
156                                               <Coordinate point='0 0 0 1.12 16.23 1.87'/>
157                                               <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
158                                          </LineSet>
159                                     </Shape>
160                                     <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='vl5'/> to child <HAnimJoint name='RightCollar'/> -->
161                                     <Shape>
162                                          <LineSet vertexCount='2containerField='geometry'>
163                                               <Coordinate point='0 0 0 -1.12 16.23 1.87'/>
164                                               <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
165                                          </LineSet>
166                                     </Shape>
167                                </Transform>
168                           </HAnimSegment>
169 
                         <!-- HAnimJoint BvhUniversityWisconsionExample1_Neck is a DEF node that has 1 USE node: USE_1
                         <!-- ROUTE information for BvhUniversityWisconsionExample1_Neck node:  [from Interpolator3_Neck.value_changed to set_rotation ] -->
                         <HAnimJoint DEF='BvhUniversityWisconsionExample1_Neckcenter='0.0 23.86 0.0name='Neck'>
170                                <!-- BVH JOINT Neck, OFFSET 0.0 18.65 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
171 
                              <!-- HAnimSegment BvhUniversityWisconsionExample1_vl5_to_Neck is a DEF node that has 1 USE node: USE_1 -->
                              <HAnimSegment DEF='BvhUniversityWisconsionExample1_vl5_to_Neckname='vl5_to_Neck'>
172                                     <!-- Transform to establish local-origin reference frame at center of current Joint -->
173                                     <Transform translation='0.0 23.86 0.0'>
174                                          <!-- Visualization sphere for <HAnimJoint name='Neck'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_vl5_to_Neck'> -->
175                                          <TouchSensor description='HAnimJoint Neck Neck, HAnimSegment vl5_to_Neck'/>
176                                          <Shape USE='HAnimJointShape'/>
177                                          <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='Neck'/> to child <HAnimJoint name='skullbase'/> -->
178                                          <Shape>
179                                               <LineSet vertexCount='2containerField='geometry'>
180                                                    <Coordinate point='0 0 0 0.0 5.45 0.0'/>
181                                                    <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
182                                               </LineSet>
183                                          </Shape>
184                                     </Transform>
185                                </HAnimSegment>
186 
                              <!-- HAnimJoint BvhUniversityWisconsionExample1_skullbase is a DEF node that has 1 USE node: USE_1
                              <!-- ROUTE information for BvhUniversityWisconsionExample1_skullbase node:  [from Interpolator4_skullbase.value_changed to set_rotation ] -->
                              <HAnimJoint DEF='BvhUniversityWisconsionExample1_skullbasecenter='0.0 29.31 0.0name='skullbase'>
187                                     <!-- BVH JOINT Head, OFFSET 0.0 5.45 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
188 
                                   <!-- HAnimSegment BvhUniversityWisconsionExample1_skull is a DEF node that has 1 USE node: USE_1 -->
                                   <HAnimSegment DEF='BvhUniversityWisconsionExample1_skullname='skull'>
189                                          <!-- Transform to establish local-origin reference frame at center of current Joint -->
190                                          <Transform translation='0.0 29.31 0.0'>
191 
                                             <!-- HAnimSite BvhUniversityWisconsionExample1_skull_tip is a DEF node that has 1 USE node: USE_1 -->
                                             <HAnimSite DEF='BvhUniversityWisconsionExample1_skull_tipname='skull_tiptranslation='0.0 3.87 0.0'>
192                                                    <!-- BVH End Site OFFSET (0.0, 3.87, 0.0) -->
193                                                    <TouchSensor description='HAnimSite skull_tip'/>
194                                                    <Shape USE='HAnimSiteShape'/>
195                                                    <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='skullbase'/> to current <HAnimSite name='skull_tip'/> -->
196                                                    <Shape>
197                                                         <LineSet vertexCount='2containerField='geometry'>
198                                                              <Coordinate point='0 -3.87 0 0 0 0'/>
199                                                              <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
200                                                         </LineSet>
201                                                    </Shape>
202                                               </HAnimSite>
203                                               <!-- Visualization sphere for <HAnimJoint name='skullbase'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_skull'> -->
204                                               <TouchSensor description='HAnimJoint Head skullbase, HAnimSegment skull'/>
205                                               <Shape USE='HAnimJointShape'/>
206                                          </Transform>
207                                     </HAnimSegment>
208                                </HAnimJoint>
209                           </HAnimJoint>
210 
                         <!-- HAnimJoint BvhUniversityWisconsionExample1_LeftCollar is a DEF node that has 1 USE node: USE_1
                         <!-- ROUTE information for BvhUniversityWisconsionExample1_LeftCollar node:  [from Interpolator5_LeftCollar.value_changed to set_rotation ] -->
                         <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftCollarcenter='1.12 21.44 1.87name='LeftCollar'>
211                                <!-- BVH JOINT LeftCollar, OFFSET 1.12 16.23 1.87, CHANNELS 3 Zrotation Xrotation Yrotation -->
212 
                              <!-- HAnimSegment BvhUniversityWisconsionExample1_vl5_to_LeftCollar is a DEF node that has 1 USE node: USE_1 -->
                              <HAnimSegment DEF='BvhUniversityWisconsionExample1_vl5_to_LeftCollarname='vl5_to_LeftCollar'>
213                                     <!-- Transform to establish local-origin reference frame at center of current Joint -->
214                                     <Transform translation='1.12 21.44 1.87'>
215                                          <!-- Visualization sphere for <HAnimJoint name='LeftCollar'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_vl5_to_LeftCollar'> -->
216                                          <TouchSensor description='HAnimJoint LeftCollar LeftCollar, HAnimSegment vl5_to_LeftCollar'/>
217                                          <Shape USE='HAnimJointShape'/>
218                                          <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftCollar'/> to child <HAnimJoint name='LeftUpArm'/> -->
219                                          <Shape>
220                                               <LineSet vertexCount='2containerField='geometry'>
221                                                    <Coordinate point='0 0 0 5.54 0.0 0.0'/>
222                                                    <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
223                                               </LineSet>
224                                          </Shape>
225                                     </Transform>
226                                </HAnimSegment>
227 
                              <!-- HAnimJoint BvhUniversityWisconsionExample1_LeftUpArm is a DEF node that has 1 USE node: USE_1
                              <!-- ROUTE information for BvhUniversityWisconsionExample1_LeftUpArm node:  [from Interpolator6_LeftUpArm.value_changed to set_rotation ] -->
                              <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftUpArmcenter='6.66 21.44 1.87name='LeftUpArm'>
228                                     <!-- BVH JOINT LeftUpArm, OFFSET 5.54 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
229 
                                   <!-- HAnimSegment BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArm is a DEF node that has 1 USE node: USE_1 -->
                                   <HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArmname='LeftCollar_to_LeftUpArm'>
230                                          <!-- Transform to establish local-origin reference frame at center of current Joint -->
231                                          <Transform translation='6.66 21.44 1.87'>
232                                               <!-- Visualization sphere for <HAnimJoint name='LeftUpArm'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArm'> -->
233                                               <TouchSensor description='HAnimJoint LeftUpArm LeftUpArm, HAnimSegment LeftCollar_to_LeftUpArm'/>
234                                               <Shape USE='HAnimJointShape'/>
235                                               <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftUpArm'/> to child <HAnimJoint name='LeftLowArm'/> -->
236                                               <Shape>
237                                                    <LineSet vertexCount='2containerField='geometry'>
238                                                         <Coordinate point='0 0 0 0.0 -11.96 0.0'/>
239                                                         <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
240                                                    </LineSet>
241                                               </Shape>
242                                          </Transform>
243                                     </HAnimSegment>
244 
                                   <!-- HAnimJoint BvhUniversityWisconsionExample1_LeftLowArm is a DEF node that has 1 USE node: USE_1
                                   <!-- ROUTE information for BvhUniversityWisconsionExample1_LeftLowArm node:  [from Interpolator7_LeftLowArm.value_changed to set_rotation ] -->
                                   <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftLowArmcenter='6.66 9.48 1.87name='LeftLowArm'>
245                                          <!-- BVH JOINT LeftLowArm, OFFSET 0.0 -11.96 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
246 
                                        <!-- HAnimSegment BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArm is a DEF node that has 1 USE node: USE_1 -->
                                        <HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArmname='LeftUpArm_to_LeftLowArm'>
247                                               <!-- Transform to establish local-origin reference frame at center of current Joint -->
248                                               <Transform translation='6.66 9.48 1.87'>
249                                                    <!-- Visualization sphere for <HAnimJoint name='LeftLowArm'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArm'> -->
250                                                    <TouchSensor description='HAnimJoint LeftLowArm LeftLowArm, HAnimSegment LeftUpArm_to_LeftLowArm'/>
251                                                    <Shape USE='HAnimJointShape'/>
252                                                    <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftLowArm'/> to child <HAnimJoint name='LeftHand'/> -->
253                                                    <Shape>
254                                                         <LineSet vertexCount='2containerField='geometry'>
255                                                              <Coordinate point='0 0 0 0.0 -9.93 0.0'/>
256                                                              <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
257                                                         </LineSet>
258                                                    </Shape>
259                                               </Transform>
260                                          </HAnimSegment>
261 
                                        <!-- HAnimJoint BvhUniversityWisconsionExample1_LeftHand is a DEF node that has 1 USE node: USE_1
                                        <!-- ROUTE information for BvhUniversityWisconsionExample1_LeftHand node:  [from Interpolator8_LeftHand.value_changed to set_rotation ] -->
                                        <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftHandcenter='6.66 -0.4499999999999993 1.87name='LeftHand'>
262                                               <!-- BVH JOINT LeftHand, OFFSET 0.0 -9.93 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
263 
                                             <!-- HAnimSegment BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand is a DEF node that has 1 USE node: USE_1 -->
                                             <HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHandname='LeftLowArm_to_LeftHand'>
264                                                    <!-- Transform to establish local-origin reference frame at center of current Joint -->
265                                                    <Transform translation='6.66 -0.4499999999999993 1.87'>
266 
                                                       <!-- HAnimSite BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tip is a DEF node that has 1 USE node: USE_1 -->
                                                       <HAnimSite DEF='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tipname='LeftLowArm_to_LeftHand_tiptranslation='0.0 -7.0 0.0'>
267                                                              <!-- BVH End Site OFFSET (0.0, -7.0, 0.0) -->
268                                                              <TouchSensor description='HAnimSite LeftLowArm_to_LeftHand_tip'/>
269                                                              <Shape USE='HAnimSiteShape'/>
270                                                              <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='LeftHand'/> to current <HAnimSite name='LeftLowArm_to_LeftHand_tip'/> -->
271                                                              <Shape>
272                                                                   <LineSet vertexCount='2containerField='geometry'>
273                                                                        <Coordinate point='0 7.0 0 0 0 0'/>
274                                                                        <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
275                                                                   </LineSet>
276                                                              </Shape>
277                                                         </HAnimSite>
278                                                         <!-- Visualization sphere for <HAnimJoint name='LeftHand'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand'> -->
279                                                         <TouchSensor description='HAnimJoint LeftHand LeftHand, HAnimSegment LeftLowArm_to_LeftHand'/>
280                                                         <Shape USE='HAnimJointShape'/>
281                                                    </Transform>
282                                               </HAnimSegment>
283                                          </HAnimJoint>
284                                     </HAnimJoint>
285                                </HAnimJoint>
286                           </HAnimJoint>
287 
                         <!-- HAnimJoint BvhUniversityWisconsionExample1_RightCollar is a DEF node that has 1 USE node: USE_1
                         <!-- ROUTE information for BvhUniversityWisconsionExample1_RightCollar node:  [from Interpolator9_RightCollar.value_changed to set_rotation ] -->
                         <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightCollarcenter='-1.12 21.44 1.87name='RightCollar'>
288                                <!-- BVH JOINT RightCollar, OFFSET -1.12 16.23 1.87, CHANNELS 3 Zrotation Xrotation Yrotation -->
289 
                              <!-- HAnimSegment BvhUniversityWisconsionExample1_vl5_to_RightCollar is a DEF node that has 1 USE node: USE_1 -->
                              <HAnimSegment DEF='BvhUniversityWisconsionExample1_vl5_to_RightCollarname='vl5_to_RightCollar'>
290                                     <!-- Transform to establish local-origin reference frame at center of current Joint -->
291                                     <Transform translation='-1.12 21.44 1.87'>
292                                          <!-- Visualization sphere for <HAnimJoint name='RightCollar'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_vl5_to_RightCollar'> -->
293                                          <TouchSensor description='HAnimJoint RightCollar RightCollar, HAnimSegment vl5_to_RightCollar'/>
294                                          <Shape USE='HAnimJointShape'/>
295                                          <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightCollar'/> to child <HAnimJoint name='RightUpArm'/> -->
296                                          <Shape>
297                                               <LineSet vertexCount='2containerField='geometry'>
298                                                    <Coordinate point='0 0 0 -6.07 0.0 0.0'/>
299                                                    <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
300                                               </LineSet>
301                                          </Shape>
302                                     </Transform>
303                                </HAnimSegment>
304 
                              <!-- HAnimJoint BvhUniversityWisconsionExample1_RightUpArm is a DEF node that has 1 USE node: USE_1
                              <!-- ROUTE information for BvhUniversityWisconsionExample1_RightUpArm node:  [from Interpolator10_RightUpArm.value_changed to set_rotation ] -->
                              <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightUpArmcenter='-7.19 21.44 1.87name='RightUpArm'>
305                                     <!-- BVH JOINT RightUpArm, OFFSET -6.07 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
306 
                                   <!-- HAnimSegment BvhUniversityWisconsionExample1_RightCollar_to_RightUpArm is a DEF node that has 1 USE node: USE_1 -->
                                   <HAnimSegment DEF='BvhUniversityWisconsionExample1_RightCollar_to_RightUpArmname='RightCollar_to_RightUpArm'>
307                                          <!-- Transform to establish local-origin reference frame at center of current Joint -->
308                                          <Transform translation='-7.19 21.44 1.87'>
309                                               <!-- Visualization sphere for <HAnimJoint name='RightUpArm'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightCollar_to_RightUpArm'> -->
310                                               <TouchSensor description='HAnimJoint RightUpArm RightUpArm, HAnimSegment RightCollar_to_RightUpArm'/>
311                                               <Shape USE='HAnimJointShape'/>
312                                               <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightUpArm'/> to child <HAnimJoint name='RightLowArm'/> -->
313                                               <Shape>
314                                                    <LineSet vertexCount='2containerField='geometry'>
315                                                         <Coordinate point='0 0 0 0.0 -11.82 0.0'/>
316                                                         <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
317                                                    </LineSet>
318                                               </Shape>
319                                          </Transform>
320                                     </HAnimSegment>
321 
                                   <!-- HAnimJoint BvhUniversityWisconsionExample1_RightLowArm is a DEF node that has 1 USE node: USE_1
                                   <!-- ROUTE information for BvhUniversityWisconsionExample1_RightLowArm node:  [from Interpolator11_RightLowArm.value_changed to set_rotation ] -->
                                   <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightLowArmcenter='-7.19 9.620000000000001 1.87name='RightLowArm'>
322                                          <!-- BVH JOINT RightLowArm, OFFSET 0.0 -11.82 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
323 
                                        <!-- HAnimSegment BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArm is a DEF node that has 1 USE node: USE_1 -->
                                        <HAnimSegment DEF='BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArmname='RightUpArm_to_RightLowArm'>
324                                               <!-- Transform to establish local-origin reference frame at center of current Joint -->
325                                               <Transform translation='-7.19 9.620000000000001 1.87'>
326                                                    <!-- Visualization sphere for <HAnimJoint name='RightLowArm'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArm'> -->
327                                                    <TouchSensor description='HAnimJoint RightLowArm RightLowArm, HAnimSegment RightUpArm_to_RightLowArm'/>
328                                                    <Shape USE='HAnimJointShape'/>
329                                                    <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightLowArm'/> to child <HAnimJoint name='RightHand'/> -->
330                                                    <Shape>
331                                                         <LineSet vertexCount='2containerField='geometry'>
332                                                              <Coordinate point='0 0 0 0.0 -10.65 0.0'/>
333                                                              <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
334                                                         </LineSet>
335                                                    </Shape>
336                                               </Transform>
337                                          </HAnimSegment>
338 
                                        <!-- HAnimJoint BvhUniversityWisconsionExample1_RightHand is a DEF node that has 1 USE node: USE_1
                                        <!-- ROUTE information for BvhUniversityWisconsionExample1_RightHand node:  [from Interpolator12_RightHand.value_changed to set_rotation ] -->
                                        <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightHandcenter='-7.19 -1.0299999999999994 1.87name='RightHand'>
339                                               <!-- BVH JOINT RightHand, OFFSET 0.0 -10.65 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
340 
                                             <!-- HAnimSegment BvhUniversityWisconsionExample1_RightLowArm_to_RightHand is a DEF node that has 1 USE node: USE_1 -->
                                             <HAnimSegment DEF='BvhUniversityWisconsionExample1_RightLowArm_to_RightHandname='RightLowArm_to_RightHand'>
341                                                    <!-- Transform to establish local-origin reference frame at center of current Joint -->
342                                                    <Transform translation='-7.19 -1.0299999999999994 1.87'>
343 
                                                       <!-- HAnimSite BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tip is a DEF node that has 1 USE node: USE_1 -->
                                                       <HAnimSite DEF='BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tipname='RightLowArm_to_RightHand_tiptranslation='0.0 -7.0 0.0'>
344                                                              <!-- BVH End Site OFFSET (0.0, -7.0, 0.0) -->
345                                                              <TouchSensor description='HAnimSite RightLowArm_to_RightHand_tip'/>
346                                                              <Shape USE='HAnimSiteShape'/>
347                                                              <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='RightHand'/> to current <HAnimSite name='RightLowArm_to_RightHand_tip'/> -->
348                                                              <Shape>
349                                                                   <LineSet vertexCount='2containerField='geometry'>
350                                                                        <Coordinate point='0 7.0 0 0 0 0'/>
351                                                                        <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
352                                                                   </LineSet>
353                                                              </Shape>
354                                                         </HAnimSite>
355                                                         <!-- Visualization sphere for <HAnimJoint name='RightHand'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightLowArm_to_RightHand'> -->
356                                                         <TouchSensor description='HAnimJoint RightHand RightHand, HAnimSegment RightLowArm_to_RightHand'/>
357                                                         <Shape USE='HAnimJointShape'/>
358                                                    </Transform>
359                                               </HAnimSegment>
360                                          </HAnimJoint>
361                                     </HAnimJoint>
362                                </HAnimJoint>
363                           </HAnimJoint>
364                      </HAnimJoint>
365 
                    <!-- HAnimJoint BvhUniversityWisconsionExample1_LeftUpLeg is a DEF node that has 1 USE node: USE_1
                    <!-- ROUTE information for BvhUniversityWisconsionExample1_LeftUpLeg node:  [from Interpolator13_LeftUpLeg.value_changed to set_rotation ] -->
                    <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftUpLegcenter='3.91 0.0 0.0name='LeftUpLeg'>
366                           <!-- BVH JOINT LeftUpLeg, OFFSET 3.91 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
367 
                         <!-- HAnimSegment BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLeg is a DEF node that has 1 USE node: USE_1 -->
                         <HAnimSegment DEF='BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLegname='humanoid_root_to_LeftUpLeg'>
368                                <!-- Transform to establish local-origin reference frame at center of current Joint -->
369                                <Transform translation='3.91 0.0 0.0'>
370                                     <!-- Visualization sphere for <HAnimJoint name='LeftUpLeg'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLeg'> -->
371                                     <TouchSensor description='HAnimJoint LeftUpLeg LeftUpLeg, HAnimSegment humanoid_root_to_LeftUpLeg'/>
372                                     <Shape USE='HAnimJointShape'/>
373                                     <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftUpLeg'/> to child <HAnimJoint name='LeftLowLeg'/> -->
374                                     <Shape>
375                                          <LineSet vertexCount='2containerField='geometry'>
376                                               <Coordinate point='0 0 0 0.0 -18.34 0.0'/>
377                                               <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
378                                          </LineSet>
379                                     </Shape>
380                                </Transform>
381                           </HAnimSegment>
382 
                         <!-- HAnimJoint BvhUniversityWisconsionExample1_LeftLowLeg is a DEF node that has 1 USE node: USE_1
                         <!-- ROUTE information for BvhUniversityWisconsionExample1_LeftLowLeg node:  [from Interpolator14_LeftLowLeg.value_changed to set_rotation ] -->
                         <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftLowLegcenter='3.91 -18.34 0.0name='LeftLowLeg'>
383                                <!-- BVH JOINT LeftLowLeg, OFFSET 0.0 -18.34 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
384 
                              <!-- HAnimSegment BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLeg is a DEF node that has 1 USE node: USE_1 -->
                              <HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLegname='LeftUpLeg_to_LeftLowLeg'>
385                                     <!-- Transform to establish local-origin reference frame at center of current Joint -->
386                                     <Transform translation='3.91 -18.34 0.0'>
387                                          <!-- Visualization sphere for <HAnimJoint name='LeftLowLeg'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLeg'> -->
388                                          <TouchSensor description='HAnimJoint LeftLowLeg LeftLowLeg, HAnimSegment LeftUpLeg_to_LeftLowLeg'/>
389                                          <Shape USE='HAnimJointShape'/>
390                                          <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftLowLeg'/> to child <HAnimJoint name='LeftFoot'/> -->
391                                          <Shape>
392                                               <LineSet vertexCount='2containerField='geometry'>
393                                                    <Coordinate point='0 0 0 0.0 -17.37 0.0'/>
394                                                    <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
395                                               </LineSet>
396                                          </Shape>
397                                     </Transform>
398                                </HAnimSegment>
399 
                              <!-- HAnimJoint BvhUniversityWisconsionExample1_LeftFoot is a DEF node that has 1 USE node: USE_1
                              <!-- ROUTE information for BvhUniversityWisconsionExample1_LeftFoot node:  [from Interpolator15_LeftFoot.value_changed to set_rotation ] -->
                              <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftFootcenter='3.91 -35.71 0.0name='LeftFoot'>
400                                     <!-- BVH JOINT LeftFoot, OFFSET 0.0 -17.37 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
401 
                                   <!-- HAnimSegment BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot is a DEF node that has 1 USE node: USE_1 -->
                                   <HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFootname='LeftLowLeg_to_LeftFoot'>
402                                          <!-- Transform to establish local-origin reference frame at center of current Joint -->
403                                          <Transform translation='3.91 -35.71 0.0'>
404 
                                             <!-- HAnimSite BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tip is a DEF node that has 1 USE node: USE_1 -->
                                             <HAnimSite DEF='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tipname='LeftLowLeg_to_LeftFoot_tiptranslation='0.0 -3.46 0.0'>
405                                                    <!-- BVH End Site OFFSET (0.0, -3.46, 0.0) -->
406                                                    <TouchSensor description='HAnimSite LeftLowLeg_to_LeftFoot_tip'/>
407                                                    <Shape USE='HAnimSiteShape'/>
408                                                    <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='LeftFoot'/> to current <HAnimSite name='LeftLowLeg_to_LeftFoot_tip'/> -->
409                                                    <Shape>
410                                                         <LineSet vertexCount='2containerField='geometry'>
411                                                              <Coordinate point='0 3.46 0 0 0 0'/>
412                                                              <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
413                                                         </LineSet>
414                                                    </Shape>
415                                               </HAnimSite>
416                                               <!-- Visualization sphere for <HAnimJoint name='LeftFoot'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot'> -->
417                                               <TouchSensor description='HAnimJoint LeftFoot LeftFoot, HAnimSegment LeftLowLeg_to_LeftFoot'/>
418                                               <Shape USE='HAnimJointShape'/>
419                                          </Transform>
420                                     </HAnimSegment>
421                                </HAnimJoint>
422                           </HAnimJoint>
423                      </HAnimJoint>
424 
                    <!-- HAnimJoint BvhUniversityWisconsionExample1_RightUpLeg is a DEF node that has 1 USE node: USE_1
                    <!-- ROUTE information for BvhUniversityWisconsionExample1_RightUpLeg node:  [from Interpolator16_RightUpLeg.value_changed to set_rotation ] -->
                    <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightUpLegcenter='-3.91 0.0 0.0name='RightUpLeg'>
425                           <!-- BVH JOINT RightUpLeg, OFFSET -3.91 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
426 
                         <!-- HAnimSegment BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLeg is a DEF node that has 1 USE node: USE_1 -->
                         <HAnimSegment DEF='BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLegname='humanoid_root_to_RightUpLeg'>
427                                <!-- Transform to establish local-origin reference frame at center of current Joint -->
428                                <Transform translation='-3.91 0.0 0.0'>
429                                     <!-- Visualization sphere for <HAnimJoint name='RightUpLeg'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLeg'> -->
430                                     <TouchSensor description='HAnimJoint RightUpLeg RightUpLeg, HAnimSegment humanoid_root_to_RightUpLeg'/>
431                                     <Shape USE='HAnimJointShape'/>
432                                     <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightUpLeg'/> to child <HAnimJoint name='RightLowLeg'/> -->
433                                     <Shape>
434                                          <LineSet vertexCount='2containerField='geometry'>
435                                               <Coordinate point='0 0 0 0.0 -17.63 0.0'/>
436                                               <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
437                                          </LineSet>
438                                     </Shape>
439                                </Transform>
440                           </HAnimSegment>
441 
                         <!-- HAnimJoint BvhUniversityWisconsionExample1_RightLowLeg is a DEF node that has 1 USE node: USE_1
                         <!-- ROUTE information for BvhUniversityWisconsionExample1_RightLowLeg node:  [from Interpolator17_RightLowLeg.value_changed to set_rotation ] -->
                         <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightLowLegcenter='-3.91 -17.63 0.0name='RightLowLeg'>
442                                <!-- BVH JOINT RightLowLeg, OFFSET 0.0 -17.63 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
443 
                              <!-- HAnimSegment BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLeg is a DEF node that has 1 USE node: USE_1 -->
                              <HAnimSegment DEF='BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLegname='RightUpLeg_to_RightLowLeg'>
444                                     <!-- Transform to establish local-origin reference frame at center of current Joint -->
445                                     <Transform translation='-3.91 -17.63 0.0'>
446                                          <!-- Visualization sphere for <HAnimJoint name='RightLowLeg'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLeg'> -->
447                                          <TouchSensor description='HAnimJoint RightLowLeg RightLowLeg, HAnimSegment RightUpLeg_to_RightLowLeg'/>
448                                          <Shape USE='HAnimJointShape'/>
449                                          <!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightLowLeg'/> to child <HAnimJoint name='RightFoot'/> -->
450                                          <Shape>
451                                               <LineSet vertexCount='2containerField='geometry'>
452                                                    <Coordinate point='0 0 0 0.0 -17.14 0.0'/>
453                                                    <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
454                                               </LineSet>
455                                          </Shape>
456                                     </Transform>
457                                </HAnimSegment>
458 
                              <!-- HAnimJoint BvhUniversityWisconsionExample1_RightFoot is a DEF node that has 1 USE node: USE_1
                              <!-- ROUTE information for BvhUniversityWisconsionExample1_RightFoot node:  [from Interpolator18_RightFoot.value_changed to set_rotation ] -->
                              <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightFootcenter='-3.91 -34.769999999999996 0.0name='RightFoot'>
459                                     <!-- BVH JOINT RightFoot, OFFSET 0.0 -17.14 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
460 
                                   <!-- HAnimSegment BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot is a DEF node that has 1 USE node: USE_1 -->
                                   <HAnimSegment DEF='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFootname='RightLowLeg_to_RightFoot'>
461                                          <!-- Transform to establish local-origin reference frame at center of current Joint -->
462                                          <Transform translation='-3.91 -34.769999999999996 0.0'>
463 
                                             <!-- HAnimSite BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tip is a DEF node that has 1 USE node: USE_1 -->
                                             <HAnimSite DEF='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tipname='RightLowLeg_to_RightFoot_tiptranslation='0.0 -3.75 0.0'>
464                                                    <!-- BVH End Site OFFSET (0.0, -3.75, 0.0) -->
465                                                    <TouchSensor description='HAnimSite RightLowLeg_to_RightFoot_tip'/>
466                                                    <Shape USE='HAnimSiteShape'/>
467                                                    <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='RightFoot'/> to current <HAnimSite name='RightLowLeg_to_RightFoot_tip'/> -->
468                                                    <Shape>
469                                                         <LineSet vertexCount='2containerField='geometry'>
470                                                              <Coordinate point='0 3.75 0 0 0 0'/>
471                                                              <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
472                                                         </LineSet>
473                                                    </Shape>
474                                               </HAnimSite>
475                                               <!-- Visualization sphere for <HAnimJoint name='RightFoot'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot'> -->
476                                               <TouchSensor description='HAnimJoint RightFoot RightFoot, HAnimSegment RightLowLeg_to_RightFoot'/>
477                                               <Shape USE='HAnimJointShape'/>
478                                          </Transform>
479                                     </HAnimSegment>
480                                </HAnimJoint>
481                           </HAnimJoint>
482                      </HAnimJoint>
483                 </HAnimJoint>
484                 <!-- top-level USE nodes follow DEF declarations and can be employed by inverse-kinematics (IK) engines or other HAnim tools -->
485                 <HAnimJoint USE='BvhUniversityWisconsionExample1_humanoid_rootcontainerField='joints'/>
486                 <HAnimJoint USE='BvhUniversityWisconsionExample1_vl5containerField='joints'/>
487                 <HAnimJoint USE='BvhUniversityWisconsionExample1_NeckcontainerField='joints'/>
488                 <HAnimJoint USE='BvhUniversityWisconsionExample1_skullbasecontainerField='joints'/>
489                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftCollarcontainerField='joints'/>
490                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftUpArmcontainerField='joints'/>
491                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftLowArmcontainerField='joints'/>
492                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftHandcontainerField='joints'/>
493                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightCollarcontainerField='joints'/>
494                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightUpArmcontainerField='joints'/>
495                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightLowArmcontainerField='joints'/>
496                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightHandcontainerField='joints'/>
497                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftUpLegcontainerField='joints'/>
498                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftLowLegcontainerField='joints'/>
499                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftFootcontainerField='joints'/>
500                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightUpLegcontainerField='joints'/>
501                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightLowLegcontainerField='joints'/>
502                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightFootcontainerField='joints'/>
503                 <HAnimSegment USE='BvhUniversityWisconsionExample1_sacrumcontainerField='segments'/>
504                 <HAnimSegment USE='BvhUniversityWisconsionExample1_l5containerField='segments'/>
505                 <HAnimSegment USE='BvhUniversityWisconsionExample1_vl5_to_NeckcontainerField='segments'/>
506                 <HAnimSegment USE='BvhUniversityWisconsionExample1_skullcontainerField='segments'/>
507                 <HAnimSegment USE='BvhUniversityWisconsionExample1_vl5_to_LeftCollarcontainerField='segments'/>
508                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArmcontainerField='segments'/>
509                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArmcontainerField='segments'/>
510                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHandcontainerField='segments'/>
511                 <HAnimSegment USE='BvhUniversityWisconsionExample1_vl5_to_RightCollarcontainerField='segments'/>
512                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightCollar_to_RightUpArmcontainerField='segments'/>
513                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArmcontainerField='segments'/>
514                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightLowArm_to_RightHandcontainerField='segments'/>
515                 <HAnimSegment USE='BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLegcontainerField='segments'/>
516                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLegcontainerField='segments'/>
517                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFootcontainerField='segments'/>
518                 <HAnimSegment USE='BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLegcontainerField='segments'/>
519                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLegcontainerField='segments'/>
520                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFootcontainerField='segments'/>
521                 <HAnimSite USE='BvhUniversityWisconsionExample1_humanoid_root_viewcontainerField='sites'/>
522                 <HAnimSite USE='BvhUniversityWisconsionExample1_skull_tipcontainerField='sites'/>
523                 <HAnimSite USE='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tipcontainerField='sites'/>
524                 <HAnimSite USE='BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tipcontainerField='sites'/>
525                 <HAnimSite USE='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tipcontainerField='sites'/>
526                 <HAnimSite USE='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tipcontainerField='sites'/>
527            </HAnimHumanoid>
528            <!-- ============================================================= -->
529            <!-- testAxisAngleRotation() results compared to RotationTests.x3d -->
530            <!-- getAxisAngleRotation(-4.40030,-0.38161,-1.82953) = (0.4067064033441406, -0.7164490591980798, -0.566825058596618, 2.6752961450535095), expected rotation: 0.40671 -0.71645 -0.56683 2.6753 -->
531            <!-- getAxisAngleRotation(5.80115,2.55377,2.83223) = (-0.9645827419506009, 0.07774106101143803, 0.2520643992393143, 2.59673649727989), expected rotation: -0.96458 0.07774 0.25206 2.59674 -->
532            <!-- getAxisAngleRotation(-3.76620,-3.47408,-3.93998) = (0.4075772844419879, -0.491492223290994, -0.7696207843161272, 1.1286216623422884), expected rotation: 0.40758 -0.49149 -0.76962 1.12862 -->
533            <!-- ============================================================= -->
534            <Group DEF='BvhUniversityWisconsionExample1_MotionGroup'>
535                 <!-- BVH MOTION -->
536                 <!-- BVH Frames: 2 -->
537                 <!-- BVH Frame Time: 0.033333 seconds (30.01 frames per second) -->
538                 <!-- Expected frame count: 2, actual frame count: 2, animation total duration: 0.067 seconds -->
539                 <!-- Frame width: 19 triplet values -->
540                 <!-- Total count: 57 * 2 = 114 recorded motion values -->
541                 <!-- Animation playback: enable RealTimer for continuous motion at 30.010 frames/second (fps) -->
542 
543                 <!-- Alternative replay: enable StepTimer for discrete time-step motion at 1 fps -->
544 
               <!-- ROUTE information for StepTimer node:  [from fraction_changed to FrameStepper.set_fraction ] -->
               <TimeSensor DEF='StepTimercycleInterval='2enabled='falseloop='true'/>
545 
546                 < ROUTE  fromNode='StepTimer' fromField='fraction_changed' toNode='FrameStepper' toField='set_fraction'/>
547                 <!-- Interpolator0_humanoid_root channels [0..2] sends animation values to BVH JOINT ROOT_Hips = <HAnimJoint DEF='BvhUniversityWisconsionExample1_ROOT_Hips' name='humanoid_root'/> -->
548 
               <!-- ROUTE information for Interpolator0_humanoid_root node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_humanoid_root.set_translation ] -->
               <PositionInterpolator DEF='Interpolator0_humanoid_rootkey='0.0000 1.0keyValue='0.8030 3.5010 8.8360 0.7810 3.5100 8.6470'/>
549                 <!-- Position triplet values, CHANNELS Xposition Yposition Zposition Zrotation Xrotation Yrotation, with min/max ranges [1.7976931348623157E308,4.9E-324], [1.7976931348623157E308,4.9E-324], [1.7976931348623157E308,4.9E-324] degrees -->
550                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 8.030000 35.010000 88.360000, 7.810000 35.100000 86.470000 -->
551                 <!-- Interpolator1_humanoid_root channels [3..5] sends animation values to BVH JOINT ROOT_Hips = <HAnimJoint DEF='BvhUniversityWisconsionExample1_ROOT_Hips' name='humanoid_root'/> -->
552 
               <!-- ROUTE information for Interpolator1_humanoid_root node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_humanoid_root.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator1_humanoid_rootkey='0.0000 1.0keyValue='-0.0118 -0.9911 -0.1325 2.8785 -0.0199 -0.9930 -0.1163 2.9232'/>
553                 <!-- Euler angle triplet values, CHANNELS Xposition Yposition Zposition Zrotation Xrotation Yrotation, with min/max ranges [-3.78,4.9E-324], [12.94,14.78], [-166.97,4.9E-324] degrees -->
554                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: -3.410000 14.780000 -164.350000, -3.780000 12.940000 -166.970000 -->
555                 <!-- Interpolator2_vl5 channels [6..8] sends animation values to BVH JOINT Chest = <HAnimJoint DEF='BvhUniversityWisconsionExample1_vl5' name='vl5'/> -->
556 
               <!-- ROUTE information for Interpolator2_vl5 node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_vl5.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator2_vl5key='0.0000 1.0keyValue='0.9093 -0.4082 0.0806 0.8073 0.9336 -0.3501 0.0768 0.8240'/>
557                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [12.64,13.09], [40.3,42.57], [-24.6,4.9E-324] degrees -->
558                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 13.090000 40.300000 -24.600000, 12.640000 42.570000 -22.340000 -->
559                 <!-- Interpolator3_Neck channels [9..11] sends animation values to BVH JOINT Neck = <HAnimJoint DEF='BvhUniversityWisconsionExample1_Neck' name='Neck'/> -->
560 
               <!-- ROUTE information for Interpolator3_Neck node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_Neck.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator3_Neckkey='0.0000 1.0keyValue='0.9834 0.0677 0.1685 0.7761 0.9841 0.0660 0.1649 0.7723'/>
561                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [7.67,7.88], [43.61,43.8], [0.0,4.9E-324] degrees -->
562                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 7.880000 43.800000 0.000000, 7.670000 43.610000 0.000000 -->
563                 <!-- Interpolator4_skullbase channels [12..14] sends animation values to BVH JOINT Head = <HAnimJoint DEF='BvhUniversityWisconsionExample1_skullbase' name='skullbase'/> -->
564 
               <!-- ROUTE information for Interpolator4_skullbase node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_skullbase.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator4_skullbasekey='0.0000 1.0keyValue='-0.9778 0.1629 -0.1317 0.7360 -0.9794 0.1474 -0.1381 0.7342'/>
565                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [-4.23,4.9E-324], [-41.45,4.9E-324], [4.89,5.82] degrees -->
566                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: -3.610000 -41.450000 5.820000, -4.230000 -41.410000 4.890000 -->
567                 <!-- Interpolator5_LeftCollar channels [15..17] sends animation values to BVH JOINT LeftCollar = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftCollar' name='LeftCollar'/> -->
568 
               <!-- ROUTE information for Interpolator5_LeftCollar node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_LeftCollar.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator5_LeftCollarkey='0.0000 1.0keyValue='-0.0626 0.7102 0.7012 0.2502 -0.0355 0.2109 0.9769 0.3411'/>
569                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [10.08,19.1], [0.0,4.9E-324], [4.16,10.21] degrees -->
570                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 10.080000 0.000000 10.210000, 19.100000 0.000000 4.160000 -->
571                 <!-- Interpolator6_LeftUpArm channels [18..20] sends animation values to BVH JOINT LeftUpArm = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftUpArm' name='LeftUpArm'/> -->
572 
               <!-- ROUTE information for Interpolator6_LeftUpArm node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_LeftUpArm.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator6_LeftUpArmkey='0.0000 1.0keyValue='-0.1561 -0.2157 0.9639 1.7536 0.0022 -0.1597 0.9872 1.6521'/>
573                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [93.12,97.95], [-23.53,4.9E-324], [-9.43,4.9E-324] degrees -->
574                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 97.950000 -23.530000 -2.140000, 93.120000 -9.690000 -9.430000 -->
575                 <!-- Interpolator7_LeftLowArm channels [21..23] sends animation values to BVH JOINT LeftLowArm = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftLowArm' name='LeftLowArm'/> -->
576 
               <!-- ROUTE information for Interpolator7_LeftLowArm node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_LeftLowArm.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator7_LeftLowArmkey='0.0000 1.0keyValue='-0.9933 -0.0526 -0.1030 1.6066 -0.9965 0.0822 0.0138 1.6744'/>
577                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [-101.86,132.67], [-81.86,4.9E-324], [-98.91,136.8] degrees -->
578                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: -101.860000 -80.770000 -98.910000, 132.670000 -81.860000 136.800000 -->
579                 <!-- Interpolator8_LeftHand channels [24..26] sends animation values to BVH JOINT LeftHand = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftHand' name='LeftHand'/> -->
580 
               <!-- ROUTE information for Interpolator8_LeftHand node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_LeftHand.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator8_LeftHandkey='0.0000 1.0keyValue='0.0434 0.0003 0.9991 0.0121 0.4673 0.0029 0.8841 0.0138'/>
581                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [0.69,0.7], [0.03,0.37], [0.0,4.9E-324] degrees -->
582                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 0.690000 0.030000 0.000000, 0.700000 0.370000 0.000000 -->
583                 <!-- Interpolator9_RightCollar channels [27..29] sends animation values to BVH JOINT RightCollar = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightCollar' name='RightCollar'/> -->
584 
               <!-- ROUTE information for Interpolator9_RightCollar node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_RightCollar.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator9_RightCollarkey='0.0000 1.0keyValue='-0.0734 -0.5964 -0.7993 0.3057 -0.0700 -0.9291 -0.3633 0.4091'/>
585                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [-14.04,4.9E-324], [0.0,4.9E-324], [-21.82,4.9E-324] degrees -->
586                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: -14.040000 0.000000 -10.500000, -8.620000 0.000000 -21.820000 -->
587                 <!-- Interpolator10_RightUpArm channels [30..32] sends animation values to BVH JOINT RightUpArm = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightUpArm' name='RightUpArm'/> -->
588 
               <!-- ROUTE information for Interpolator10_RightUpArm node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_RightUpArm.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator10_RightUpArmkey='0.0000 1.0keyValue='-0.6801 -0.6074 -0.4106 2.0536 -0.7650 -0.5303 -0.3654 1.9107'/>
589                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [-87.31,4.9E-324], [-27.57,4.9E-324], [-102.93,4.9E-324] degrees -->
590                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: -85.520000 -13.720000 -102.930000, -87.310000 -27.570000 -100.090000 -->
591                 <!-- Interpolator11_RightLowArm channels [33..35] sends animation values to BVH JOINT RightLowArm = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightLowArm' name='RightLowArm'/> -->
592 
               <!-- ROUTE information for Interpolator11_RightLowArm node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_RightLowArm.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator11_RightLowArmkey='0.0000 1.0keyValue='-0.9378 0.2739 0.2135 1.4058 -0.9433 0.2577 0.2091 1.3563'/>
593                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [56.17,61.91], [-61.56,4.9E-324], [58.72,65.18] degrees -->
594                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 61.910000 -61.180000 65.180000, 56.170000 -61.560000 58.720000 -->
595                 <!-- Interpolator12_RightHand channels [36..38] sends animation values to BVH JOINT RightHand = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightHand' name='RightHand'/> -->
596 
               <!-- ROUTE information for Interpolator12_RightHand node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_RightHand.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator12_RightHandkey='0.0000 1.0keyValue='0.4025 0.0061 -0.9154 0.0299 0.5037 0.0087 -0.8638 0.0329'/>
597                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [-1.63,4.9E-324], [0.69,0.95], [0.02,0.03] degrees -->
598                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: -1.570000 0.690000 0.020000, -1.630000 0.950000 0.030000 -->
599                 <!-- Interpolator13_LeftUpLeg channels [39..41] sends animation values to BVH JOINT LeftUpLeg = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftUpLeg' name='LeftUpLeg'/> -->
600 
               <!-- ROUTE information for Interpolator13_LeftUpLeg node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_LeftUpLeg.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator13_LeftUpLegkey='0.0000 1.0keyValue='0.8595 -0.1039 0.5004 0.4748 0.7784 -0.0864 0.6217 0.3536'/>
601                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [13.16,15.0], [15.44,22.78], [-5.92,4.9E-324] degrees -->
602                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 15.000000 22.780000 -5.920000, 13.160000 15.440000 -3.560000 -->
603                 <!-- Interpolator14_LeftLowLeg channels [42..44] sends animation values to BVH JOINT LeftLowLeg = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftLowLeg' name='LeftLowLeg'/> -->
604 
               <!-- ROUTE information for Interpolator14_LeftLowLeg node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_LeftLowLeg.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator14_LeftLowLegkey='0.0000 1.0keyValue='0.9184 0.2378 0.3162 0.9291 0.9762 0.1432 0.1627 1.0525'/>
605                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [7.97,14.93], [49.99,59.29], [4.97,6.6] degrees -->
606                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 14.930000 49.990000 6.600000, 7.970000 59.290000 4.970000 -->
607                 <!-- Interpolator15_LeftFoot channels [45..47] sends animation values to BVH JOINT LeftFoot = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftFoot' name='LeftFoot'/> -->
608 
               <!-- ROUTE information for Interpolator15_LeftFoot node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_LeftFoot.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator15_LeftFootkey='0.0000 1.0keyValue='-1.0000 0.0000 0.0000 0.0199 1.0000 0.0000 0.0000 0.0286'/>
609                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [0.0,4.9E-324], [-1.14,1.64], [0.0,4.9E-324] degrees -->
610                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 0.000000 -1.140000 0.000000, 0.000000 1.640000 0.000000 -->
611                 <!-- Interpolator16_RightUpLeg channels [48..50] sends animation values to BVH JOINT RightUpLeg = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightUpLeg' name='RightUpLeg'/> -->
612 
               <!-- ROUTE information for Interpolator16_RightUpLeg node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_RightUpLeg.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator16_RightUpLegkey='0.0000 1.0keyValue='-0.5548 -0.0795 -0.8282 0.3423 -0.5234 -0.0778 -0.8485 0.3468'/>
613                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [-17.18,4.9E-324], [-10.51,4.9E-324], [-3.11,4.9E-324] degrees -->
614                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: -16.580000 -10.510000 -3.110000, -17.180000 -10.020000 -3.080000 -->
615                 <!-- Interpolator17_RightLowLeg channels [51..53] sends animation values to BVH JOINT RightLowLeg = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightLowLeg' name='RightLowLeg'/> -->
616 
               <!-- ROUTE information for Interpolator17_RightLowLeg node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_RightLowLeg.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator17_RightLowLegkey='0.0000 1.0keyValue='0.9694 -0.2340 0.0739 0.9755 0.9797 -0.1864 0.0732 0.9707'/>
617                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [13.56,15.38], [52.66,53.38], [-21.8,4.9E-324] degrees -->
618                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 15.380000 52.660000 -21.800000, 13.560000 53.380000 -18.070000 -->
619                 <!-- Interpolator18_RightFoot channels [54..56] sends animation values to BVH JOINT RightFoot = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightFoot' name='RightFoot'/> -->
620 
               <!-- ROUTE information for Interpolator18_RightFoot node:  [from RealTimer.fraction_changed to set_fraction ] [from FrameStepper.value_changed to set_fraction ] [from value_changed to BvhUniversityWisconsionExample1_RightFoot.set_rotation ] -->
               <OrientationInterpolator DEF='Interpolator18_RightFootkey='0.0000 1.0keyValue='-1.0000 0.0000 0.0000 0.4180 -1.0000 0.0000 0.0000 0.4526'/>
621                 <!-- Euler angle triplet values, CHANNELS Zrotation Xrotation Yrotation, with min/max ranges [0.0,4.9E-324], [-25.93,4.9E-324], [0.0,4.9E-324] degrees -->
622                 <!-- Vertical channel slice of 3 Euler angles from BVH motion array: 0.000000 -23.950000 0.000000, 0.000000 -25.930000 0.000000 -->
623                 <!-- Overall angle min/max range [-166.97,136.8] degrees -->
624                 <!-- Corresponding ROUTE statements to send animation values -->
625                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator0_humanoid_root' toField='set_fraction'/>
626                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator0_humanoid_root' toField='set_fraction'/>
627                 < ROUTE  fromNode='Interpolator0_humanoid_root' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_humanoid_root' toField='set_translation'/>
628                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator1_humanoid_root' toField='set_fraction'/>
629                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator1_humanoid_root' toField='set_fraction'/>
630                 < ROUTE  fromNode='Interpolator1_humanoid_root' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_humanoid_root' toField='set_rotation'/>
631                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator2_vl5' toField='set_fraction'/>
632                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator2_vl5' toField='set_fraction'/>
633                 < ROUTE  fromNode='Interpolator2_vl5' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_vl5' toField='set_rotation'/>
634                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator3_Neck' toField='set_fraction'/>
635                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator3_Neck' toField='set_fraction'/>
636                 < ROUTE  fromNode='Interpolator3_Neck' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_Neck' toField='set_rotation'/>
637                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator4_skullbase' toField='set_fraction'/>
638                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator4_skullbase' toField='set_fraction'/>
639                 < ROUTE  fromNode='Interpolator4_skullbase' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_skullbase' toField='set_rotation'/>
640                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator5_LeftCollar' toField='set_fraction'/>
641                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator5_LeftCollar' toField='set_fraction'/>
642                 < ROUTE  fromNode='Interpolator5_LeftCollar' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_LeftCollar' toField='set_rotation'/>
643                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator6_LeftUpArm' toField='set_fraction'/>
644                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator6_LeftUpArm' toField='set_fraction'/>
645                 < ROUTE  fromNode='Interpolator6_LeftUpArm' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_LeftUpArm' toField='set_rotation'/>
646                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator7_LeftLowArm' toField='set_fraction'/>
647                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator7_LeftLowArm' toField='set_fraction'/>
648                 < ROUTE  fromNode='Interpolator7_LeftLowArm' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_LeftLowArm' toField='set_rotation'/>
649                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator8_LeftHand' toField='set_fraction'/>
650                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator8_LeftHand' toField='set_fraction'/>
651                 < ROUTE  fromNode='Interpolator8_LeftHand' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_LeftHand' toField='set_rotation'/>
652                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator9_RightCollar' toField='set_fraction'/>
653                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator9_RightCollar' toField='set_fraction'/>
654                 < ROUTE  fromNode='Interpolator9_RightCollar' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_RightCollar' toField='set_rotation'/>
655                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator10_RightUpArm' toField='set_fraction'/>
656                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator10_RightUpArm' toField='set_fraction'/>
657                 < ROUTE  fromNode='Interpolator10_RightUpArm' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_RightUpArm' toField='set_rotation'/>
658                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator11_RightLowArm' toField='set_fraction'/>
659                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator11_RightLowArm' toField='set_fraction'/>
660                 < ROUTE  fromNode='Interpolator11_RightLowArm' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_RightLowArm' toField='set_rotation'/>
661                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator12_RightHand' toField='set_fraction'/>
662                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator12_RightHand' toField='set_fraction'/>
663                 < ROUTE  fromNode='Interpolator12_RightHand' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_RightHand' toField='set_rotation'/>
664                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator13_LeftUpLeg' toField='set_fraction'/>
665                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator13_LeftUpLeg' toField='set_fraction'/>
666                 < ROUTE  fromNode='Interpolator13_LeftUpLeg' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_LeftUpLeg' toField='set_rotation'/>
667                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator14_LeftLowLeg' toField='set_fraction'/>
668                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator14_LeftLowLeg' toField='set_fraction'/>
669                 < ROUTE  fromNode='Interpolator14_LeftLowLeg' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_LeftLowLeg' toField='set_rotation'/>
670                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator15_LeftFoot' toField='set_fraction'/>
671                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator15_LeftFoot' toField='set_fraction'/>
672                 < ROUTE  fromNode='Interpolator15_LeftFoot' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_LeftFoot' toField='set_rotation'/>
673                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator16_RightUpLeg' toField='set_fraction'/>
674                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator16_RightUpLeg' toField='set_fraction'/>
675                 < ROUTE  fromNode='Interpolator16_RightUpLeg' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_RightUpLeg' toField='set_rotation'/>
676                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator17_RightLowLeg' toField='set_fraction'/>
677                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator17_RightLowLeg' toField='set_fraction'/>
678                 < ROUTE  fromNode='Interpolator17_RightLowLeg' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_RightLowLeg' toField='set_rotation'/>
679                 < ROUTE  fromNode='RealTimer' fromField='fraction_changed' toNode='Interpolator18_RightFoot' toField='set_fraction'/>
680                 < ROUTE  fromNode='FrameStepper' fromField='value_changed' toNode='Interpolator18_RightFoot' toField='set_fraction'/>
681                 < ROUTE  fromNode='Interpolator18_RightFoot' fromField='value_changed' toNode='BvhUniversityWisconsionExample1_RightFoot' toField='set_rotation'/>
682            </Group>
683            <!-- All frame data: 8.030 35.010 88.360 -3.410 14.780 -164.350 13.090 40.300 -24.600 7.880 43.800 0.000 -3.610 -41.450 5.820 10.080 0.000 10.210 97.950 -23.530 -2.140 -101.860 -80.770 -98.910 0.690 0.030 0.000 -14.040 0.000 -10.500 -85.520 -13.720 -102.930 61.910 -61.180 65.180 -1.570 0.690 0.020 15.000 22.780 -5.920 14.930 49.990 6.600 0.000 -1.140 0.000 -16.580 -10.510 -3.110 15.380 52.660 -21.800 0.000 -23.950 0.000 7.810 35.100 86.470 -3.780 12.940 -166.970 12.640 42.570 -22.340 7.670 43.610 0.000 -4.230 -41.410 4.890 19.100 0.000 4.160 93.120 -9.690 -9.430 132.670 -81.860 136.800 0.700 0.370 0.000 -8.620 0.000 -21.820 -87.310 -27.570 -100.090 56.170 -61.560 58.720 -1.630 0.950 0.030 13.160 15.440 -3.560 7.970 59.290 4.970 0.000 1.640 0.000 -17.180 -10.020 -3.080 13.560 53.380 -18.070 0.000 -25.930 0.000 -->
684       </Scene>
685  </X3D>
<!--

Event Graph ROUTE Table shows event connections.

HAnimHumanoid model visualization report: ROOT_Hips HAnimHumanoid Report

--> <!-- to top DEF nodes index: BvhUniversityWisconsionExample1_BvhToX3dConversionImportInformation, BvhUniversityWisconsionExample1_humanoid_root, BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLeg, BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLeg, BvhUniversityWisconsionExample1_humanoid_root_view, BvhUniversityWisconsionExample1_l5, BvhUniversityWisconsionExample1_LeftCollar, BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArm, BvhUniversityWisconsionExample1_LeftFoot, BvhUniversityWisconsionExample1_LeftHand, BvhUniversityWisconsionExample1_LeftLowArm, BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand, BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tip, BvhUniversityWisconsionExample1_LeftLowLeg, BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot, BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tip, BvhUniversityWisconsionExample1_LeftUpArm, BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArm, BvhUniversityWisconsionExample1_LeftUpLeg, BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLeg, BvhUniversityWisconsionExample1_MotionGroup, BvhUniversityWisconsionExample1_Neck, BvhUniversityWisconsionExample1_RightCollar, BvhUniversityWisconsionExample1_RightCollar_to_RightUpArm, BvhUniversityWisconsionExample1_RightFoot, BvhUniversityWisconsionExample1_RightHand, BvhUniversityWisconsionExample1_RightLowArm, BvhUniversityWisconsionExample1_RightLowArm_to_RightHand, BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tip, BvhUniversityWisconsionExample1_RightLowLeg, BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot, BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tip, BvhUniversityWisconsionExample1_RightUpArm, BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArm, BvhUniversityWisconsionExample1_RightUpLeg, BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLeg, BvhUniversityWisconsionExample1_ROOT_Hips, BvhUniversityWisconsionExample1_sacrum, BvhUniversityWisconsionExample1_skull, BvhUniversityWisconsionExample1_skull_tip, BvhUniversityWisconsionExample1_skullbase, BvhUniversityWisconsionExample1_vl5, BvhUniversityWisconsionExample1_vl5_to_LeftCollar, BvhUniversityWisconsionExample1_vl5_to_Neck, BvhUniversityWisconsionExample1_vl5_to_RightCollar, DiamondIFS, FrameStepper, HAnimJointMaterial, HAnimJointShape, HAnimJointSphere, HAnimRootMaterial, HAnimRootShape, HAnimSegmentLineColorRGBA, HAnimSiteLineColorRGBA, HAnimSiteShape, InitialPositionScaled, Interpolator0_humanoid_root, Interpolator1_humanoid_root, Interpolator10_RightUpArm, Interpolator11_RightLowArm, Interpolator12_RightHand, Interpolator13_LeftUpLeg, Interpolator14_LeftLowLeg, Interpolator15_LeftFoot, Interpolator16_RightUpLeg, Interpolator17_RightLowLeg, Interpolator18_RightFoot, Interpolator2_vl5, Interpolator3_Neck, Interpolator4_skullbase, Interpolator5_LeftCollar, Interpolator6_LeftUpArm, Interpolator7_LeftLowArm, Interpolator8_LeftHand, Interpolator9_RightCollar, RealTimer, StepTimer

Index for Viewpoint nodes: Viewpoint_1, Viewpoint_2, Viewpoint_3, BvhUniversityWisconsionExample1_humanoid_root_viewpoint

-->
X3D Tooltips element index: to top Appearance, ColorRGBA, component, Coordinate, Group, HAnimHumanoid, HAnimJoint, HAnimSegment, HAnimSite, head, IndexedFaceSet, LineSet, Material, meta, MetadataSet, MetadataString, NavigationInfo, OrientationInterpolator, PositionInterpolator, ROUTE, ScalarInterpolator, Scene, Shape, Sphere, Switch, TimeSensor, TouchSensor, Transform, Viewpoint, WorldInfo, X3D,
plus documentation for accessType definitions, type definitions, XML data types, and field types
<!--

🔖 HAnimHumanoid model visualization report: BvhUniversityWisconsionExample1_ROOT_Hips

=============================================================================================================================
HAnimHumanoid BvhUniversityWisconsionExample1_ROOT_Hips skeleton holds X3D4 HAnim2 joints/segments/sites.
  [key] jointname : segmentname ^ sitename
[nodes] HAnimJoint (18), : HAnimSegment (18), % HAnimDisplacer (0), $ HAnimMotion (0), ^ HAnimSite (6), @ skin nodes (0)
=============================================================================================================================
HAnimHumanoid DEF='BvhUniversityWisconsionExample1_ROOT_Hips name='ROOT_Hips' loa='-1'
skeleton
  humanoid_root : sacrum
    vl5 : l5
    | Neck : vl5_to_Neck
    | | skullbase : skull
    | LeftCollar : vl5_to_LeftCollar
    | | LeftUpArm : LeftCollar_to_LeftUpArm
    | |   LeftLowArm : LeftUpArm_to_LeftLowArm
    | |     LeftHand : LeftLowArm_to_LeftHand
    | RightCollar : vl5_to_RightCollar
    |   RightUpArm : RightCollar_to_RightUpArm
    |     RightLowArm : RightUpArm_to_RightLowArm
    |       RightHand : RightLowArm_to_RightHand
    LeftUpLeg : humanoid_root_to_LeftUpLeg
    | LeftLowLeg : LeftUpLeg_to_LeftLowLeg
    |   LeftFoot : LeftLowLeg_to_LeftFoot
    RightUpLeg : humanoid_root_to_RightUpLeg
      RightLowLeg : RightUpLeg_to_RightLowLeg
        RightFoot : RightLowLeg_to_RightFoot

^ HAnimHumanoid ROOT_Hips holds 1 HAnimSite node: humanoid_root_view
^ Transform  holds 1 HAnimSite node: skull_tip
^ Transform  holds 1 HAnimSite node: LeftLowArm_to_LeftHand_tip
^ Transform  holds 1 HAnimSite node: RightLowArm_to_RightHand_tip
^ Transform  holds 1 HAnimSite node: LeftLowLeg_to_LeftFoot_tip
^ Transform  holds 1 HAnimSite node: RightLowLeg_to_RightFoot_tip
=============================================================================================================================

The following inset decorates the original HAnimHumanoid skeleton with additional visualization shapes. Authors can copy/paste this version to assist in visually diagnosing skeleton correctness.

Key to author-assist additions inserted in the HAnimHumanoid skeleton:

  • </HAnimSegment>
    <!-- HAnimSite visualization shape -->
  • <TouchSensor description='HAnimSite skull_tip'/>
  • <Shape USE='HAnimSiteShape'/>
  • </HAnimSite></Transform></HAnimSegment>
    </HAnimJoint> </HAnimJoint> <!-- HAnimSite visualization shape -->
  • <TouchSensor description='HAnimSite LeftLowArm_to_LeftHand_tip'/>
  • <Shape USE='HAnimSiteShape'/>
  • </HAnimSite></Transform></HAnimSegment>
    </HAnimJoint> </HAnimJoint> </HAnimJoint> </HAnimJoint> <!-- HAnimSite visualization shape -->
  • <TouchSensor description='HAnimSite RightLowArm_to_RightHand_tip'/>
  • <Shape USE='HAnimSiteShape'/>
  • </HAnimSite></Transform></HAnimSegment>
    </HAnimJoint> </HAnimJoint> </HAnimJoint> </HAnimJoint> </HAnimJoint> <!-- HAnimSite visualization shape -->
  • <TouchSensor description='HAnimSite LeftLowLeg_to_LeftFoot_tip'/>
  • <Shape USE='HAnimSiteShape'/>
  • </HAnimSite></Transform></HAnimSegment>
    </HAnimJoint> </HAnimJoint> </HAnimJoint> <!-- HAnimSite visualization shape -->
  • <TouchSensor description='HAnimSite RightLowLeg_to_RightFoot_tip'/>
  • <Shape USE='HAnimSiteShape'/>
  • </HAnimSite></Transform></HAnimSegment>
    </HAnimJoint> </HAnimJoint> </HAnimJoint> </HAnimJoint>
  • <!-- HAnimSite/Viewpoint visualization shape -->
  • <Anchor description='HAnimSite BvhUniversityWisconsionExample1_humanoid_root_view Viewpoint ' url='"#BvhUniversityWisconsionExample1_humanoid_root_viewpoint"'>
      <LOD forceTransitions='true' range='0.04'>
       <WorldInfo info='"hide diamond when close"'/>
       <Shape DEF='HAnimSiteViewpointShape'> <IndexedFaceSet DEF='SiteViewpointDiamondIFS' coordIndex='0 1 2 -1 0 2 3 -1 0 3 4 -1 0 4 1 -1 5 2 1 -1 5 3 2 -1 5 4 3 -1 5 1 4 -1' creaseAngle='0.5'> <Coordinate point='0 0.010 0 -0.010 0 0 0 0 0.010 0.010 0 0 0 0 -0.010 0 -0.010 0'/> </IndexedFaceSet> <Appearance> <Material diffuseColor='1 1 0' transparency='0.3'/> </Appearance> </Shape>
      </LOD>
    </Anchor>
  • </HAnimSite>










































    <HAnimHumanoid DEF='BvhUniversityWisconsionExample1_ROOT_Hips' name='ROOT_Hips' version ='2.0' >
     76                      <!-- BVH ROOT_Hips, OFFSET 0.0 5.21 0.0, CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation -->
    117                           <Shape>
    118                                <LineSet vertexCount='2containerField='geometry'>
    119                                     <Coordinate point='0 0 0 0.0 5.21 0.0'/>
    120                                     <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
    121                                </LineSet>
    122                           </Shape>
    124                           <Shape>
    125                                <LineSet vertexCount='2containerField='geometry'>
    126                                     <Coordinate point='0 0 0 3.91 0.0 0.0'/>
    127                                     <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
    128                                </LineSet>
    129                           </Shape>
    131                           <Shape>
    132                                <LineSet vertexCount='2containerField='geometry'>
    133                                     <Coordinate point='0 0 0 -3.91 0.0 0.0'/>
    134                                     <ColorRGBA USE='HAnimSegmentLineColorRGBA'/>
    135                                </LineSet>
    136                           </Shape>
    139                           <!-- BVH JOINT Chest, OFFSET 0.0 5.21 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    170                                <!-- BVH JOINT Neck, OFFSET 0.0 18.65 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    187                                     <!-- BVH JOINT Head, OFFSET 0.0 5.45 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    192                                                    <!-- BVH End Site OFFSET (0.0, 3.87, 0.0) -->
    195                                                    <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='skullbase'/> to current <HAnimSite name='skull_tip'/> -->
    193                                                    <TouchSensor description='HAnimSite skull_tip'/>
    194                                                    <Shape USE='HAnimSiteShape'/>
    196                                                    <Shape>
    197                                                         <LineSet vertexCount='2containerField='geometry'>
    198                                                              <Coordinate point='0 -3.87 0 0 0 0'/>
    199                                                              <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
    200                                                         </LineSet>
    201                                                    </Shape>
    211                                <!-- BVH JOINT LeftCollar, OFFSET 1.12 16.23 1.87, CHANNELS 3 Zrotation Xrotation Yrotation -->
    228                                     <!-- BVH JOINT LeftUpArm, OFFSET 5.54 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    245                                          <!-- BVH JOINT LeftLowArm, OFFSET 0.0 -11.96 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    262                                               <!-- BVH JOINT LeftHand, OFFSET 0.0 -9.93 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    267                                                              <!-- BVH End Site OFFSET (0.0, -7.0, 0.0) -->
    270                                                              <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='LeftHand'/> to current <HAnimSite name='LeftLowArm_to_LeftHand_tip'/> -->
    268                                                              <TouchSensor description='HAnimSite LeftLowArm_to_LeftHand_tip'/>
    269                                                              <Shape USE='HAnimSiteShape'/>
    271                                                              <Shape>
    272                                                                   <LineSet vertexCount='2containerField='geometry'>
    273                                                                        <Coordinate point='0 7.0 0 0 0 0'/>
    274                                                                        <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
    275                                                                   </LineSet>
    276                                                              </Shape>
    288                                <!-- BVH JOINT RightCollar, OFFSET -1.12 16.23 1.87, CHANNELS 3 Zrotation Xrotation Yrotation -->
    305                                     <!-- BVH JOINT RightUpArm, OFFSET -6.07 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    322                                          <!-- BVH JOINT RightLowArm, OFFSET 0.0 -11.82 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    339                                               <!-- BVH JOINT RightHand, OFFSET 0.0 -10.65 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    344                                                              <!-- BVH End Site OFFSET (0.0, -7.0, 0.0) -->
    347                                                              <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='RightHand'/> to current <HAnimSite name='RightLowArm_to_RightHand_tip'/> -->
    345                                                              <TouchSensor description='HAnimSite RightLowArm_to_RightHand_tip'/>
    346                                                              <Shape USE='HAnimSiteShape'/>
    348                                                              <Shape>
    349                                                                   <LineSet vertexCount='2containerField='geometry'>
    350                                                                        <Coordinate point='0 7.0 0 0 0 0'/>
    351                                                                        <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
    352                                                                   </LineSet>
    353                                                              </Shape>
    366                           <!-- BVH JOINT LeftUpLeg, OFFSET 3.91 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    383                                <!-- BVH JOINT LeftLowLeg, OFFSET 0.0 -18.34 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    400                                     <!-- BVH JOINT LeftFoot, OFFSET 0.0 -17.37 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    405                                                    <!-- BVH End Site OFFSET (0.0, -3.46, 0.0) -->
    408                                                    <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='LeftFoot'/> to current <HAnimSite name='LeftLowLeg_to_LeftFoot_tip'/> -->
    406                                                    <TouchSensor description='HAnimSite LeftLowLeg_to_LeftFoot_tip'/>
    407                                                    <Shape USE='HAnimSiteShape'/>
    409                                                    <Shape>
    410                                                         <LineSet vertexCount='2containerField='geometry'>
    411                                                              <Coordinate point='0 3.46 0 0 0 0'/>
    412                                                              <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
    413                                                         </LineSet>
    414                                                    </Shape>
    425                           <!-- BVH JOINT RightUpLeg, OFFSET -3.91 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    442                                <!-- BVH JOINT RightLowLeg, OFFSET 0.0 -17.63 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    459                                     <!-- BVH JOINT RightFoot, OFFSET 0.0 -17.14 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
    464                                                    <!-- BVH End Site OFFSET (0.0, -3.75, 0.0) -->
    467                                                    <!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='RightFoot'/> to current <HAnimSite name='RightLowLeg_to_RightFoot_tip'/> -->
    465                                                    <TouchSensor description='HAnimSite RightLowLeg_to_RightFoot_tip'/>
    466                                                    <Shape USE='HAnimSiteShape'/>
    468                                                    <Shape>
    469                                                         <LineSet vertexCount='2containerField='geometry'>
    470                                                              <Coordinate point='0 3.75 0 0 0 0'/>
    471                                                              <ColorRGBA USE='HAnimSiteLineColorRGBA'/>
    472                                                         </LineSet>
    473                                                    </Shape>
     62                 <!-- info='"authorEmail=*TODO*" "authorName=*TODO*" "copyright=Copyright (c) 2022" "humanoidVersion=*TODO*" "usageRestrictions=*TODO*"' -->
     70                 <!-- Top-level HAnimSite/Viewpoint attached to HAnimHumanoid is unaffected by motion animation -->
     72                      <Viewpoint DEF='BvhUniversityWisconsionExample1_humanoid_root_viewpointdescription='BvhUniversityWisconsionExample1 front view towards HAnimHumanoid centerposition='0 0 80.0'/>

    484                 <!-- top-level USE nodes follow DEF declarations and can be employed by inverse-kinematics (IK) engines or other HAnim tools -->
    485                 <HAnimJoint USE='BvhUniversityWisconsionExample1_humanoid_rootcontainerField='joints'/>
    486                 <HAnimJoint USE='BvhUniversityWisconsionExample1_vl5containerField='joints'/>
    487                 <HAnimJoint USE='BvhUniversityWisconsionExample1_NeckcontainerField='joints'/>
    488                 <HAnimJoint USE='BvhUniversityWisconsionExample1_skullbasecontainerField='joints'/>
    489                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftCollarcontainerField='joints'/>
    490                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftUpArmcontainerField='joints'/>
    491                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftLowArmcontainerField='joints'/>
    492                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftHandcontainerField='joints'/>
    493                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightCollarcontainerField='joints'/>
    494                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightUpArmcontainerField='joints'/>
    495                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightLowArmcontainerField='joints'/>
    496                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightHandcontainerField='joints'/>
    497                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftUpLegcontainerField='joints'/>
    498                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftLowLegcontainerField='joints'/>
    499                 <HAnimJoint USE='BvhUniversityWisconsionExample1_LeftFootcontainerField='joints'/>
    500                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightUpLegcontainerField='joints'/>
    501                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightLowLegcontainerField='joints'/>
    502                 <HAnimJoint USE='BvhUniversityWisconsionExample1_RightFootcontainerField='joints'/>
    503                 <HAnimSegment USE='BvhUniversityWisconsionExample1_sacrumcontainerField='segments'/>
    504                 <HAnimSegment USE='BvhUniversityWisconsionExample1_l5containerField='segments'/>
    505                 <HAnimSegment USE='BvhUniversityWisconsionExample1_vl5_to_NeckcontainerField='segments'/>
    506                 <HAnimSegment USE='BvhUniversityWisconsionExample1_skullcontainerField='segments'/>
    507                 <HAnimSegment USE='BvhUniversityWisconsionExample1_vl5_to_LeftCollarcontainerField='segments'/>
    508                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArmcontainerField='segments'/>
    509                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArmcontainerField='segments'/>
    510                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHandcontainerField='segments'/>
    511                 <HAnimSegment USE='BvhUniversityWisconsionExample1_vl5_to_RightCollarcontainerField='segments'/>
    512                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightCollar_to_RightUpArmcontainerField='segments'/>
    513                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArmcontainerField='segments'/>
    514                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightLowArm_to_RightHandcontainerField='segments'/>
    515                 <HAnimSegment USE='BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLegcontainerField='segments'/>
    516                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLegcontainerField='segments'/>
    517                 <HAnimSegment USE='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFootcontainerField='segments'/>
    518                 <HAnimSegment USE='BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLegcontainerField='segments'/>
    519                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLegcontainerField='segments'/>
    520                 <HAnimSegment USE='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFootcontainerField='segments'/>
    521                 <HAnimSite USE='BvhUniversityWisconsionExample1_humanoid_root_viewcontainerField='sites'/>
    522                 <HAnimSite USE='BvhUniversityWisconsionExample1_skull_tipcontainerField='sites'/>
    523                 <HAnimSite USE='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tipcontainerField='sites'/>
    524                 <HAnimSite USE='BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tipcontainerField='sites'/>
    525                 <HAnimSite USE='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tipcontainerField='sites'/>
    526                 <HAnimSite USE='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tipcontainerField='sites'/>

    </HAnimHumanoid>

    🔖   Event Graph ROUTE Table entries with 29 ROUTE connections and 23 TouchSensor hover hints, showing X3D event-model relationships for this scene.

    Each row with a ROUTE statement shows an event cascade that may occur during a single timestamp interval between frame renderings, performed as part of the X3D execution model.

    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator0_humanoid_root
    PositionInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator0_humanoid_root
    PositionInterpolator
    value_changed
    SFVec3f

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_humanoid_root
    HAnimJoint
    set_translation
    SFVec3f
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator1_humanoid_root
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator1_humanoid_root
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_humanoid_root
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator2_vl5
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator2_vl5
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_vl5
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator3_Neck
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator3_Neck
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_Neck
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator4_skullbase
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator4_skullbase
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_skullbase
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator5_LeftCollar
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator5_LeftCollar
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_LeftCollar
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator6_LeftUpArm
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator6_LeftUpArm
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_LeftUpArm
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator7_LeftLowArm
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator7_LeftLowArm
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_LeftLowArm
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator8_LeftHand
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator8_LeftHand
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_LeftHand
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator9_RightCollar
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator9_RightCollar
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_RightCollar
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator10_RightUpArm
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator10_RightUpArm
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_RightUpArm
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator11_RightLowArm
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator11_RightLowArm
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_RightLowArm
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator12_RightHand
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator12_RightHand
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_RightHand
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator13_LeftUpLeg
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator13_LeftUpLeg
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_LeftUpLeg
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator14_LeftLowLeg
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator14_LeftLowLeg
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_LeftLowLeg
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator15_LeftFoot
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator15_LeftFoot
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_LeftFoot
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator16_RightUpLeg
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator16_RightUpLeg
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_RightUpLeg
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator17_RightLowLeg
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator17_RightLowLeg
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_RightLowLeg
    HAnimJoint
    set_rotation
    SFRotation
    RealTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    Interpolator18_RightFoot
    OrientationInterpolator
    set_fraction
    SFFloat
    then
    from
    same
    node
    Interpolator18_RightFoot
    OrientationInterpolator
    value_changed
    SFRotation

    ROUTE
    event to
    (2)
    BvhUniversityWisconsionExample1_RightFoot
    HAnimJoint
    set_rotation
    SFRotation

    StepTimer
    TimeSensor
    fraction_changed
    SFFloat

    ROUTE
    event to
    (1)
    FrameStepper
    ScalarInterpolator
    set_fraction
    SFFloat

    line 81
    TouchSensor
    description='HAnimHumanoid ROOT ROOT_Hips, HAnimSegment sacrum' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 144
    TouchSensor
    description='HAnimJoint Chest vl5, HAnimSegment l5' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 175
    TouchSensor
    description='HAnimJoint Neck Neck, HAnimSegment vl5_to_Neck' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 193
    TouchSensor
    description='HAnimSite skull_tip' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 204
    TouchSensor
    description='HAnimJoint Head skullbase, HAnimSegment skull' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 216
    TouchSensor
    description='HAnimJoint LeftCollar LeftCollar, HAnimSegment vl5_to_LeftCollar' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 233
    TouchSensor
    description='HAnimJoint LeftUpArm LeftUpArm, HAnimSegment LeftCollar_to_LeftUpArm' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 250
    TouchSensor
    description='HAnimJoint LeftLowArm LeftLowArm, HAnimSegment LeftUpArm_to_LeftLowArm' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 268
    TouchSensor
    description='HAnimSite LeftLowArm_to_LeftHand_tip' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 279
    TouchSensor
    description='HAnimJoint LeftHand LeftHand, HAnimSegment LeftLowArm_to_LeftHand' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 293
    TouchSensor
    description='HAnimJoint RightCollar RightCollar, HAnimSegment vl5_to_RightCollar' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 310
    TouchSensor
    description='HAnimJoint RightUpArm RightUpArm, HAnimSegment RightCollar_to_RightUpArm' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 327
    TouchSensor
    description='HAnimJoint RightLowArm RightLowArm, HAnimSegment RightUpArm_to_RightLowArm' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 345
    TouchSensor
    description='HAnimSite RightLowArm_to_RightHand_tip' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 356
    TouchSensor
    description='HAnimJoint RightHand RightHand, HAnimSegment RightLowArm_to_RightHand' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 371
    TouchSensor
    description='HAnimJoint LeftUpLeg LeftUpLeg, HAnimSegment humanoid_root_to_LeftUpLeg' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 388
    TouchSensor
    description='HAnimJoint LeftLowLeg LeftLowLeg, HAnimSegment LeftUpLeg_to_LeftLowLeg' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 406
    TouchSensor
    description='HAnimSite LeftLowLeg_to_LeftFoot_tip' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 417
    TouchSensor
    description='HAnimJoint LeftFoot LeftFoot, HAnimSegment LeftLowLeg_to_LeftFoot' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 430
    TouchSensor
    description='HAnimJoint RightUpLeg RightUpLeg, HAnimSegment humanoid_root_to_RightUpLeg' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 447
    TouchSensor
    description='HAnimJoint RightLowLeg RightLowLeg, HAnimSegment RightUpLeg_to_RightLowLeg' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 465
    TouchSensor
    description='HAnimSite RightLowLeg_to_RightFoot_tip' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    line 476
    TouchSensor
    description='HAnimJoint RightFoot RightFoot, HAnimSegment RightLowLeg_to_RightFoot' 
    This TouchSensor node is an author-provided hover hint for peer geometry.
    No direct ROUTE connection found for events to/from this node. 

    Additional guidance on X3D animation can be found in the 10-Step Animation Design Process and Event Tracing hint sheets.
    Have fun with X3D! 😀

    -->

    <!-- Color-coding legend: X3D terminology <X3dNode DEF='idNamefield='value'/> matches XML terminology <XmlElement DEF='idNameattribute='value'/>
    (Light-blue background: event-based behavior node or statement) (Grey background inside box: inserted documentation) (Magenta background: X3D Extensibility)
    -->

    to top <!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->