PROTO Sony_BindSharedNode [ field SFNode transformNode NULL field SFNode scriptNode NULL ] { }This node is defined to be expanded to nothing so that VRML 2.0 browsers other than Community Place can safely ignore the node.
In the Community Place browser, this node is treated in a special way. A transform node specified for transformNode field of this node is made sharable among clients. In other words, nodes other than those specified in this field are not shared. The field transformNode must be specified and its value must be a Transform node.
If the value of the scriptNode field is not NULL, the value must be a Script node. The Script node's eventIns can be called remotely. You can call sendApplSpecific() or sendApplSpecificWithDist() Java APIs with specifying the target (the first argument) to be the Transform node specified in the transformNode field and eventIn name (the second argument) to be the eventIn names that appear in the Script node.
The third argument of the APIs is a string value, which will be the value of eventIns of the Script node. The eventIns must be of type SFString to accept the values sent using the APIs.
Here is an example:
PROTO Sony_BindSharedNode [ field SFNode transformNode NULL field SFNode scriptNode NULL ] { } DEF T1 Transform { ... } DEF S1 Script { eventIn SFString IN1 eventIn SFString IN2 ... } Sony_BindSharedNode { transformNode USE T1 scriptNode USE S1 }
PROTO Sony_Appearance [ field SFBool backface FALSE exposedField SFString description "" exposedField SFNode material NULL exposedField SFNode texture NULL exposedField SFNode textureTransform NULL ] { Appearance { material IS material texture IS texture textureTransform IS textureTransform } }
PROTO Sony_WorldInfo [ field MFString archive [] field SFInt32 armLength -1 field SFBool avatarRoom FALSE field SFInt32 backgroundImageType 0 field SFString cpBureau "" field SFString cpBureauWLS "" field SFBool collisionSound TRUE field SFBool collisionDisplay TRUE exposedField SFBool turnButtonAvailable TRUE exposedField SFBool floatButtonAvailable TRUE exposedField SFBool homeButtonAvailable TRUE field SFInt32 soundDeviceRate 22050 field SFInt32 soundDeviceBits 8 ]{}
The archive itself is created using LHA archiver and must be placed in the same directory as this VRML file is placed.
e.g.
Sony_WorldInfo { archive ["foo.lzh"] }
e.g.
Sony_WorldInfo { armLength 5 }
Sony_WorldInfo { avatarRoom TRUE }
Sony_WorldInfo { backgroundImageType 0 }
e.g.
Sony_WorldInfo { cpBureau "vsserver.foo.com:5000" } or Sony_WorldInfo { cpBureau "12.23.34.45:5000" }
e.g.
Sony_WorldInfo { cpBureauWLS "vsserver.foo.com:6000" } or Sony_WorldInfo { cpBureauWLS "12.23.34.45:6000" }
e.g.
Sony_WorldInfo { collisionSound FALSE }
e.g.
Sony_WorldInfo { collisionDisplay FALSE }
e.g.
Sony_WorldInfo { turnButtonAvailable FALSE floatButtonAvailable FALSE homeButtonAvailable FALSE }
e.g.
Sony_WorldInfo { soundDeviceRate 22050 soundDeviceBits 8 }