arm


  
  PROTO Arm [
      exposedField SFRotation elbowBend 0 0 1 0
      exposedField SFRotation shoulderBend 0 0 1 0 
  ] {
      Transform {
          rotation IS shoulderBend
          children [
              Shape {
                  appearance Appearance {
                      material DEF ARM_MAT Material {
                          diffuseColor 0.4 0.4 0.7
                      }
                  }
                  geometry Sphere { radius 0.08 }
              }
              Transform {
              translation 0 -0.15 0
              children [
                  Shape {
                      geometry Cylinder { top FALSE height 0.3 radius 0.08 }
                      appearance Appearance {
                          material USE ARM_MAT 
                      }
                  }
                  Transform {
                      translation 0 -0.15 0
                      children [
                          Shape {
                              appearance Appearance {
                                  material USE ARM_MAT 
                              }
                              geometry Sphere { radius 0.08 }
                          }
                          Transform {
                              rotation IS elbowBend
                              children Transform {
                                  translation 0 -0.15 0
                                  children [
                                      Shape {
                                          geometry Cylinder { top FALSE bottom FALSE height 0.3 radius 0.08 }
                                          appearance Appearance {
                                              material USE ARM_MAT 
                                          }
                                      }
                                  ]
                              }
                          }
                      ]
                  } 
              ]
          }
      ]
      }
  }