<?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_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='23 May 2020'/>
<meta name='referencecontent=' http://www.ballreich.net/vrml/HAnim/nancy_HAnim.wrl '/>
<meta name='referencecontent=' http://www.HAnim.org/Models/HAnim2001/boxman/protos/LOA1_WalkAnimation.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 kneel Animation HAnim 2001'/>
<meta name='identifiercontent=' https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_KneelAnimation.x3d '/>
<meta name='generatorcontent='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/>
<meta name='licensecontent=' ../license.html'/>
</head>
<!-- -->
<Scene>
<WorldInfo title='LOA1_KneelAnimation.x3d'/>
<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>
<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 .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>
<!-- 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>
<!-- no SACROILIAC_ANIMATOR -->
<!-- ROUTE information for L_HIP_ANIMATOR node:  [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>
<!-- ROUTE information for L_KNEE_ANIMATOR node:  [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>
<!-- ROUTE information for L_ANKLE_ANIMATOR node:  [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 -->
<!-- ROUTE information for R_HIP_ANIMATOR node:  [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>
<!-- ROUTE information for R_KNEE_ANIMATOR node:  [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>
<!-- ROUTE information for R_ANKLE_ANIMATOR node:  [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 -->
<!-- ROUTE information for VL5_ANIMATOR node:  [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 -->
<!-- ROUTE information for L_SHOULDER_ANIMATOR node:  [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>
<!-- ROUTE information for L_ELBOW_ANIMATOR node:  [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 -->
<!-- ROUTE information for R_SHOULDER_ANIMATOR node:  [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>
<!-- ROUTE information for R_ELBOW_ANIMATOR node:  [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=' 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=' 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=' 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=' VL5_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=' R_SHOULDER_ANIMATOR' toField='set_fraction'/>
< ROUTE  fromNode=' TIMER' fromField='fraction_changed' toNode=' R_ELBOW_ANIMATOR' toField='set_fraction'/>
</ProtoBody>
</ProtoDeclare>
<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_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>
<!--

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_SHOULDER_ANIMATOR, R_ANKLE_ANIMATOR, R_ELBOW_ANIMATOR, R_HIP_ANIMATOR, R_KNEE_ANIMATOR, R_SHOULDER_ANIMATOR, TIMER, VL5_ANIMATOR

Index for ProtoDeclare definition: LOA1_KneelAnimation
-->

Event Graph ROUTE Table with 13 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 13 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)
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)
R_HIP_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat
TIMER
TimeSensor
fraction_changed
SFFloat

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

ROUTE
event to
(1)
R_ANKLE_ANIMATOR
OrientationInterpolator
set_fraction
SFFloat


-->

<!-- Online at
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_KneelAnimationIndex.html -->
<!-- Version control at
https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/LOA1_KneelAnimation.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. -->