<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "http://www.web3d.org/specifications/x3d-3.0.dtd">
<X3D profile='Immersiveversion='3.0xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation=' http://www.web3d.org/specifications/x3d-3.0.xsd '>
<head>
<meta name='titlecontent='LOA1_KneelAnimation.x3d'/>
<meta name='descriptioncontent='Humanoid animation prototype reusable by any Humanoid.'/>
<meta name='creatorcontent='Tom Miller'/>
<meta name='translatorcontent='Curt Blais'/>
<meta name='translatedcontent='1 December 2001'/>
<meta name='modifiedcontent='14 September 2009'/>
<meta name='referencecontent=' http://www.ballreich.net/vrml/h-anim/nancy_h-anim.wrl '/>
<meta name='referencecontent=' http://www.h-anim.org/Models/H-Anim2001/boxman/protos/LOA1_WalkAnimation.wrl '/>
<meta name='referencecontent=' http://www.h-anim.org '/>
<meta name='referencecontent=' http://h-anim.org/Models '/>
<meta name='referencecontent=' http://h-anim.org/Nodes '/>
<meta name='subjectcontent='Nancy kneel Animation H-Anim 2001'/>
<meta name='identifiercontent=' http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/LOA1_KneelAnimation.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<ProtoDeclare name='LOA1_KneelAnimation'>
<ProtoInterface>
<field name='cycleIntervaltype='SFTimevalue='2accessType='inputOutput'/>
<field name='enabledtype='SFBoolvalue='trueaccessType='inputOutput'/>
<field name='looptype='SFBoolvalue='falseaccessType='inputOutput'/>
<field name='startTimetype='SFTimevalue='0accessType='inputOutput'/>
<field name='stopTimetype='SFTimevalue='-1accessType='inputOutput'/>
<field name='fraction_changedtype='SFFloataccessType='outputOnly'/>
<field name='isActivetype='SFBoolaccessType='outputOnly'/>
<field name='HumanoidRoot_translation_changedtype='SFVec3faccessType='outputOnly'/>
<field name='HumanoidRoot_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='lower_body_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='l_hip_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='l_knee_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='l_ankle_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='l_midtarsal_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='r_hip_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='r_knee_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='r_ankle_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='r_midtarsal_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='vl5_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='skullbase_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='l_shoulder_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='l_elbow_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='l_wrist_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='r_shoulder_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='r_elbow_rotation_changedtype='SFRotationaccessType='outputOnly'/>
<field name='r_wrist_rotation_changedtype='SFRotationaccessType='outputOnly'/>
</ProtoInterface>
<ProtoBody>
<Group>
<!-- TIMER ROUTEs:  [from fraction_changed to HUMANOIDROOT_POSITION_ANIMATOR.set_fraction ] [from fraction_changed to HUMANOIDROOT_ANIMATOR.set_fraction ] [from fraction_changed to L_HIP_ANIMATOR.set_fraction ] [from fraction_changed to L_KNEE_ANIMATOR.set_fraction ] [from fraction_changed to L_ANKLE_ANIMATOR.set_fraction ] [from fraction_changed to R_HIP_ANIMATOR.set_fraction ] [from fraction_changed to R_KNEE_ANIMATOR.set_fraction ] [from fraction_changed to R_ANKLE_ANIMATOR.set_fraction ] [from fraction_changed to VL5_ANIMATOR.set_fraction ] [from fraction_changed to L_SHOULDER_ANIMATOR.set_fraction ] [from fraction_changed to L_ELBOW_ANIMATOR.set_fraction ] [from fraction_changed to R_SHOULDER_ANIMATOR.set_fraction ] [from fraction_changed to R_ELBOW_ANIMATOR.set_fraction ] -->
<TimeSensor DEF='TIMER'>
<IS>
<connect nodeField='cycleIntervalprotoField='cycleInterval'/>
<connect nodeField='enabledprotoField='enabled'/>
<connect nodeField='loopprotoField='loop'/>
<connect nodeField='startTimeprotoField='startTime'/>
<connect nodeField='stopTimeprotoField='stopTime'/>
<connect nodeField='fraction_changedprotoField='fraction_changed'/>
<connect nodeField='isActiveprotoField='isActive'/>
</IS>
</TimeSensor>
<!-- HUMANOIDROOT_POSITION_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='HUMANOIDROOT_POSITION_ANIMATORkey='0 .3125 .625 1keyValue='0 0 0 0 -.049999 0 0 -.195 0 0 -.439997 0'>
<IS>
<connect nodeField='value_changedprotoField='HumanoidRoot_translation_changed'/>
</IS>
</PositionInterpolator>
<!-- HUMANOIDROOT_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='HUMANOIDROOT_ANIMATORkey='0 1keyValue='0 1 0 0 0 1 0 0'>
<IS>
<connect nodeField='value_changedprotoField='HumanoidRoot_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- no SACROILIAC_ANIMATOR -->
<!-- L_HIP_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_HIP_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 -1 0 0 .619393 -1 0 0 1.069302 -1 0 0 1.937315'>
<IS>
<connect nodeField='value_changedprotoField='l_hip_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- L_KNEE_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_KNEE_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 1 0 0 .615228 1 0 0 .984524 1 0 0 2.076941'>
<IS>
<connect nodeField='value_changedprotoField='l_knee_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- L_ANKLE_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_ANKLE_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 -1 0 0 .017453 -1 0 0 .069812 1 0 0 .261799'>
<IS>
<connect nodeField='value_changedprotoField='l_ankle_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- no L_MIDTARSAL_ANIMATOR -->
<!-- R_HIP_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_HIP_ANIMATORkey='0 .3125 1keyValue='1 0 0 0 1 0 0 .523598 -1 0 0 .157079'>
<IS>
<connect nodeField='value_changedprotoField='r_hip_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- R_KNEE_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_KNEE_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 1 0 0 .349065 1 0 0 1.023397 .999934 .008043 .008185 1.727938'>
<IS>
<connect nodeField='value_changedprotoField='r_knee_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- R_ANKLE_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_ANKLE_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 -.991692 -.072372 .106338 .205053 -.981083 -.103267 .163741 .272231 -1 0 0 .349065'>
<IS>
<connect nodeField='value_changedprotoField='r_ankle_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- no R_MIDTARSAL_ANIMATOR -->
<!-- VL5_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='VL5_ANIMATORkey='0 1keyValue='1 0 0 0 1 0 0 .174533'>
<IS>
<connect nodeField='value_changedprotoField='vl5_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- no SKULLBASE_ANIMATOR -->
<!-- L_SHOULDER_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_SHOULDER_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 -1 0 0 .279252 -1 0 0 .506145 -1 0 0 .191986'>
<IS>
<connect nodeField='value_changedprotoField='l_shoulder_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- L_ELBOW_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_ELBOW_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 -1 0 0 .052359 -1 0 0 .296706 -1 0 0 1.431169'>
<IS>
<connect nodeField='value_changedprotoField='l_elbow_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- no L_WRIST_ANIMATOR -->
<!-- R_SHOULDER_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_SHOULDER_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 -1 0 0 .104719 -1 0 0 .157079 1 0 0 .314159'>
<IS>
<connect nodeField='value_changedprotoField='r_shoulder_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- R_ELBOW_ANIMATOR ROUTE:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_ELBOW_ANIMATORkey='0 .3125 .625 1keyValue='1 0 0 0 -1 0 0 .837757 -1 0 0 1.239183 -1 0 0 1.500983'>
<IS>
<connect nodeField='value_changedprotoField='r_elbow_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- no R_WRIST_ANIMATOR -->
</Group>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='HUMANOIDROOT_POSITION_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='HUMANOIDROOT_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='L_HIP_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='L_KNEE_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='L_ANKLE_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='R_HIP_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='R_KNEE_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='R_ANKLE_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='VL5_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='L_SHOULDER_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='L_ELBOW_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='R_SHOULDER_ANIMATORtoField='set_fraction'/>
<ROUTE fromNode='TIMERfromField='fraction_changedtoNode='R_ELBOW_ANIMATORtoField='set_fraction'/>
</ProtoBody>
</ProtoDeclare>
<Anchor description='InterchangableActorsViaDynamicRoutingparameter='"target=_blank"'
  url=' "InterchangableActorsViaDynamicRouting.x3d" "http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/InterchangableActorsViaDynamicRouting.x3d" "InterchangableActorsViaDynamicRouting.wrl" "http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/InterchangableActorsViaDynamicRouting.wrl" '>
<Shape>
<Text string='"LOA1_KneelAnimation.x3d" "defines a prototype" "for animating a humanoid." "" "Click this text to see" "InterchangableActorsViaDynamicRouting example."solid='false'>
<FontStyle justify='"MIDDLE" "MIDDLE"size='0.8'/>
</Text>
<Appearance>
<Material diffuseColor='1 1 0.2'/>
</Appearance>
</Shape>
</Anchor>
</Scene>
</X3D>
<!--

Index for ProtoDeclare definition: LOA1_KneelAnimation
Index for DEF nodes: HUMANOIDROOT_ANIMATOR, HUMANOIDROOT_POSITION_ANIMATOR, L_ANKLE_ANIMATOR, L_ELBOW_ANIMATOR, L_HIP_ANIMATOR, L_KNEE_ANIMATOR, L_SHOULDER_ANIMATOR, R_ANKLE_ANIMATOR, R_ELBOW_ANIMATOR, R_HIP_ANIMATOR, R_KNEE_ANIMATOR, R_SHOULDER_ANIMATOR, TIMER, VL5_ANIMATOR
-->

<!-- Color key: <X3dNode DEF='idName' field='value'/> matches <XmlElement DEF='idName' attribute='value'/>     <Prototype name='ProtoName'> <field name='fieldName'/> </Prototype> -->