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

Visualization report for HAnimHumanoid model: ROOT_Hips HAnimHumanoid Report
to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: BvhUniversityWisconsionExample1_BvhToX3dConversionImportInformation, BvhUniversityWisconsionExample1_humanoid_root, BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLeg, BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLeg, BvhUniversityWisconsionExample1_humanoid_root_view, BvhUniversityWisconsionExample1_humanoid_root_viewpoint, 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
-->
<Scene>
<WorldInfo title='BvhUniversityWisconsionExample1.x3d'/>
<NavigationInfo/>
<Group DEF='BvhUniversityWisconsionExample1_BvhToX3dConversionImportInformation'>
<!-- 17 BVH JOINT definitions found, following a single HIERARCHY ROOT -->
<!-- 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 -->
<!-- Estimated rescaling to meters based on height: scaleFactor=0.1 for modified height of 1.087m -->
<!-- Vertical offset to move bottom of BVH figure to ground plane (adjusted in HAnimJoint containerField='skeleton'): heightOffset=0.7000000000000001m -->
<MetadataSet containerField='metadataname='BvhToHAnimNameConversionTable'>
<!-- key: MetadataString name='bvhName' reference='bvhType ROOT|JOINT|Site' value='"jointName"
"segmentName"' (HAnimSite nodes have no segmentName) -->

<MetadataString name='ROOT_Hipsreference='ROOTvalue='"humanoid_root" "sacrum"'/>
<MetadataString name='Chestreference='JOINTvalue='"vl5" "l5"'/>
<MetadataString name='Neckreference='JOINTvalue='"Neck" "vl5_to_Neck"'/>
<MetadataString name='Headreference='JOINTvalue='"skullbase" "skull"'/>
<MetadataString name='HeadSitereference='Sitevalue='"skullbase_tip"'/>
<MetadataString name='LeftCollarreference='JOINTvalue='"LeftCollar" "vl5_to_LeftCollar"'/>
<MetadataString name='LeftUpArmreference='JOINTvalue='"LeftUpArm" "LeftCollar_to_LeftUpArm"'/>
<MetadataString name='LeftLowArmreference='JOINTvalue='"LeftLowArm" "LeftUpArm_to_LeftLowArm"'/>
<MetadataString name='LeftHandreference='JOINTvalue='"LeftHand" "LeftLowArm_to_LeftHand"'/>
<MetadataString name='LeftHandSitereference='Sitevalue='"LeftHand_tip"'/>
<MetadataString name='RightCollarreference='JOINTvalue='"RightCollar" "vl5_to_RightCollar"'/>
<MetadataString name='RightUpArmreference='JOINTvalue='"RightUpArm" "RightCollar_to_RightUpArm"'/>
<MetadataString name='RightLowArmreference='JOINTvalue='"RightLowArm" "RightUpArm_to_RightLowArm"'/>
<MetadataString name='RightHandreference='JOINTvalue='"RightHand" "RightLowArm_to_RightHand"'/>
<MetadataString name='RightHandSitereference='Sitevalue='"RightHand_tip"'/>
<MetadataString name='LeftUpLegreference='JOINTvalue='"LeftUpLeg" "humanoid_root_to_LeftUpLeg"'/>
<MetadataString name='LeftLowLegreference='JOINTvalue='"LeftLowLeg" "LeftUpLeg_to_LeftLowLeg"'/>
<MetadataString name='LeftFootreference='JOINTvalue='"LeftFoot" "LeftLowLeg_to_LeftFoot"'/>
<MetadataString name='LeftFootSitereference='Sitevalue='"LeftFoot_tip"'/>
<MetadataString name='RightUpLegreference='JOINTvalue='"RightUpLeg" "humanoid_root_to_RightUpLeg"'/>
<MetadataString name='RightLowLegreference='JOINTvalue='"RightLowLeg" "RightUpLeg_to_RightLowLeg"'/>
<MetadataString name='RightFootreference='JOINTvalue='"RightFoot" "RightLowLeg_to_RightFoot"'/>
<MetadataString name='RightFootSitereference='Sitevalue='"RightFoot_tip"'/>
</MetadataSet>
</Group>
<!-- initialPositionOffset computation: 0.000 6.135 0.000, initialPositionScaled computation: 0.000 1.244 0.000 -->
<Transform DEF='InitialPositionScaledtranslation='0.000 1.244 0.000'>
<Viewpoint description='BvhUniversityWisconsionExample1 model BVH to X3D conversion, from 8mposition='0 0 8'/>
<Viewpoint description='BvhUniversityWisconsionExample1 initial motion positionposition='0.803 3.501 16.836'/>
<Viewpoint description='BvhUniversityWisconsionExample1 final motion positionposition='0.781 3.510 16.647'/>
</Transform>
<HAnimHumanoid DEF='BvhUniversityWisconsionExample1_ROOT_Hipsname='ROOT_Hips'>
<!-- info='"authorEmail=*TODO*"
"authorName=*TODO*"
"copyright=Copyright (c) 2022"
"humanoidVersion=*TODO*"
"usageRestrictions=*TODO*"' -->

<MetadataSet containerField='metadataname='HAnimHumanoid.inforeference=' https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid '>
<MetadataString name='authorEmailvalue='"*TODO*"'/>
<MetadataString name='authorNamevalue='"*TODO*"'/>
<MetadataString name='copyrightvalue='"Copyright (c) 2023"'/>
<MetadataString name='humanoidVersionvalue='"*TODO*"'/>
<MetadataString name='usageDescriptionvalue='"*TODO*"'/>
</MetadataSet>
<!-- Top-level HAnimSite/Viewpoint attached to HAnimHumanoid is unaffected by motion animation -->
<HAnimSite DEF='BvhUniversityWisconsionExample1_humanoid_root_viewcontainerField='viewpointsname='humanoid_root_view'> </HAnimSite>
<!-- insert pseudo Joint for humanoid_root skeleton (matching root HIERARCHY in original BVH mocap model, but appearing as skeleton field in X3D HAnimHumanoid) -->
<!-- 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.000ulimit='0 0 0llimit='0 0 0'>
<!-- BVH ROOT_Hips, OFFSET 0.0 5.21 0.0, CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_sacrumname='sacrum'>
<!-- humanoid_root child HAnimSegment with visualization root shape plus hidden DEF geometry for later use (radius 1 inch) -->
<Switch whichChoice='0'>
<Group>
<TouchSensor description='HAnimHumanoid ROOT ROOT_Hips, HAnimSegment sacrum'/>
<Shape DEF='HAnimRootShape'>
<Sphere DEF='HAnimJointSphereradius='0.25399999999999995'/>
<Appearance>
<Material DEF='HAnimRootMaterialdiffuseColor='0.8 0 0transparency='0.3'/>
</Appearance>
</Shape>
</Group>
<Shape DEF='HAnimJointShape'>
<Sphere USE=' HAnimJointSphere'/>
<Appearance>
<Material DEF='HAnimJointMaterialdiffuseColor='0 0 0.8transparency='0.3'/>
</Appearance>
</Shape>
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0 0 0'/>
<ColorRGBA DEF='HAnimSegmentLineColorRGBAcolor='1 1 0 1 1 1 0 0.1'/>
</LineSet>
</Shape>
<Shape DEF='HAnimSiteShape'>
<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'>
<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'/>
</IndexedFaceSet>
<Appearance>
<Material diffuseColor='1 0.5 0transparency='0.3'/>
</Appearance>
</Shape>
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0 0 0'/>
<ColorRGBA DEF='HAnimSiteLineColorRGBAcolor='1 0.5 0 1 1 0.5 0 0.1'/>
</LineSet>
</Shape>
</Switch>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='humanoid_root'/> to child <HAnimJoint name='vl5'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 5.21 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='humanoid_root'/> to child <HAnimJoint name='LeftUpLeg'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 3.91 0.0 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='humanoid_root'/> to child <HAnimJoint name='RightUpLeg'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 -3.91 0.0 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_vl5 node:  [from Interpolator2_vl5.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_vl5center='0.0 5.21 0.0name='vl5ulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT Chest, OFFSET 0.0 5.21 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_l5name='l5'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='0.0 5.21 0.0'>
<!-- Visualization sphere for <HAnimJoint name='vl5'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_l5'> -->
<TouchSensor description='HAnimJoint Chest vl5, HAnimSegment l5'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='vl5'/> to child <HAnimJoint name='Neck'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 18.65 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='vl5'/> to child <HAnimJoint name='LeftCollar'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 1.12 16.23 1.87'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='vl5'/> to child <HAnimJoint name='RightCollar'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 -1.12 16.23 1.87'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_Neck node:  [from Interpolator3_Neck.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_Neckcenter='0.0 23.86 0.0name='Neckulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT Neck, OFFSET 0.0 18.65 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_vl5_to_Neckname='vl5_to_Neck'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='0.0 23.86 0.0'>
<!-- Visualization sphere for <HAnimJoint name='Neck'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_vl5_to_Neck'> -->
<TouchSensor description='HAnimJoint Neck Neck, HAnimSegment vl5_to_Neck'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='Neck'/> to child <HAnimJoint name='skullbase'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 5.45 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_skullbase node:  [from Interpolator4_skullbase.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_skullbasecenter='0.0 29.31 0.0name='skullbaseulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT Head, OFFSET 0.0 5.45 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_skullname='skull'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='0.0 29.31 0.0'>
<HAnimSite DEF='BvhUniversityWisconsionExample1_skull_tipname='skull_tiptranslation='0.0 3.87 0.0'>
<!-- BVH End Site OFFSET (0.0, 3.87, 0.0) -->
<TouchSensor description='HAnimSite skull_tip'/>
<Shape USE=' HAnimSiteShape'/>
<!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='skullbase'/> to current <HAnimSite name='skull_tip'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 -3.87 0 0 0 0'/>
<ColorRGBA USE=' HAnimSiteLineColorRGBA'/>
</LineSet>
</Shape>
</HAnimSite>
<!-- Visualization sphere for <HAnimJoint name='skullbase'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_skull'> -->
<TouchSensor description='HAnimJoint Head skullbase, HAnimSegment skull'/>
<Shape USE=' HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
</HAnimJoint>
<!-- ROUTE information for BvhUniversityWisconsionExample1_LeftCollar node:  [from Interpolator5_LeftCollar.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftCollarcenter='1.12 21.44 1.87name='LeftCollarulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT LeftCollar, OFFSET 1.12 16.23 1.87, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_vl5_to_LeftCollarname='vl5_to_LeftCollar'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='1.12 21.44 1.87'>
<!-- Visualization sphere for <HAnimJoint name='LeftCollar'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_vl5_to_LeftCollar'> -->
<TouchSensor description='HAnimJoint LeftCollar LeftCollar, HAnimSegment vl5_to_LeftCollar'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftCollar'/> to child <HAnimJoint name='LeftUpArm'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 5.54 0.0 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_LeftUpArm node:  [from Interpolator6_LeftUpArm.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftUpArmcenter='6.66 21.44 1.87name='LeftUpArmulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT LeftUpArm, OFFSET 5.54 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArmname='LeftCollar_to_LeftUpArm'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='6.66 21.44 1.87'>
<!-- Visualization sphere for <HAnimJoint name='LeftUpArm'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArm'> -->
<TouchSensor description='HAnimJoint LeftUpArm LeftUpArm, HAnimSegment LeftCollar_to_LeftUpArm'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftUpArm'/> to child <HAnimJoint name='LeftLowArm'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 -11.96 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_LeftLowArm node:  [from Interpolator7_LeftLowArm.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftLowArmcenter='6.66 9.48 1.87name='LeftLowArmulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT LeftLowArm, OFFSET 0.0 -11.96 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArmname='LeftUpArm_to_LeftLowArm'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='6.66 9.48 1.87'>
<!-- Visualization sphere for <HAnimJoint name='LeftLowArm'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArm'> -->
<TouchSensor description='HAnimJoint LeftLowArm LeftLowArm, HAnimSegment LeftUpArm_to_LeftLowArm'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftLowArm'/> to child <HAnimJoint name='LeftHand'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 -9.93 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_LeftHand node:  [from Interpolator8_LeftHand.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftHandcenter='6.66 -0.4499999999999993 1.87name='LeftHandulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT LeftHand, OFFSET 0.0 -9.93 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHandname='LeftLowArm_to_LeftHand'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='6.66 -0.4499999999999993 1.87'>
<HAnimSite DEF='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tipname='LeftLowArm_to_LeftHand_tiptranslation='0.0 -7.0 0.0'>
<!-- BVH End Site OFFSET (0.0, -7.0, 0.0) -->
<TouchSensor description='HAnimSite LeftLowArm_to_LeftHand_tip'/>
<Shape USE=' HAnimSiteShape'/>
<!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='LeftHand'/> to current <HAnimSite name='LeftLowArm_to_LeftHand_tip'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 7.0 0 0 0 0'/>
<ColorRGBA USE=' HAnimSiteLineColorRGBA'/>
</LineSet>
</Shape>
</HAnimSite>
<!-- Visualization sphere for <HAnimJoint name='LeftHand'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand'> -->
<TouchSensor description='HAnimJoint LeftHand LeftHand, HAnimSegment LeftLowArm_to_LeftHand'/>
<Shape USE=' HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
<!-- ROUTE information for BvhUniversityWisconsionExample1_RightCollar node:  [from Interpolator9_RightCollar.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_RightCollarcenter='-1.12 21.44 1.87name='RightCollarulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT RightCollar, OFFSET -1.12 16.23 1.87, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_vl5_to_RightCollarname='vl5_to_RightCollar'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='-1.12 21.44 1.87'>
<!-- Visualization sphere for <HAnimJoint name='RightCollar'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_vl5_to_RightCollar'> -->
<TouchSensor description='HAnimJoint RightCollar RightCollar, HAnimSegment vl5_to_RightCollar'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightCollar'/> to child <HAnimJoint name='RightUpArm'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 -6.07 0.0 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_RightUpArm node:  [from Interpolator10_RightUpArm.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_RightUpArmcenter='-7.19 21.44 1.87name='RightUpArmulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT RightUpArm, OFFSET -6.07 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_RightCollar_to_RightUpArmname='RightCollar_to_RightUpArm'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='-7.19 21.44 1.87'>
<!-- Visualization sphere for <HAnimJoint name='RightUpArm'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightCollar_to_RightUpArm'> -->
<TouchSensor description='HAnimJoint RightUpArm RightUpArm, HAnimSegment RightCollar_to_RightUpArm'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightUpArm'/> to child <HAnimJoint name='RightLowArm'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 -11.82 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_RightLowArm node:  [from Interpolator11_RightLowArm.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_RightLowArmcenter='-7.19 9.620000000000001 1.87name='RightLowArmulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT RightLowArm, OFFSET 0.0 -11.82 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArmname='RightUpArm_to_RightLowArm'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='-7.19 9.620000000000001 1.87'>
<!-- Visualization sphere for <HAnimJoint name='RightLowArm'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArm'> -->
<TouchSensor description='HAnimJoint RightLowArm RightLowArm, HAnimSegment RightUpArm_to_RightLowArm'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightLowArm'/> to child <HAnimJoint name='RightHand'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 -10.65 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_RightHand node:  [from Interpolator12_RightHand.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_RightHandcenter='-7.19 -1.0299999999999994 1.87name='RightHandulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT RightHand, OFFSET 0.0 -10.65 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_RightLowArm_to_RightHandname='RightLowArm_to_RightHand'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='-7.19 -1.0299999999999994 1.87'>
<HAnimSite DEF='BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tipname='RightLowArm_to_RightHand_tiptranslation='0.0 -7.0 0.0'>
<!-- BVH End Site OFFSET (0.0, -7.0, 0.0) -->
<TouchSensor description='HAnimSite RightLowArm_to_RightHand_tip'/>
<Shape USE=' HAnimSiteShape'/>
<!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='RightHand'/> to current <HAnimSite name='RightLowArm_to_RightHand_tip'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 7.0 0 0 0 0'/>
<ColorRGBA USE=' HAnimSiteLineColorRGBA'/>
</LineSet>
</Shape>
</HAnimSite>
<!-- Visualization sphere for <HAnimJoint name='RightHand'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightLowArm_to_RightHand'> -->
<TouchSensor description='HAnimJoint RightHand RightHand, HAnimSegment RightLowArm_to_RightHand'/>
<Shape USE=' HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
<!-- ROUTE information for BvhUniversityWisconsionExample1_LeftUpLeg node:  [from Interpolator13_LeftUpLeg.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftUpLegcenter='3.91 0.0 0.0name='LeftUpLegulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT LeftUpLeg, OFFSET 3.91 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLegname='humanoid_root_to_LeftUpLeg'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='3.91 0.0 0.0'>
<!-- Visualization sphere for <HAnimJoint name='LeftUpLeg'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLeg'> -->
<TouchSensor description='HAnimJoint LeftUpLeg LeftUpLeg, HAnimSegment humanoid_root_to_LeftUpLeg'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftUpLeg'/> to child <HAnimJoint name='LeftLowLeg'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 -18.34 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_LeftLowLeg node:  [from Interpolator14_LeftLowLeg.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftLowLegcenter='3.91 -18.34 0.0name='LeftLowLegulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT LeftLowLeg, OFFSET 0.0 -18.34 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLegname='LeftUpLeg_to_LeftLowLeg'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='3.91 -18.34 0.0'>
<!-- Visualization sphere for <HAnimJoint name='LeftLowLeg'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLeg'> -->
<TouchSensor description='HAnimJoint LeftLowLeg LeftLowLeg, HAnimSegment LeftUpLeg_to_LeftLowLeg'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='LeftLowLeg'/> to child <HAnimJoint name='LeftFoot'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 -17.37 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_LeftFoot node:  [from Interpolator15_LeftFoot.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftFootcenter='3.91 -35.71 0.0name='LeftFootulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT LeftFoot, OFFSET 0.0 -17.37 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFootname='LeftLowLeg_to_LeftFoot'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='3.91 -35.71 0.0'>
<HAnimSite DEF='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tipname='LeftLowLeg_to_LeftFoot_tiptranslation='0.0 -3.46 0.0'>
<!-- BVH End Site OFFSET (0.0, -3.46, 0.0) -->
<TouchSensor description='HAnimSite LeftLowLeg_to_LeftFoot_tip'/>
<Shape USE=' HAnimSiteShape'/>
<!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='LeftFoot'/> to current <HAnimSite name='LeftLowLeg_to_LeftFoot_tip'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 3.46 0 0 0 0'/>
<ColorRGBA USE=' HAnimSiteLineColorRGBA'/>
</LineSet>
</Shape>
</HAnimSite>
<!-- Visualization sphere for <HAnimJoint name='LeftFoot'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot'> -->
<TouchSensor description='HAnimJoint LeftFoot LeftFoot, HAnimSegment LeftLowLeg_to_LeftFoot'/>
<Shape USE=' HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
<!-- ROUTE information for BvhUniversityWisconsionExample1_RightUpLeg node:  [from Interpolator16_RightUpLeg.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_RightUpLegcenter='-3.91 0.0 0.0name='RightUpLegulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT RightUpLeg, OFFSET -3.91 0.0 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLegname='humanoid_root_to_RightUpLeg'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='-3.91 0.0 0.0'>
<!-- Visualization sphere for <HAnimJoint name='RightUpLeg'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLeg'> -->
<TouchSensor description='HAnimJoint RightUpLeg RightUpLeg, HAnimSegment humanoid_root_to_RightUpLeg'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightUpLeg'/> to child <HAnimJoint name='RightLowLeg'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 -17.63 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_RightLowLeg node:  [from Interpolator17_RightLowLeg.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_RightLowLegcenter='-3.91 -17.63 0.0name='RightLowLegulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT RightLowLeg, OFFSET 0.0 -17.63 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLegname='RightUpLeg_to_RightLowLeg'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='-3.91 -17.63 0.0'>
<!-- Visualization sphere for <HAnimJoint name='RightLowLeg'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLeg'> -->
<TouchSensor description='HAnimJoint RightLowLeg RightLowLeg, HAnimSegment RightUpLeg_to_RightLowLeg'/>
<Shape USE=' HAnimJointShape'/>
<!-- HAnimSegment OFFSET visualization line from current <HAnimJoint name='RightLowLeg'/> to child <HAnimJoint name='RightFoot'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 0 0 0.0 -17.14 0.0'/>
<ColorRGBA USE=' HAnimSegmentLineColorRGBA'/>
</LineSet>
</Shape>
</Transform>
</HAnimSegment>
<!-- ROUTE information for BvhUniversityWisconsionExample1_RightFoot node:  [from Interpolator18_RightFoot.value_changed to set_rotation ] -->
<HAnimJoint DEF='BvhUniversityWisconsionExample1_RightFootcenter='-3.91 -34.769999999999996 0.0name='RightFootulimit='0 0 0llimit='0 0 0'>
<!-- BVH JOINT RightFoot, OFFSET 0.0 -17.14 0.0, CHANNELS 3 Zrotation Xrotation Yrotation -->
<HAnimSegment DEF='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFootname='RightLowLeg_to_RightFoot'>
<!-- Transform to establish local-origin reference frame at center of current Joint -->
<Transform translation='-3.91 -34.769999999999996 0.0'>
<HAnimSite DEF='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tipname='RightLowLeg_to_RightFoot_tiptranslation='0.0 -3.75 0.0'>
<!-- BVH End Site OFFSET (0.0, -3.75, 0.0) -->
<TouchSensor description='HAnimSite RightLowLeg_to_RightFoot_tip'/>
<Shape USE=' HAnimSiteShape'/>
<!-- HAnimSite visualization line for current OFFSET from grandparent <HAnimJoint name='RightFoot'/> to current <HAnimSite name='RightLowLeg_to_RightFoot_tip'/> -->
<Shape>
<LineSet vertexCount='2containerField='geometry'>
<Coordinate point='0 3.75 0 0 0 0'/>
<ColorRGBA USE=' HAnimSiteLineColorRGBA'/>
</LineSet>
</Shape>
</HAnimSite>
<!-- Visualization sphere for <HAnimJoint name='RightFoot'> is placed within <HAnimSegment name='BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot'> -->
<TouchSensor description='HAnimJoint RightFoot RightFoot, HAnimSegment RightLowLeg_to_RightFoot'/>
<Shape USE=' HAnimJointShape'/>
</Transform>
</HAnimSegment>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
</HAnimJoint>
<!-- top-level USE nodes follow DEF declarations and can be employed by inverse-kinematics (IK) engines or other HAnim tools -->
<HAnimJoint USE=' BvhUniversityWisconsionExample1_humanoid_rootcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_vl5containerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_NeckcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_skullbasecontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftCollarcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftUpArmcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftLowArmcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftHandcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightCollarcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightUpArmcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightLowArmcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightHandcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftUpLegcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftLowLegcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftFootcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightUpLegcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightLowLegcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightFootcontainerField='joints'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_sacrumcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_l5containerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_vl5_to_NeckcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_skullcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_vl5_to_LeftCollarcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArmcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArmcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHandcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_vl5_to_RightCollarcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightCollar_to_RightUpArmcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArmcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightLowArm_to_RightHandcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLegcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLegcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFootcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLegcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLegcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightLowLeg_to_RightFootcontainerField='segments'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_humanoid_root_viewcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_skull_tipcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tipcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tipcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tipcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tipcontainerField='sites'/>
</HAnimHumanoid>
<!-- ============================================================= -->
<!-- testAxisAngleRotation() results compared to RotationTests.x3d -->
<!-- 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 -->
<!-- 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 -->
<!-- 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 -->
<!-- ============================================================= -->
<Group DEF='BvhUniversityWisconsionExample1_MotionGroup'>
<!-- BVH MOTION -->
<!-- BVH Frames: 2 -->
<!-- BVH Frame Time: 0.033333 seconds (30.01 frames per second) -->
<!-- Expected frame count: 2, actual frame count: 2, animation total duration: 0.067 seconds -->
<!-- Frame width: 19 triplet values -->
<!-- Total count: 57 * 2 = 114 recorded motion values -->
<!-- Animation playback: enable RealTimer for continuous motion at 30.010 frames/second (fps) -->

<!-- Alternative replay: enable StepTimer for discrete time-step motion at 1 fps -->
<!-- ROUTE information for StepTimer node:  [from fraction_changed to FrameStepper.set_fraction ] -->
<TimeSensor DEF='StepTimercycleInterval='2enabled='falseloop='true'/>


< ROUTE  fromNode=' StepTimer' fromField='fraction_changed' toNode=' FrameStepper' toField='set_fraction'/>
<!-- Interpolator0_humanoid_root channels [0..2] sends animation values to BVH JOINT ROOT_Hips = <HAnimJoint DEF='BvhUniversityWisconsionExample1_ROOT_Hips' name='humanoid_root'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 8.030000 35.010000 88.360000, 7.810000 35.100000 86.470000 -->
<!-- Interpolator1_humanoid_root channels [3..5] sends animation values to BVH JOINT ROOT_Hips = <HAnimJoint DEF='BvhUniversityWisconsionExample1_ROOT_Hips' name='humanoid_root'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: -3.410000 14.780000 -164.350000, -3.780000 12.940000 -166.970000 -->
<!-- Interpolator2_vl5 channels [6..8] sends animation values to BVH JOINT Chest = <HAnimJoint DEF='BvhUniversityWisconsionExample1_vl5' name='vl5'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 13.090000 40.300000 -24.600000, 12.640000 42.570000 -22.340000 -->
<!-- Interpolator3_Neck channels [9..11] sends animation values to BVH JOINT Neck = <HAnimJoint DEF='BvhUniversityWisconsionExample1_Neck' name='Neck'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 7.880000 43.800000 0.000000, 7.670000 43.610000 0.000000 -->
<!-- Interpolator4_skullbase channels [12..14] sends animation values to BVH JOINT Head = <HAnimJoint DEF='BvhUniversityWisconsionExample1_skullbase' name='skullbase'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: -3.610000 -41.450000 5.820000, -4.230000 -41.410000 4.890000 -->
<!-- Interpolator5_LeftCollar channels [15..17] sends animation values to BVH JOINT LeftCollar = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftCollar' name='LeftCollar'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 10.080000 0.000000 10.210000, 19.100000 0.000000 4.160000 -->
<!-- Interpolator6_LeftUpArm channels [18..20] sends animation values to BVH JOINT LeftUpArm = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftUpArm' name='LeftUpArm'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 97.950000 -23.530000 -2.140000, 93.120000 -9.690000 -9.430000 -->
<!-- Interpolator7_LeftLowArm channels [21..23] sends animation values to BVH JOINT LeftLowArm = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftLowArm' name='LeftLowArm'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: -101.860000 -80.770000 -98.910000, 132.670000 -81.860000 136.800000 -->
<!-- Interpolator8_LeftHand channels [24..26] sends animation values to BVH JOINT LeftHand = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftHand' name='LeftHand'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 0.690000 0.030000 0.000000, 0.700000 0.370000 0.000000 -->
<!-- Interpolator9_RightCollar channels [27..29] sends animation values to BVH JOINT RightCollar = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightCollar' name='RightCollar'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: -14.040000 0.000000 -10.500000, -8.620000 0.000000 -21.820000 -->
<!-- Interpolator10_RightUpArm channels [30..32] sends animation values to BVH JOINT RightUpArm = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightUpArm' name='RightUpArm'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: -85.520000 -13.720000 -102.930000, -87.310000 -27.570000 -100.090000 -->
<!-- Interpolator11_RightLowArm channels [33..35] sends animation values to BVH JOINT RightLowArm = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightLowArm' name='RightLowArm'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 61.910000 -61.180000 65.180000, 56.170000 -61.560000 58.720000 -->
<!-- Interpolator12_RightHand channels [36..38] sends animation values to BVH JOINT RightHand = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightHand' name='RightHand'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: -1.570000 0.690000 0.020000, -1.630000 0.950000 0.030000 -->
<!-- Interpolator13_LeftUpLeg channels [39..41] sends animation values to BVH JOINT LeftUpLeg = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftUpLeg' name='LeftUpLeg'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 15.000000 22.780000 -5.920000, 13.160000 15.440000 -3.560000 -->
<!-- Interpolator14_LeftLowLeg channels [42..44] sends animation values to BVH JOINT LeftLowLeg = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftLowLeg' name='LeftLowLeg'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 14.930000 49.990000 6.600000, 7.970000 59.290000 4.970000 -->
<!-- Interpolator15_LeftFoot channels [45..47] sends animation values to BVH JOINT LeftFoot = <HAnimJoint DEF='BvhUniversityWisconsionExample1_LeftFoot' name='LeftFoot'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 0.000000 -1.140000 0.000000, 0.000000 1.640000 0.000000 -->
<!-- Interpolator16_RightUpLeg channels [48..50] sends animation values to BVH JOINT RightUpLeg = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightUpLeg' name='RightUpLeg'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: -16.580000 -10.510000 -3.110000, -17.180000 -10.020000 -3.080000 -->
<!-- Interpolator17_RightLowLeg channels [51..53] sends animation values to BVH JOINT RightLowLeg = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightLowLeg' name='RightLowLeg'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 15.380000 52.660000 -21.800000, 13.560000 53.380000 -18.070000 -->
<!-- Interpolator18_RightFoot channels [54..56] sends animation values to BVH JOINT RightFoot = <HAnimJoint DEF='BvhUniversityWisconsionExample1_RightFoot' name='RightFoot'/> -->
<!-- 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'/>

<!-- 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 -->
<!-- Vertical channel slice of 3 Euler angles from BVH motion array: 0.000000 -23.950000 0.000000, 0.000000 -25.930000 0.000000 -->
<!-- Overall angle min/max range [-166.97,136.8] degrees -->
<!-- Corresponding ROUTE statements to send animation values -->
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator0_humanoid_root' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator0_humanoid_root' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator0_humanoid_root' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_humanoid_root' toField='set_translation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator1_humanoid_root' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator1_humanoid_root' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator1_humanoid_root' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_humanoid_root' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator2_vl5' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator2_vl5' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator2_vl5' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_vl5' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator3_Neck' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator3_Neck' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator3_Neck' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_Neck' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator4_skullbase' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator4_skullbase' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator4_skullbase' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_skullbase' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator5_LeftCollar' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator5_LeftCollar' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator5_LeftCollar' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_LeftCollar' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator6_LeftUpArm' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator6_LeftUpArm' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator6_LeftUpArm' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_LeftUpArm' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator7_LeftLowArm' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator7_LeftLowArm' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator7_LeftLowArm' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_LeftLowArm' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator8_LeftHand' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator8_LeftHand' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator8_LeftHand' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_LeftHand' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator9_RightCollar' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator9_RightCollar' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator9_RightCollar' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_RightCollar' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator10_RightUpArm' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator10_RightUpArm' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator10_RightUpArm' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_RightUpArm' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator11_RightLowArm' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator11_RightLowArm' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator11_RightLowArm' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_RightLowArm' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator12_RightHand' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator12_RightHand' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator12_RightHand' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_RightHand' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator13_LeftUpLeg' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator13_LeftUpLeg' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator13_LeftUpLeg' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_LeftUpLeg' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator14_LeftLowLeg' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator14_LeftLowLeg' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator14_LeftLowLeg' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_LeftLowLeg' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator15_LeftFoot' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator15_LeftFoot' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator15_LeftFoot' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_LeftFoot' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator16_RightUpLeg' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator16_RightUpLeg' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator16_RightUpLeg' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_RightUpLeg' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator17_RightLowLeg' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator17_RightLowLeg' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator17_RightLowLeg' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_RightLowLeg' toField='set_rotation'/>
< ROUTE  fromNode=' RealTimer' fromField='fraction_changed' toNode=' Interpolator18_RightFoot' toField='set_fraction'/>
< ROUTE  fromNode=' FrameStepper' fromField='value_changed' toNode=' Interpolator18_RightFoot' toField='set_fraction'/>
< ROUTE  fromNode=' Interpolator18_RightFoot' fromField='value_changed' toNode=' BvhUniversityWisconsionExample1_RightFoot' toField='set_rotation'/>
</Group>
<!-- 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 -->
</Scene>
</X3D>
<!--

Visualization report for HAnimHumanoid model: ROOT_Hips HAnimHumanoid Report
to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: BvhUniversityWisconsionExample1_BvhToX3dConversionImportInformation, BvhUniversityWisconsionExample1_humanoid_root, BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLeg, BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLeg, BvhUniversityWisconsionExample1_humanoid_root_view, BvhUniversityWisconsionExample1_humanoid_root_viewpoint, 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
-->
<!--

🔖 Visualization report for HAnimHumanoid model 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:

<HAnimHumanoid DEF='BvhUniversityWisconsionExample1_ROOT_Hips' name='ROOT_Hips' version ='2.0' >

<!-- top-level USE nodes follow DEF declarations and can be employed by inverse-kinematics (IK) engines or other HAnim tools -->
<HAnimJoint USE=' BvhUniversityWisconsionExample1_humanoid_rootcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_vl5containerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_NeckcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_skullbasecontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftCollarcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftUpArmcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftLowArmcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftHandcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightCollarcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightUpArmcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightLowArmcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightHandcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftUpLegcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftLowLegcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_LeftFootcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightUpLegcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightLowLegcontainerField='joints'/>
<HAnimJoint USE=' BvhUniversityWisconsionExample1_RightFootcontainerField='joints'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_sacrumcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_l5containerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_vl5_to_NeckcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_skullcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_vl5_to_LeftCollarcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftCollar_to_LeftUpArmcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftUpArm_to_LeftLowArmcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHandcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_vl5_to_RightCollarcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightCollar_to_RightUpArmcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightUpArm_to_RightLowArmcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightLowArm_to_RightHandcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_humanoid_root_to_LeftUpLegcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftUpLeg_to_LeftLowLegcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFootcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_humanoid_root_to_RightUpLegcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightUpLeg_to_RightLowLegcontainerField='segments'/>
<HAnimSegment USE=' BvhUniversityWisconsionExample1_RightLowLeg_to_RightFootcontainerField='segments'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_humanoid_root_viewcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_skull_tipcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_LeftLowArm_to_LeftHand_tipcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_RightLowArm_to_RightHand_tipcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_LeftLowLeg_to_LeftFoot_tipcontainerField='sites'/>
<HAnimSite USE=' BvhUniversityWisconsionExample1_RightLowLeg_to_RightFoot_tipcontainerField='sites'/>

</HAnimHumanoid>

Event Graph ROUTE Table entries with 58 ROUTE connections total, showing X3D event-model relationships for this scene.

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

This node has 19 outgoing ROUTEs, which is greater than $maxROUTEdepth=8
RealTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
Interpolator0_humanoid_root
PositionInterpolator
set_fraction
SFFloat

 
 
then
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
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
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
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
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
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
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
Interpolator7_LeftLowArm
OrientationInterpolator
value_changed
SFRotation

ROUTE
event to
(2)
BvhUniversityWisconsionExample1_LeftLowArm
HAnimJoint
set_rotation
SFRotation


StepTimer
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
FrameStepper
ScalarInterpolator
set_fraction
SFFloat


-->

<!-- Color legend: X3D terminology <X3dNode DEF='idName' field='value'/> matches XML terminology <XmlElement DEF='idName' attribute='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. -->