<?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='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.0.xsd'>
  <head>
    <meta content='LOA1_KneelAnimation.x3d' name='title'/>
    <meta content='Humanoid animation prototype reusable by any Humanoid.' name='description'/>
    <meta content='Tom Miller' name='creator'/>
    <meta content='Curt Blais' name='translator'/>
    <meta content='1 December 2001' name='translated'/>
    <meta content='14 September 2009' name='modified'/>
    <meta content='http://www.ballreich.net/vrml/h-anim/nancy_h-anim.wrl' name='reference'/>
    <meta content='http://www.h-anim.org/Models/H-Anim2001/boxman/protos/LOA1_WalkAnimation.wrl' name='reference'/>
    <meta content='http://www.h-anim.org' name='reference'/>
    <meta content='http://h-anim.org/Models' name='reference'/>
    <meta content='http://h-anim.org/Nodes' name='reference'/>
    <meta content='Nancy kneel Animation H-Anim 2001' name='subject'/>
    <meta content='http://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/LOA1_KneelAnimation.x3d' name='identifier'/>
    <meta content='X3D-Edit 3.2, https://savage.nps.edu/X3D-Edit' name='generator'/>
    <meta content='../license.html' name='license'/>
  </head>
  <Scene>
    <ProtoDeclare name='LOA1_KneelAnimation'>
      <ProtoInterface>
        <field accessType='inputOutput' name='cycleInterval' type='SFTime' value='2'/>
        <field accessType='inputOutput' name='enabled' type='SFBool' value='true'/>
        <field accessType='inputOutput' name='loop' type='SFBool' value='false'/>
        <field accessType='inputOutput' name='startTime' type='SFTime' value='0'/>
        <field accessType='inputOutput' name='stopTime' type='SFTime' value='-1'/>
        <field accessType='outputOnly' name='fraction_changed' type='SFFloat'/>
        <field accessType='outputOnly' name='isActive' type='SFBool'/>
        <field accessType='outputOnly' name='HumanoidRoot_translation_changed' type='SFVec3f'/>
        <field accessType='outputOnly' name='HumanoidRoot_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='lower_body_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='l_hip_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='l_knee_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='l_ankle_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='l_midtarsal_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='r_hip_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='r_knee_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='r_ankle_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='r_midtarsal_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='vl5_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='skullbase_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='l_shoulder_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='l_elbow_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='l_wrist_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='r_shoulder_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='r_elbow_rotation_changed' type='SFRotation'/>
        <field accessType='outputOnly' name='r_wrist_rotation_changed' type='SFRotation'/>
      </ProtoInterface>
      <ProtoBody>
        <Group>
          <TimeSensor DEF='TIMER' loop='false'>
            <IS>
              <connect nodeField='cycleInterval' protoField='cycleInterval'/>
              <connect nodeField='enabled' protoField='enabled'/>
              <connect nodeField='loop' protoField='loop'/>
              <connect nodeField='startTime' protoField='startTime'/>
              <connect nodeField='stopTime' protoField='stopTime'/>
              <connect nodeField='fraction_changed' protoField='fraction_changed'/>
              <connect nodeField='isActive' protoField='isActive'/>
            </IS>
          </TimeSensor>
          <PositionInterpolator DEF='HUMANOIDROOT_POSITION_ANIMATOR' key='0 .3125 .625 1' keyValue='0 0 0 0 -.049999 0 0 -.195 0 0 -.439997 0'>
            <IS>
              <connect nodeField='value_changed' protoField='HumanoidRoot_translation_changed'/>
            </IS>
          </PositionInterpolator>
          <OrientationInterpolator DEF='HUMANOIDROOT_ANIMATOR' key='0 1' keyValue='0 1 0 0 0 1 0 0'>
            <IS>
              <connect nodeField='value_changed' protoField='HumanoidRoot_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <!-- no SACROILIAC_ANIMATOR -->
          <OrientationInterpolator DEF='L_HIP_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 -1 0 0 .619393 -1 0 0 1.069302 -1 0 0 1.937315'>
            <IS>
              <connect nodeField='value_changed' protoField='l_hip_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <OrientationInterpolator DEF='L_KNEE_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 1 0 0 .615228 1 0 0 .984524 1 0 0 2.076941'>
            <IS>
              <connect nodeField='value_changed' protoField='l_knee_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <OrientationInterpolator DEF='L_ANKLE_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 -1 0 0 .017453 -1 0 0 .069812 1 0 0 .261799'>
            <IS>
              <connect nodeField='value_changed' protoField='l_ankle_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <!-- no L_MIDTARSAL_ANIMATOR -->
          <OrientationInterpolator DEF='R_HIP_ANIMATOR' key='0 .3125 1' keyValue='1 0 0 0 1 0 0 .523598 -1 0 0 .157079'>
            <IS>
              <connect nodeField='value_changed' protoField='r_hip_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <OrientationInterpolator DEF='R_KNEE_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 1 0 0 .349065 1 0 0 1.023397 .999934 .008043 .008185 1.727938'>
            <IS>
              <connect nodeField='value_changed' protoField='r_knee_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <OrientationInterpolator DEF='R_ANKLE_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 -.991692 -.072372 .106338 .205053 -.981083 -.103267 .163741 .272231 -1 0 0 .349065'>
            <IS>
              <connect nodeField='value_changed' protoField='r_ankle_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <!-- no R_MIDTARSAL_ANIMATOR -->
          <OrientationInterpolator DEF='VL5_ANIMATOR' key='0 1' keyValue='1 0 0 0 1 0 0 .174533'>
            <IS>
              <connect nodeField='value_changed' protoField='vl5_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <!-- no SKULLBASE_ANIMATOR -->
          <OrientationInterpolator DEF='L_SHOULDER_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 -1 0 0 .279252 -1 0 0 .506145 -1 0 0 .191986'>
            <IS>
              <connect nodeField='value_changed' protoField='l_shoulder_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <OrientationInterpolator DEF='L_ELBOW_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 -1 0 0 .052359 -1 0 0 .296706 -1 0 0 1.431169'>
            <IS>
              <connect nodeField='value_changed' protoField='l_elbow_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <!-- no L_WRIST_ANIMATOR -->
          <OrientationInterpolator DEF='R_SHOULDER_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 -1 0 0 .104719 -1 0 0 .157079 1 0 0 .314159'>
            <IS>
              <connect nodeField='value_changed' protoField='r_shoulder_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <OrientationInterpolator DEF='R_ELBOW_ANIMATOR' key='0 .3125 .625 1' keyValue='1 0 0 0 -1 0 0 .837757 -1 0 0 1.239183 -1 0 0 1.500983'>
            <IS>
              <connect nodeField='value_changed' protoField='r_elbow_rotation_changed'/>
            </IS>
          </OrientationInterpolator>
          <!-- no R_WRIST_ANIMATOR -->
        </Group>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='HUMANOIDROOT_POSITION_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='HUMANOIDROOT_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='L_HIP_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='L_KNEE_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='L_ANKLE_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='R_HIP_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='R_KNEE_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='R_ANKLE_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='VL5_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='L_SHOULDER_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='L_ELBOW_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='R_SHOULDER_ANIMATOR'/>
        <ROUTE fromField='fraction_changed' fromNode='TIMER' toField='set_fraction' toNode='R_ELBOW_ANIMATOR'/>
      </ProtoBody>
    </ProtoDeclare>
    <Anchor description='InterchangableActorsViaDynamicRouting' parameter='"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."'>
          <FontStyle justify='"MIDDLE" "MIDDLE"' size='0.8'/>
        </Text>
        <Appearance>
          <Material diffuseColor='1 1 0.2'/>
        </Appearance>
      </Shape>
    </Anchor>
  </Scene>
</X3D>
