media @ VU
[] readme course preface I 1 2 II 3 4 III 5 6 7 IV 8 9 10 V 11 12 afterthoughts appendix references examples resources _

talk show tell print

extern-proto-matrix.vr

extern-proto-matrix.vr (wrl ) [ flux / bitmanagement / cortona / octaga ]


  #VRMLV2.0 utf8
  

proto-matrix

interface


  EXTERNPROTO NetworkSFBool [
                       eventIn SFBool set_value
                       eventOut SFBool value_changed
                       eventIn SFBool value_fromnet
                       eventOut SFBool value_tonet
                       exposedField SFString tag
                       exposedField SFBool   pilotOnly
                       field SFBool   localCopy
                       exposedField SFBool   echo
                       exposedField SFBool   cont
                      ]
  {
     Script {
        eventIn SFBool InSc IS set_value
        eventOut SFBool OutSc IS value_changed
        eventIn SFBool netInSc IS value_fromnet
        eventOut SFBool netOutSc IS value_tonet
        field SFBool local
  
        directOutput TRUE
        mustEvaluate TRUE
  
        url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
     }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFColor [
    eventIn SFColor set_value
    eventOut SFColor value_changed
    eventIn SFColor value_fromnet
    eventOut SFColor value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn SFColor InSc IS set_value
      eventOut SFColor OutSc IS value_changed
      eventIn SFColor netInSc IS value_fromnet
      eventOut SFColor netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFFloat [
    eventIn SFFloat set_value
    eventOut SFFloat value_changed
    eventIn SFFloat value_fromnet
    eventOut SFFloat value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn SFFloat InSc IS set_value
      eventOut SFFloat OutSc IS value_changed
      eventIn SFFloat netInSc IS value_fromnet
      eventOut SFFloat netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFImage [
    eventIn SFImage set_value
    eventOut SFImage value_changed
    eventIn SFImage value_fromnet
    eventOut SFImage value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn SFImage InSc IS set_value
      eventOut SFImage OutSc IS value_changed
      eventIn SFImage netInSc IS value_fromnet
      eventOut SFImage netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFInt32 [
    eventIn SFInt32 set_value
    eventOut SFInt32 value_changed
    eventIn SFInt32 value_fromnet
    eventOut SFInt32 value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn SFInt32 InSc IS set_value
      eventOut SFInt32 OutSc IS value_changed
      eventIn SFInt32 netInSc IS value_fromnet
      eventOut SFInt32 netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFRotation [
    eventIn SFRotation set_value
    eventOut SFRotation value_changed
    eventIn SFRotation value_fromnet
    eventOut SFRotation value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn SFRotation InSc IS set_value
      eventOut SFRotation OutSc IS value_changed
      eventIn SFRotation netInSc IS value_fromnet
      eventOut SFRotation netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFString [
    eventIn SFString set_value
    eventOut SFString value_changed
    eventIn SFString value_fromnet
    eventOut SFString value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn SFString InSc IS set_value
      eventOut SFString OutSc IS value_changed
      eventIn SFString netInSc IS value_fromnet
      eventOut SFString netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFTime [
    eventIn SFTime set_value
    eventOut SFTime value_changed
    eventIn SFTime value_fromnet
    eventOut SFTime value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn SFTime InSc IS set_value
      eventOut SFTime OutSc IS value_changed
      eventIn SFTime netInSc IS value_fromnet
      eventOut SFTime netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFVec2f [
    eventIn SFVec2f set_value
    eventOut SFVec2f value_changed
    eventIn SFVec2f value_fromnet
    eventOut SFVec2f value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn SFVec2f InSc IS set_value
      eventOut SFVec2f OutSc IS value_changed
      eventIn SFVec2f netInSc IS value_fromnet
      eventOut SFVec2f netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkSFVec3f [
                        eventIn SFVec3f set_value
                        eventOut SFVec3f value_changed
                        eventIn SFVec3f value_fromnet
                        eventOut SFVec3f value_tonet
                        exposedField SFString tag
                        exposedField SFBool   pilotOnly
                        field SFBool   localCopy
                        exposedField SFBool   echo
                        exposedField SFBool   cont
                       ]
  {
     Script {
        eventIn SFVec3f InSc IS set_value
        eventOut SFVec3f OutSc IS value_changed
        eventIn SFVec3f netInSc IS value_fromnet
        eventOut SFVec3f netOutSc IS value_tonet
        field SFBool local
  
        directOutput TRUE
        mustEvaluate TRUE
  
        url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
     }
  }
  
  
  

interface


  EXTERNPROTO NetworkMFColor [
    eventIn MFColor set_value
    eventOut MFColor value_changed
    eventIn MFColor value_fromnet
    eventOut MFColor value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn MFColor InSc IS set_value
      eventOut MFColor OutSc IS value_changed
      eventIn MFColor netInSc IS value_fromnet
      eventOut MFColor netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkMFFloat [
    eventIn MFFloat set_value
    eventOut MFFloat value_changed
    eventIn MFFloat value_fromnet
    eventOut MFFloat value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn MFFloat InSc IS set_value
      eventOut MFFloat OutSc IS value_changed
      eventIn MFFloat netInSc IS value_fromnet
      eventOut MFFloat netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkMFInt32 [
    eventIn MFInt32 set_value
    eventOut MFInt32 value_changed
    eventIn MFInt32 value_fromnet
    eventOut MFInt32 value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn MFInt32 InSc IS set_value
      eventOut MFInt32 OutSc IS value_changed
      eventIn MFInt32 netInSc IS value_fromnet
      eventOut MFInt32 netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkMFRotation [
    eventIn MFRotation set_value
    eventOut MFRotation value_changed
    eventIn MFRotation value_fromnet
    eventOut MFRotation value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn MFRotation InSc IS set_value
      eventOut MFRotation OutSc IS value_changed
      eventIn MFRotation netInSc IS value_fromnet
      eventOut MFRotation netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkMFString [
    eventIn MFString set_value
    eventOut MFString value_changed
    eventIn MFString value_fromnet
    eventOut MFString value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn MFString InSc IS set_value
      eventOut MFString OutSc IS value_changed
      eventIn MFString netInSc IS value_fromnet
      eventOut MFString netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkMFVec2f [
    eventIn MFVec2f set_value
    eventOut MFVec2f value_changed
    eventIn MFVec2f value_fromnet
    eventOut MFVec2f value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn MFVec2f InSc IS set_value
      eventOut MFVec2f OutSc IS value_changed
      eventIn MFVec2f netInSc IS value_fromnet
      eventOut MFVec2f netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO NetworkMFVec3f [
    eventIn MFVec3f set_value
    eventOut MFVec3f value_changed
    eventIn MFVec3f value_fromnet
    eventOut MFVec3f value_tonet
    exposedField SFString tag
    exposedField SFBool   pilotOnly
    field SFBool   localCopy
    exposedField SFBool   echo
    exposedField SFBool   cont
  ]
  {
    Script {
      eventIn MFVec3f InSc IS set_value
      eventOut MFVec3f OutSc IS value_changed
      eventIn MFVec3f netInSc IS value_fromnet
      eventOut MFVec3f netOutSc IS value_tonet
      field SFBool local
  
      directOutput TRUE
      mustEvaluate TRUE
  
      url "javascript:
        function InSc(value) {
          netOutSc = value;
          if( local == true )
            OutSc = value;
        }
        function netInSc(value) {
          OutSc = value;
        }
      "
    }
  }
  
  
  

interface


  EXTERNPROTO Matrix_Gate [
                     eventIn SFBool activate
                     eventOut SFString isActive
                     field SFString target
                    ]
  {
     Script {
        eventIn SFBool activateSc IS activate
        eventOut SFString isActiveSc IS isActive
        field SFString targetSc
  
        directOutput TRUE
        mustEvaluate TRUE
  
        url "javascript:
        function activateSc(value) {
          if( value == true ) {
            isActiveSc = targetSc;
          }
        }
      "
     }
  }
  
  
  

interface


  EXTERNPROTO SharedObject
  [
   exposedField    SFBool        isPilot
   exposedField    SFString      name
   exposedField    MFNode        children
   exposedField    SFVec3f       position
   exposedField    SFRotation     orientation
   eventIn         SFBool        set_isVisible
   eventOut        SFBool        isVisible_changed
   exposedField    MFString       url
   exposedField    SFBool        isAvatar
   exposedField    MFNode        states
  ]
  {
     Transform {
        translation IS position
        rotation IS orientation
        children [
           DEF Visible Switch {
              whichChoice 0
              choice [
                 Transform {
                    rotation 0 1 0 3.141592 # to compensate for Camera direction
                    children IS children
                 }
                ]
           }
           Group {
              children IS states
           }
           DEF Control Script {
              eventIn   SFBool   set_isVisible IS set_isVisible
              eventOut  SFBool   isVisible_changed IS isVisible_changed
              eventOut  SFInt32  choice
  
              mustEvaluate TRUE
  
              url "javascript:
        function set_isVisible( value ){
          isVisible_changed = value;
          if( value == true ){
            choice = 0;
          } else {
            choice = -1;
          }
        }"
           }
          ]
     }
     ROUTE Control.choice TO Visible.set_whichChoice
  }
  
  


(C) A. Eliëns 21/5/2007

You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.