#VRML V2.0 utf8
# This file was created with ParallelGraphics Internet Space Builder v 3.0.
# According to License Agreement, you may not remove or modify this notice.
# Internet Space Builder, Copyright (C) 1998 ParallelGraphics
# Last modification: [Fri Aug 05 21:47:58 2005]

WorldInfo {
	info [
		"LastSaveBy:  "
		"EditingTime: 2515"
	]
}
DirectionalLight {
	direction -0.2 -0.8 -0.6
	ambientIntensity 0.5
}
Viewpoint {
 # position -27 5 40
 #  position 20 0 70 
   position 0 -10 80 
 orientation 0 0 0 0 
  description "ISA Default"
}


 Group {
 children [
          Billboard {
                   axisOfRotation 0 1 0
     children [
DEF names Transform { # children: 1
                   scale 17 17 1
			translation 1 -32 0	
        
                    children [
				Shape {
				appearance Appearance {
                 texture ImageTexture { url "./names.gif" }
		      					}
				geometry Box {
		      	size 2.5625 1 .3
						}
					}
					]				
                   }

DEF button1 Transform {
#   translation -6.5 -28.1 3
   translation -4.5 -24 3
   children [
      DEF bp1 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }


DEF button2 Transform {
#   translation -6.5 -28.1 3
   translation -4.5 -26 3
   children [
      DEF bp2 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }

DEF button3 Transform {
   translation -4.5 -28. 3
   children [
      DEF bp3 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }

DEF button4 Transform {
   translation -4.5 -30. 3
   children [
      DEF bp4 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }

DEF button5 Transform {
   translation -4.5 -32. 3
   children [
      DEF bp5 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }

DEF button6 Transform {
   translation -4.5 -34. 3
   children [
      DEF bp6 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }

DEF button7 Transform {
   translation -4.5 -36. 3
   children [
      DEF bp7 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }

DEF button8 Transform {
   translation -4.5 -38. 3
   children [
      DEF bp8 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }

DEF button9 Transform {
   translation 19. -24. 3
   children [
      DEF bp9 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }
DEF button10 Transform {
   translation 19 -26. 3
   children [
      DEF bp10 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }
DEF button11 Transform {
   translation 19 -28. 3
   children [
      DEF bp11 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }
DEF button12 Transform {
   translation 19 -30. 3
   children [
      DEF bp12 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }
DEF button13 Transform {
   translation 19 -32. 3
   children [
      DEF bp13 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }
DEF button14 Transform {
   translation 19 -34. 3
   children [
      DEF bp14 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }
DEF button15 Transform {
   translation 19 -36. 3
   children [
      DEF bp15 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }

DEF button16 Transform {
   translation 19 -38. 3
   children [
      DEF bp16 TouchSensor {
      }
      Inline { url ["./light-switch.wrl"] }
     ]
      scale 17 14.5 5
                   }



] 
#     children [
#    DEF button1 Transform {
#   translation 0.3 -28.1 0
#   children [
#      DEF LIGHT_CONTROL TouchSensor {
#      }
#      Inline { url ["./light-switch.wrl"] }
#     ]
#      scale 17 14.5 5
#                   }
#     ]

}
 ] }


DEF p1 Transform {
  children Inline { url "./aorticvalvep1.wrl" }
          }
DEF p2 Transform {
  children Inline { url "./mitralvalvep2.wrl" }
          }
DEF p3 Transform {
  children Inline { url "./pulmonaryvalvep3.wrl" }
          }
DEF p4 Transform {
  children Inline { url "./tricuspidvalvep4.wrl" }
          }
DEF p5 Transform {
  children Inline { url "./atrialseptump5.wrl" }
          }
DEF p6 Transform {
  children Inline { url "./rightventriclep6.wrl" }
          }
DEF p7 Transform {
  children Inline { url "./leftventriclep7.wrl" }
          }
DEF p8 Transform {
  children Inline { url "./rightatriump8.wrl" }
          }
DEF p9 Transform {
  children Inline { url "./superiorvenacavap9.wrl" }
          }
DEF p10 Transform {
  children Inline { url "./inferiorvenacavap10.wrl" }
          }
#DEF p11 Transform {
#  children Inline { url "./leftatriump11.wrl" }
#          }
DEF p11a Transform {
  children Inline { url "./leftatriump11a_2.wrl" }
          }
DEF p11b Transform {
  children Inline { url "./pulmonaryvainp11b.wrl" }
          }
DEF p11c Transform {
  children Inline { url "./pulmonaryvainp11c.wrl" }
          }
DEF p12 Transform {
  children Inline { url "./pulmonarytrunkp12.wrl" }
           }
DEF p13 Transform {
  children Inline { url "./aortap13.wrl" }
          }
DEF p14 Transform {
  children Inline { url "./p14.wrl" }
          }


DEF timer TimeSensor {
  cycleInterval 5.0
  loop TRUE
}

DEF Clock1 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock2 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock3 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock4 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock5 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock6 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock7 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock8 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock9 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock10 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock11 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock12 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock13 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock14 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock15 TimeSensor {
  cycleInterval 6.0  
        }
DEF Clock16 TimeSensor {
  cycleInterval 6.0  
        }



DEF Interpolator OrientationInterpolator {
  key [ 0.0, 0.5, 1.0 ]
  keyValue [
    0.0  1.0  0.0  0.00,
    0.0  1.0  0.0  3.14,
    0.0  1.0  0.0  6.28
  ]
}

DEF Drag1 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag2 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag3 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag4 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag5 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag6 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag7 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag8 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag9 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }

DEF Drag10 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }

DEF Drag11 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }

DEF Drag12 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag13 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag14 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag15 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }
DEF Drag16 PositionInterpolator {
     key [ 0. .2 .8 1 ]
     keyValue [ 0 0 0, 29 6 0, 29 6 0, 0 0 0 ]
                             }

#----------------- rotation of heart-----------------
 ROUTE timer.fraction_changed TO Interpolator.set_fraction

ROUTE Interpolator.value_changed TO p1.set_rotation
ROUTE Interpolator.value_changed TO p2.set_rotation
ROUTE Interpolator.value_changed TO p3.set_rotation
ROUTE Interpolator.value_changed TO p4.set_rotation
ROUTE Interpolator.value_changed TO p5.set_rotation
ROUTE Interpolator.value_changed TO p6.set_rotation
ROUTE Interpolator.value_changed TO p7.set_rotation
ROUTE Interpolator.value_changed TO p8.set_rotation
ROUTE Interpolator.value_changed TO p9.set_rotation
ROUTE Interpolator.value_changed TO p10.set_rotation
ROUTE Interpolator.value_changed TO p11a.set_rotation
ROUTE Interpolator.value_changed TO p11b.set_rotation
ROUTE Interpolator.value_changed TO p11c.set_rotation
ROUTE Interpolator.value_changed TO p12.set_rotation
ROUTE Interpolator.value_changed TO p13.set_rotation
ROUTE Interpolator.value_changed TO p14.set_rotation

#--------------click translations -----------------
#   Right ventricle
ROUTE bp1.touchTime     TO Clock1.startTime
ROUTE Clock1.fraction_changed TO Drag1.set_fraction
ROUTE Drag1.value_changed TO p6.set_translation
#  Left ventricle
ROUTE bp2.touchTime     TO Clock2.startTime
ROUTE Clock2.fraction_changed TO Drag2.set_fraction
ROUTE Drag2.value_changed TO p7.set_translation
#  Right atrium
ROUTE bp3.touchTime     TO Clock3.startTime
ROUTE Clock3.fraction_changed TO Drag3.set_fraction
ROUTE Drag3.value_changed TO p8.set_translation
#  left  atrium
ROUTE bp4.touchTime     TO Clock4.startTime
ROUTE Clock4.fraction_changed TO Drag4.set_fraction
ROUTE Drag4.value_changed TO p11a.set_translation
#  superior vena cava
ROUTE bp5.touchTime     TO Clock5.startTime
ROUTE Clock5.fraction_changed TO Drag5.set_fraction
ROUTE Drag5.value_changed TO p9.set_translation
#  inferior vena cava
ROUTE bp6.touchTime     TO Clock6.startTime
ROUTE Clock6.fraction_changed TO Drag6.set_fraction
ROUTE Drag6.value_changed TO p10.set_translation
#  Aorta
ROUTE bp7.touchTime     TO Clock7.startTime
ROUTE Clock7.fraction_changed TO Drag7.set_fraction
ROUTE Drag7.value_changed TO p13.set_translation
#  Atrial septum
ROUTE bp8.touchTime     TO Clock8.startTime
ROUTE Clock8.fraction_changed TO Drag8.set_fraction
ROUTE Drag8.value_changed TO p5.set_translation
#  Pulmonary trunk
ROUTE bp9.touchTime     TO Clock9.startTime
ROUTE Clock9.fraction_changed TO Drag9.set_fraction
ROUTE Drag9.value_changed TO p12.set_translation
#  right pulmonary vein
ROUTE bp10.touchTime     TO Clock10.startTime
ROUTE Clock10.fraction_changed TO Drag10.set_fraction
ROUTE Drag10.value_changed TO p11c.set_translation
#  left pulmonary vein
ROUTE bp11.touchTime     TO Clock11.startTime
ROUTE Clock11.fraction_changed TO Drag11.set_fraction
ROUTE Drag11.value_changed TO p11b.set_translation
#  left pulmonary vein
ROUTE bp11.touchTime     TO Clock11.startTime
ROUTE Clock11.fraction_changed TO Drag11.set_fraction
ROUTE Drag11.value_changed TO p11b.set_translation

#  pulmonary valve
ROUTE bp12.touchTime     TO Clock12.startTime
ROUTE Clock12.fraction_changed TO Drag12.set_fraction
ROUTE Drag12.value_changed TO p3.set_translation
#  aortic valve
ROUTE bp13.touchTime     TO Clock13.startTime
ROUTE Clock13.fraction_changed TO Drag13.set_fraction
ROUTE Drag13.value_changed TO p1.set_translation
#  mitral valve
ROUTE bp14.touchTime     TO Clock14.startTime
ROUTE Clock14.fraction_changed TO Drag14.set_fraction
ROUTE Drag14.value_changed TO p2.set_translation
#  tricuspid valve
ROUTE bp15.touchTime     TO Clock15.startTime
ROUTE Clock15.fraction_changed TO Drag15.set_fraction
ROUTE Drag15.value_changed TO p4.set_translation
#  heart outside
ROUTE bp16.touchTime     TO Clock16.startTime
ROUTE Clock16.fraction_changed TO Drag16.set_fraction
ROUTE Drag16.value_changed TO p14.set_translation





# ROUTE Drag.value_changed TO p6.set_translation

# Faces total: 7752
# Facesets total: 1
