<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.3//EN" "https://www.web3d.org/specifications/x3d-3.3.dtd">
<X3D profile='Immersive'  version='3.3 xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation =' https://www.web3d.org/specifications/x3d-3.3.xsd ' >
<head>
<meta name='titlecontent=' LOA1_RunAnimation.x3d '/>
<meta name='descriptioncontent='Humanoid animation prototype reusable by any Humanoid.'/>
<meta name='creatorcontent='Cindy Ballreich cindy@ballreich.net 3Name3D'/>
<meta name='rightscontent='1997 3Name3D / Yglesias, Wallock, Divekar, Inc., all rights reserved.'/>
<meta name='translatorcontent='Ozan APAYDIN'/>
<meta name='translatedcontent='30 October 2001'/>
<meta name='modifiedcontent='23 May 2020'/>
<meta name='referencecontent=' http://www.ballreich.net/vrml/HAnim/nancy_HAnim.wrl '/>
<meta name='referencecontent=' http://www.HAnim.org '/>
<meta name='referencecontent=' http://HAnim.org/Models '/>
<meta name='referencecontent=' http://HAnim.org/Nodes '/>
<meta name='subjectcontent='Nancy Run Animation HAnim 2001'/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_RunAnimation.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='LOA1_RunAnimation.x3d'/>
<ProtoDeclare name='LOA1_RunAnimation'>
<ProtoInterface>
<field name='cycleIntervaltype='SFTimevalue='1accessType='inputOutput'/>
<field name='enabledtype='SFBoolvalue='trueaccessType='inputOutput'/>
<field name='looptype='SFBoolvalue='trueaccessType='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>
<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>
<!-- ROUTE information for HUMANOIDROOT_POSITION_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<PositionInterpolator DEF='HUMANOIDROOT_POSITION_ANIMATORkey='0.0 0.2182 0.2909 0.3091 0.7091 0.8 0.8182 1.0keyValue='0.0 -0.0351 0.0 0.0 -0.0351 0.0 0.0 -0.04087 0.0 0.0 -0.04886 0.0 0.0 -0.04051 0.0 0.0 -0.03666 0.0 0.0 -0.03666 0.0 0.0 -0.0351 0.0'>
<IS>
<connect nodeField='value_changedprotoField='HumanoidRoot_translation_changed'/>
</IS>
</PositionInterpolator>
<!-- ROUTE information for HUMANOIDROOT_ANIMATOR node:  [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>
<!-- ROUTE information for SACROILIAC_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='SACROILIAC_ANIMATORkey='0 1keyValue='0.9969 -0.05444 0.05596 0.07687 0.9969 -0.05444 0.05596 0.07687'>
<IS>
<connect nodeField='value_changedprotoField='lower_body_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for L_HIP_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_HIP_ANIMATORkey='0.0 0.2182 0.4909 0.7455 1.0keyValue='-0.9986 0.03354 0.04001 1.212 -0.9889 0.1328 0.06696 0.4025 0.9894 0.1453 0.009351 0.4114 -0.9963 0.07032 0.05003 0.7035 -0.9986 0.03354 0.04001 1.212'>
<IS>
<connect nodeField='value_changedprotoField='l_hip_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for L_KNEE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_KNEE_ANIMATORkey='0.0 0.2182 0.4909 0.7455 1.0keyValue='1.0 0.0 0.0 1.108 1.0 0.0 0.0 0.4265 1.0 0.0 0.0 0.7052 1.0 0.0 0.0 2.179 1.0 0.0 0.0 1.108'>
<IS>
<connect nodeField='value_changedprotoField='l_knee_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for L_ANKLE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_ANKLE_ANIMATORkey='0.0 0.2182 0.3091 0.4909 1.0keyValue='1.0 0.0 0.0 0.03543 -1.0 0.0 0.0 0.1037 -1.0 0.0 0.0 0.4328 1.0 0.0 0.0 0.1929 1.0 0.0 0.0 0.03543'>
<IS>
<connect nodeField='value_changedprotoField='l_ankle_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for L_MIDTARSAL_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_MIDTARSAL_ANIMATORkey='0 0.5 1keyValue='1 0 0 0 1 0 0 -0.2 1 0 0 0'>
<IS>
<connect nodeField='value_changedprotoField='l_midtarsal_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for R_HIP_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_HIP_ANIMATORkey='0.0 0.2182 0.4909 0.7455 1.0keyValue='0.9999 0.00293 -0.00989 0.402 -1.0 0.004977 -0.00497 0.5943 -1.0 0.003265 -0.001752 1.178 -0.9999 0.00815 -0.01093 0.3031 0.9999 0.00293 -0.00989 0.402'>
<IS>
<connect nodeField='value_changedprotoField='r_hip_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for R_KNEE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_KNEE_ANIMATORkey='0.0 0.03636 0.2182 0.4909 0.7455 1.0keyValue='1.0 0.0 0.0 0.7004 1.0 0.0 0.0 1.011 1.0 0.0 0.0 1.892 1.0 0.0 0.0 1.188 1.0 0.0 0.0 0.3964 1.0 0.0 0.0 0.7004'>
<IS>
<connect nodeField='value_changedprotoField='r_knee_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for R_ANKLE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_ANKLE_ANIMATORkey='0.0 0.4909 0.7091 0.8 0.8182 1.0keyValue='1.0 0.0 0.0 0.2323 -1.0 0.0 0.0 0.07843 -1.0 0.0 0.0 0.09676 -1.0 0.0 0.0 0.3274 -1.0 0.0 0.0 0.3278 1.0 0.0 0.0 0.2323'>
<IS>
<connect nodeField='value_changedprotoField='r_ankle_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for R_MIDTARSAL_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_MIDTARSAL_ANIMATORkey='0 0.5 1keyValue='1 0 0 -0.2 1 0 0 0 1 0 0 -0.2'>
<IS>
<connect nodeField='value_changedprotoField='r_midtarsal_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for VL5_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='VL5_ANIMATORkey='0.0 0.2545 0.4909 0.7636 1.0keyValue='0.7651 0.6382 0.08586 0.2712 0.9999 0.002845 -0.01547 0.3756 0.7459 -0.6505 -0.1432 0.2416 0.9984 0.05536 -0.01154 0.3488 0.7651 0.6382 0.08586 0.2712'>
<IS>
<connect nodeField='value_changedprotoField='vl5_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for SKULLBASE_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='SKULLBASE_ANIMATORkey='0.0 0.4909 1.0keyValue='0.6517 -0.7559 0.06211 0.2508 0.6467 0.7527 -0.1238 0.2344 0.6517 -0.7559 0.06211 0.2508'>
<IS>
<connect nodeField='value_changedprotoField='skullbase_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for L_SHOULDER_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_SHOULDER_ANIMATORkey='0.0 0.2182 0.4909 0.7455 1.0keyValue='0.9907 -0.07264 0.115 1.135 0.9291 -0.1222 0.349 0.1695 -0.9892 0.1364 -0.05394 0.5112 0.9942 -2.052E-4 0.1073 0.4975 0.9907 -0.07264 0.115 1.135'>
<IS>
<connect nodeField='value_changedprotoField='l_shoulder_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for L_ELBOW_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_ELBOW_ANIMATORkey='0.0 0.2182 0.4909 0.7455 1.0keyValue='0.9985 0.03887 0.03802 4.689 -0.965 -0.1889 -0.1821 1.415 0.9758 0.1563 0.1529 4.666 -0.9956 -0.0936 0.009826 1.126 0.9985 0.03887 0.03802 4.689'>
<IS>
<connect nodeField='value_changedprotoField='l_elbow_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for L_WRIST_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='L_WRIST_ANIMATORkey='0.0 1.0keyValue='-0.0240995 -0.999682 0.00741506 0.120409 -0.0240995 -0.999682 0.00741506 0.120409'>
<IS>
<connect nodeField='value_changedprotoField='l_wrist_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for R_SHOULDER_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_SHOULDER_ANIMATORkey='0.0 0.2182 0.4909 0.7455 1.0keyValue='-1.0 0.0 0.0 0.6979 0.9094 0.2062 -0.3613 0.4157 0.9637 0.1537 -0.2185 1.353 0.4864 0.08841 -0.8693 0.1716 -1.0 0.0 0.0 0.6979'>
<IS>
<connect nodeField='value_changedprotoField='r_shoulder_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for R_ELBOW_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_ELBOW_ANIMATORkey='0.0 0.2182 0.4909 0.7455 1.0keyValue='0.9353 -0.2978 -0.191 4.222 -0.9362 0.2924 -0.1952 1.05 0.9941 -0.09719 -0.04725 4.512 -0.9594 0.2653 0.09579 1.525 0.9353 -0.2978 -0.191 4.222'>
<IS>
<connect nodeField='value_changedprotoField='r_elbow_rotation_changed'/>
</IS>
</OrientationInterpolator>
<!-- ROUTE information for R_WRIST_ANIMATOR node:  [from TIMER.fraction_changed to set_fraction ] -->
<OrientationInterpolator DEF='R_WRIST_ANIMATORkey='0.0 1.0keyValue='-0.917742 -0.237244 -0.318536 0.214273 -0.917742 -0.237244 -0.318536 0.214273'>
<IS>
<connect nodeField='value_changedprotoField='r_wrist_rotation_changed'/>
</IS>
</OrientationInterpolator>
</Group>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' HUMANOIDROOT_POSITION_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' HUMANOIDROOT_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' SACROILIAC_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' L_HIP_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' L_KNEE_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' L_ANKLE_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' L_MIDTARSAL_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' R_HIP_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' R_KNEE_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' R_ANKLE_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' R_MIDTARSAL_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' VL5_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' SKULLBASE_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' L_SHOULDER_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' L_ELBOW_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' L_WRIST_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' R_SHOULDER_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' R_ELBOW_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' R_WRIST_ANIMATOR' toField='set_fraction'/>
</ProtoBody>
</ProtoDeclare>
<!-- ====================================== -->
<!-- Point to example use in case someone inspects this file -->
<Anchor description='InterchangableActorsViaDynamicRoutingparameter='"target=_blank"'
  url=' InterchangableActorsViaDynamicRouting.x3d"https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/InterchangableActorsViaDynamicRouting.x3d" "InterchangableActorsViaDynamicRouting.wrl" "https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/InterchangableActorsViaDynamicRouting.wrl" ' >
<Shape>
<Text string='"LOA1_RunAnimation.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>
<!--

to top <!-- Event Graph ROUTE Table shows event connections -->
 
<!-- Index for DEF nodes: HUMANOIDROOT_ANIMATOR, HUMANOIDROOT_POSITION_ANIMATOR, L_ANKLE_ANIMATOR, L_ELBOW_ANIMATOR, L_HIP_ANIMATOR, L_KNEE_ANIMATOR, L_MIDTARSAL_ANIMATOR, L_SHOULDER_ANIMATOR, L_WRIST_ANIMATOR, R_ANKLE_ANIMATOR, R_ELBOW_ANIMATOR, R_HIP_ANIMATOR, R_KNEE_ANIMATOR, R_MIDTARSAL_ANIMATOR, R_SHOULDER_ANIMATOR, R_WRIST_ANIMATOR, SACROILIAC_ANIMATOR, SKULLBASE_ANIMATOR, TIMER, VL5_ANIMATOR

Index for ProtoDeclare definition: LOA1_RunAnimation
-->

Event Graph ROUTE Table with 19 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
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
HUMANOIDROOT_POSITION_ANIMATOR
PositionInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
HUMANOIDROOT_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
SACROILIAC_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
L_HIP_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
L_KNEE_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
L_ANKLE_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
L_MIDTARSAL_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

ROUTE
event to
(1)
R_HIP_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat


-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_RunAnimationIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_RunAnimation.x3d -->

<!-- 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)
    <ProtoDeclare name='ProtoName'> <field name='fieldName'/> </ProtoDeclare> -->

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