#VRML V2.0 utf8 # # dummy PROTO declarations for blaxxunCCpro shared events # PROTO BlaxxunZone [ eventIn MFNode addEvents eventIn MFNode removeEvents eventIn MFNode addAvatars eventIn MFNode removeAvatars exposedField MFNode events [] exposedField MFNode avatars [] eventOut MFNode events_added eventOut MFNode events_removed eventOut MFNode avatars_added eventOut MFNode avatars_removed eventIn SFString set_myAvatarURL eventOut SFString myAvatarURL_changed eventIn SFInt32 set_myAvatarGesture eventIn SFInt32 myAvatarGestureFromServer eventOut SFInt32 myAvatarGesture_changed eventOut SFInt32 myAvatarGestureToServer exposedField MFString sendToChat [] exposedField SFFloat beamToDistance 1 exposedField MFString groupChatName "" exposedField MFString groupChat "" ] { DEF TE Transform { addChildren IS addEvents removeChildren IS removeEvents children IS events } DEF TA Transform { addChildren IS addAvatars removeChildren IS removeAvatars children IS avatars } DEF S Script { eventIn MFNode addEvents IS addEvents eventIn MFNode removeEvents IS removeEvents eventIn MFNode addAvatars IS addAvatars eventIn MFNode removeAvatars IS removeAvatars eventIn SFString set_myAvatarURL IS set_myAvatarURL eventOut MFNode events_added IS events_added eventOut MFNode events_removed IS events_removed eventOut MFNode avatars_added IS avatars_added eventOut MFNode avatars_added IS avatars_added eventIn SFInt32 set_myAvatarGesture IS set_myAvatarGesture eventIn SFInt32 myAvatarGestureFromServer IS myAvatarGestureFromServer eventOut SFInt32 myAvatarGesture_changed IS myAvatarGesture_changed eventOut SFInt32 myAvatarGestureToServer IS myAvatarGestureToServer eventOut SFString myAvatarURL_changed IS myAvatarURL_changed exposedField MFString groupChatName IS groupChatName exposedField MFString groupChat IS groupChat url "vrmlscript: function addEvents(value, time) { Browser.print('event added '); events_added = value; } function addAvatars(value, time) { Browser.print('avatar added '); avatars_added = value; } function removeEvents(value, time) { Browser.print('event removed '); events_removed = value; } function removeAvatars(value, time) { Browser.print('avatar removed '); avatars_removed = value; } function set_myAvatarGesture(value, time) { Browser.print('avatar gesture sent'); myAvatarGestureToServer = value; } function myAvatarGestureFromServer(value, time) { Browser.print('avatar gesture received '); myAvatarGesture_changed = value; } function set_myAvatarURL(value, time) { Browser.print('avatar url changed '); myAvatarURL_changed = value; } " } } PROTO SharedEvent [ exposedField SFString name "event" exposedField SFString type "SFTime" exposedField SFString toNickname "" exposedField SFString toGroup "" eventIn SFBool boolFromServer eventIn SFColor colorFromServer eventIn SFFloat floatFromServer eventIn SFInt32 int32FromServer eventIn SFRotation rotationFromServer eventIn SFString stringFromServer eventIn SFTime timeFromServer eventIn SFVec2f vec2fFromServer eventIn SFVec3f vec3fFromServer eventOut SFBool boolToServer eventOut SFColor colorToServer eventOut SFFloat floatToServer eventOut SFInt32 int32ToServer eventOut SFRotation rotationToServer eventOut SFString stringToServer eventOut SFTime timeToServer eventOut SFVec2f vec2fToServer eventOut SFVec3f vec3fToServer eventIn SFBool set_bool eventIn SFColor set_color eventIn SFFloat set_float eventIn SFInt32 set_int32 eventIn SFRotation set_rotation eventIn SFString set_string eventIn SFTime set_time eventIn SFVec2f set_vec2f eventIn SFVec3f set_vec3f eventOut SFBool bool_changed eventOut SFColor color_changed eventOut SFFloat float_changed eventOut SFInt32 int32_changed eventOut SFRotation rotation_changed eventOut SFString string_changed eventOut SFTime time_changed eventOut SFVec2f vec2f_changed eventOut SFVec3f vec3f_changed eventOut SFBool initialized ] { Script { eventIn SFString set_name # IS set_name eventIn SFString set_type # IS set_type eventOut SFString name_changed # IS name_changed eventOut SFString type_changed # IS type_changed eventIn SFBool boolFromServer IS boolFromServer eventIn SFColor colorFromServer IS colorFromServer eventIn SFFloat floatFromServer IS floatFromServer eventIn SFInt32 int32FromServer IS int32FromServer eventIn SFRotation rotationFromServer IS rotationFromServer eventIn SFString stringFromServer IS stringFromServer eventIn SFTime timeFromServer IS timeFromServer eventIn SFVec2f vec2fFromServer IS vec2fFromServer eventIn SFVec3f vec3fFromServer IS vec3fFromServer eventOut SFBool boolToServer IS boolToServer eventOut SFColor colorToServer IS colorToServer eventOut SFFloat floatToServer IS floatToServer eventOut SFInt32 int32ToServer IS int32ToServer eventOut SFRotation rotationToServer IS rotationToServer eventOut SFString stringToServer IS stringToServer eventOut SFTime timeToServer IS timeToServer eventOut SFVec2f vec2fToServer IS vec2fToServer eventOut SFVec3f vec3fToServer IS vec3fToServer eventIn SFBool set_bool IS set_bool eventIn SFColor set_color IS set_color eventIn SFFloat set_float IS set_float eventIn SFInt32 set_int32 IS set_int32 eventIn SFRotation set_rotation IS set_rotation eventIn SFString set_string IS set_string eventIn SFTime set_time IS set_time eventIn SFVec2f set_vec2f IS set_vec2f eventIn SFVec3f set_vec3f IS set_vec3f eventOut SFBool bool_changed IS bool_changed eventOut SFColor color_changed IS color_changed eventOut SFFloat float_changed IS float_changed eventOut SFInt32 int32_changed IS int32_changed eventOut SFRotation rotation_changed IS rotation_changed eventOut SFString string_changed IS string_changed eventOut SFTime time_changed IS time_changed eventOut SFVec2f vec2f_changed IS vec2f_changed eventOut SFVec3f vec3f_changed IS vec3f_changed eventOut SFBool initialized IS initialized url "vrmlscript: function initialize( time ) { initialized = TRUE;} function set_name(value, time) { Browser.print('set name to ' + value); name_changed = value; } function set_type(value, time) { Browser.print('set type to ' + value); type_changed = value; } function boolFromServer (value, time) { Browser.print('received shared event bool ' + value); bool_changed = value; } function colorFromServer (value, time) { Browser.print('received shared event color ' + value); color_changed = value; } function floatFromServer (value, time) { Browser.print('received shared event float ' + value); float_changed = value; } function int32FromServer (value, time) { Browser.print('received shared event int32 ' + value); int32_changed = value; } function rotationFromServer (value, time) {Browser.print('received shared event rotation ' + value); rotation_changed = value; } function stringFromServer (value, time) { Browser.print('received shared event string ' + value); string_changed = value; } function timeFromServer (value, time) { Browser.print('received shared event time ' + value); time_changed = time; } function vec2fFromServer (value, time) { Browser.print('received shared event vec2f ' + value); vec2f_changed = value; } function vec3fFromServer (value, time) { Browser.print('received shared event vec3f ' + value); vec3f_changed = value; } function set_bool (value, time) { Browser.print('send shared event bool ' + value); boolToServer = value; } function set_color (value, time) { Browser.print('send shared event color ' + value); colorToServer = value; } function set_float (value, time) { Browser.print('send shared event float ' + value); floatToServer = value; } function set_int32 (value, time) { Browser.print('send shared event int32 ' + value); int32ToServer = value; } function set_rotation (value, time) { Browser.print('send shared event rotation ' + value); rotationToServer = value; } function set_string (value, time) { Browser.print('send shared event string ' + value); stringToServer = value; } function set_time (value, time) { Browser.print('send shared event time ' + value); timeToServer = value; } function set_vec2f (value, time) { Browser.print('send shared event vec2f ' + value); vec2fToServer = value; } function set_vec3f (value, time) { Browser.print('send shared event vec3f ' + value); vec3fToServer = value; } " } } PROTO SharedObject [ exposedField SFVec3f translation 0 0 0 exposedField SFRotation rotation 0 1 0 0 exposedField SFString name "" exposedField SFString id "" exposedField MFNode children [] eventIn SFBool startMove eventOut SFTime touchTime eventOut SFVec3f newPosition eventOut SFRotation newRotation ] { Group { children [ ####MODIFIED################################################-CLR- DEF T1 Transform { translation IS translation rotation IS rotation children[ DEF PS TouchSensor{} Group{children IS children} ]} ####MODIFIED################################################-CLR- ######BEGIN MOVE HUD CODE################################################-CLR- DEF SOSwitch Switch{ whichChoice -1 choice[ Collision{ collide FALSE children[ DEF SOProx ProximitySensor{ size 1000 1000 1000} DEF SOHUD Transform{ children[Transform{translation 0 0 -2 children[ DirectionalLight{direction 0 0 -1 } Transform{ #Done Button translation 1.8 -.16 0 scale .35 .35 .35 children[ DEF DoneButton TouchSensor{} Shape{ appearance Appearance{material Material{diffuseColor 0 1 0 specularColor 0 1 0}} geometry IndexedFaceSet{ coord Coordinate{point[0 0 0,.15 .1 0,.05 .15 0,0 .05 0,-.085 .3 0,-.15 .4 0,-.2 .25 0,-.125 .2125 0,-.05 0 0 ]} coordIndex[0,1,2,3,-1,0,3,4,7,-1,7,4,5,6,-1] }} Transform{ translation 0 .1 0 children Shape{appearance Appearance{material Material{transparency 1}}geometry Sphere{radius .3}} } ]}#END DoneButton Transform{ #CancelButton translation 1.25 -.1 0 scale .45 .45 .45 children[ DEF CancelButton TouchSensor{} Shape{ appearance Appearance{material Material{diffuseColor 1 0 0 specularColor 1 0 0}} geometry IndexedFaceSet{coord Coordinate{point[0 0 0,.15 -.1 0,.1 -.15 0,.15 .1 0,.1 .15 0,-.15 -.1 0,-.1 -.15 0,-.15 .1 0,-.1 .15 0]}coordIndex[0,2,1,-1,0,3,4,-1,0,5,6,-1,0,8,7,-1]} } Shape{appearance Appearance{material Material{transparency 1}}geometry Sphere{radius .2}} ]}#END CancelButton Transform{ #Rotation Control translation 1.5 -.1 0 children[ DEF RotControlKnob Transform{ scale 1 .5 1 children[ Shape{appearance Appearance{material Material{diffuseColor 0 0 .5 specularColor 1 1 1 }}geometry Sphere{radius .1}} ]} DEF RotControlSensor CylinderSensor{minAngle -3.142 maxAngle 3.142} ]}#END RotationControl Transform{#Panel translation 3.05 .5 -2 children[ Transform{# Y-axis children[ Transform{translation 0 .05 0 rotation 0 0 1 0 children[ Shape{appearance Appearance{material Material{diffuseColor 0 1 0 specularColor 0 1 0}}geometry DEF arrow IndexedFaceSet{solid FALSE coord Coordinate{point[-.05 0 0,-.05 .2 0,-.15 .2 0,0 .35 0,.15 .2 0,.05 .2 0,.05 0 0]}coordIndex[0,1,5,6,-1,1,2,3,-1,2,3,5,-1,5,3,4,-1]}} ]} Transform{translation 0 -.05 0 rotation 0 0 1 3.142 children[ Shape{appearance Appearance{material Material{diffuseColor 0 1 0 specularColor 0 1 0}}geometry USE arrow} ]} DEF Y PlaneSensor{} ]}#END Y-axis Transform{# X-axis children[ Transform{translation -.05 0 0 rotation 0 0 1 1.571 children[ Shape{appearance Appearance{material Material{diffuseColor 1 0 0 specularColor 1 0 0}}geometry USE arrow} ]} Transform{translation .05 0 0 rotation 0 0 1 -1.571 children[ Shape{appearance Appearance{material Material{diffuseColor 1 0 0 specularColor 1 0 0}}geometry USE arrow} ]} DEF X PlaneSensor{} ]}#END X-axis Transform{translation 0 0 0 rotation 1 -.5 0 .8 children[ Transform{#Z-axis rotation 1 0 0 1.571 children[ Transform{translation 0 .05 0 rotation 0 0 1 0 children[ Shape{appearance Appearance{material Material{diffuseColor 0 0 1 specularColor 0 0 1}}geometry USE arrow} ]} Transform{translation 0 -.05 0 rotation 0 0 1 3.142 children[ Shape{appearance Appearance{material Material{diffuseColor 0 0 1 specularColor 0 0 1}}geometry USE arrow} ]} DEF Z PlaneSensor{} ]}#END Z-axis ]} ]}#END panel DEF SOScript Script{ eventIn SFBool cleanStatus eventIn SFVec3f set_X eventIn SFVec3f set_Y eventIn SFVec3f set_Z eventIn SFRotation set_rotation eventIn SFBool set_done eventIn SFBool set_cancel eventIn SFBool set_enable IS startMove exposedField SFString name IS name exposedField SFString id IS id exposedField SFFloat rate 10 field SFVec3f initialPosition IS translation field SFRotation initialRotation IS rotation field SFVec3f currentPosition IS translation field SFRotation currentRotation IS rotation field SFVec3f XlastChange 0 0 0 field SFVec3f YlastChange 0 0 0 field SFVec3f ZlastChange 0 0 0 field SFFloat ROTlastChange 0 eventOut SFVec3f position_changed eventOut SFRotation rotation_changed eventOut SFVec3f new_position IS newPosition eventOut SFRotation new_rotation IS newRotation eventOut SFInt32 choice_changed url "vrmlscript: function cleanStatus(val, ts) { if ( !val ) Browser.setDescription(' '); else Browser.setDescription( name ); } function set_enable(v,t){ if(!v){return;} choice_changed = 0; cleanStatus(true,t); } function set_X(v,t){ newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(v[0],0,0)).subtract(XlastChange))).multiply(rate); currentPosition = currentPosition.add(newPosition); position_changed = currentPosition; XlastChange = new SFVec3f(v[0],0,0); } function set_Y(v,t){ newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(0,v[1],0)).subtract(YlastChange))).multiply(rate); currentPosition = currentPosition.add(newPosition); position_changed = currentPosition; YlastChange = new SFVec3f(0,v[1],0); } function set_Z(v,t){ newPosition = (Browser.viewpointOrientation.multVec((new SFVec3f(0,0,v[1])).subtract(ZlastChange))).multiply(rate); currentPosition = currentPosition.add(newPosition); position_changed = currentPosition; ZlastChange = new SFVec3f(0,0,v[1]); } function set_rotation(v,t){ rotation_changed = v; currentRotation = v; } function set_done(v,t){ if(!v){return;} new_position = currentPosition; new_rotation = currentRotation; choice_changed = -1; cleanStatus(false,t); } function set_cancel(v,t){ if(!v){return;} choice_changed = -1; cleanStatus(false,t); position_changed = initialPosition; rotation_changed = initialRotation; } function initialize() {name = 'Object ' + name;} "} ]}#END Collision ]}#END SOHUD ]} ]}#END SOSwitch ROUTE PS.isOver TO SOScript.cleanStatus ROUTE SOProx.position_changed TO SOHUD.set_translation ROUTE SOProx.orientation_changed TO SOHUD.set_rotation ROUTE X.translation_changed TO SOScript.set_X ROUTE Y.translation_changed TO SOScript.set_Y ROUTE Z.translation_changed TO SOScript.set_Z ROUTE RotControlSensor.rotation_changed TO RotControlKnob.set_rotation ROUTE RotControlSensor.rotation_changed TO SOScript.set_rotation ROUTE SOScript.position_changed TO T1.set_translation ROUTE SOScript.rotation_changed TO T1.set_rotation ROUTE DoneButton.isActive TO SOScript.set_done ROUTE CancelButton.isActive TO SOScript.set_cancel ROUTE SOScript.choice_changed TO SOSwitch.set_whichChoice ######END MOVE HUD CODE#############################################################-CLR- ]} }#END SharedObject PROTO