BS Contact 7.1

BS Contact 7.1 - Release Notes



This document provides information about the new features and improvements in the most recent releases of BS Contact 7.1. Indepth technical documentation is available in the BS SDK.



BS Contact - Release 7.1

Release 7.107  update (2008/03/06)

  • Improved COLLADA support
    • Performance and stability improvements for the COLLADA parser.
    • Supports multiple materials per mesh.
    • The COLLADA parser is now able to read Google SketchUp models.
      For a demonstration of this feature visit the Google 3D Warehouse where you can download models directly as Collada files.
  • MouseSensor has new fields for controlling the visibility.
    • exposedField SFBool centerMousePos
      if this field is true the mousecursor is invisible and is centered in the middle of the screen. The fields positionDelta and position emiting deltas from the mouse movement.
    • eventOut SFVec2f positionDelta
      This field is emiting the mouse deltas
  • Improved TreeGorup
    • Creating instances of prototypes if they are not availabel during the build of the tree.
  • Improved Multi User Support
    • Avatar is reciving events, also when it's not displayed.
  • New field for the multiTexture apperance node. (Only available in VRML)
    • exposedField SFBool materialSpecular If this field is True, the specular color is added to the lighted material.


Release 7.100  (2007/12/22)

Multi-User Support with BS Collaborate

In this release Bitmanagement provide with BS Contact 7.1 new nodes for multi-user support. A detailed introduction to this product can be found in the BS Collaborate documentation.

The node NetConnection establishes a connection between server and BS Contact 7.1


exposedField SFBool enabled TRUE #Enable or disable the connection exposedField MFString address "localhost" #Address of the server to connect exposedField SFInt32 port 0 #Port number from the server eventIn SFInt32 protocol 3 #Protocol number to use eventOut SFBool isActive FALSE #Event for established connection to server

The node BSCollaborate is for managing user events such as Avatar movement, Login/Logout events and Chat messages.


field SFNode connection NULL #Node with connection to server field MFNode users NULL #Node array with user informations eventIn SFString sceneName #Name of the scene to wich this node belong eventIn MFString tryLogin #Credentials for login to the server eventOut SFBool loginResult #The login result eventOut SFInt32 sessionId #Session ID from server eventOut SFNode hasJoined #Event if someone joined the server eventIn SFTime logOut #Logout from the server eventOut SFNode hasLeft #Event if someone leave the server eventIn SFVec3f userPos #User Position eventIn SFRotation userOri #User Orientaion eventOut SFNode hasMoved #Event if a user moved around eventIn MFString meSay #Sending chat messages to the server eventOut SFNode hasSaid #Chat messages from server

The node EventStreamSensor is like a proto or script interface. It can handle many variables for sending and reciving events.


exposedField SFNode connection NULL #Node with connection to server exposedField SFString streamName "" #Real name of the EventStream eventOut SFBool initialized FALSE #TRUE if initial values transmitted from server eventIn [Type] [VariableName] #Events from server eventOut [Type] [VariableName] #Events to server

[ return to contents ]

Physics Support

With BS Contact 7.1 Bitmanagement is offering the following physic nodes to support physics with Ageia PhysX engine.

The node PhysicTransform is like a normal Transform node with special fields for physic relevant values.



eventIn MFNode addChildren eventIn MFNode removeChildren exposedField MFNode children exposedField SFVec3f translation exposedField SFRotation rotation exposedField SFVec3f scale exposedField SFRotation scaleOrientation exposedField SFVec3f center field SFVec3f bboxCenter field SFVec3f bboxSize # Physics fields field SFBool fixed FALSE #Field for static or non static objects exposedField SFString mode "auto" #Keywords for physic initialization exposedField SFFloat mass 1 #Mass of the object exposedField SFVec3f forceDir 0 0 0 #Force direction to manipulate the object exposedField SFVec3f forceAt 0 0 0 #Force at wich point exposedField SFBool forceDirLocal FALSE #In local or global coordinates exposedField SFBool forceAtLocal TRUE #In local or global coordinates

To define special physicalized shapes with a high poly model and a simpler physic shape, BS Contact 7.1 provide the node PhysicShape.


exposedField SFNode appearance NULL exposedField SFNode geometry NULL # Physics fields exposedField SFFloat mass 0 #Mass of the shape exposedField SFString mode "auto" #Keywords for physic initialization exposedField SFNode collision_geometry NULL #Proxy collision geomtry

You can customize the physics engine and set some global threshholds with the physics node PhysicsInfo


exposedField SFFloat skinWidth 0.01 #Defining how thik the skin is exposedField SFVec3f gravity 0 -9.81 0 #The global gravity exposedField SFFloat bounceThreshold -2.0 #At which threshold objects stops with bouncing field SFBool collision TRUE #Objects can collide exposedField SFFloat sleepLinVel 0.1 #At which linear velocity objects stops with moving exposedField SFFloat sleepAngVel 0.1 #At which angle velocity objects stops wich rotating exposedField SFInt32 iterations 8 #Maximum of iterations to divide a timestep into exposedField SFFloat timeStep 0.016 #Maximum size to take for a timestep exposedField SFFloat angularDamping 0.05 #Default angular Damping exposedField SFFloat linearDamping 0.0 #Default linear Damping


Physics Tour

Demo tour through possible physics uses.

Box Wall

A box wall will hit by balls and collaps.

Physics Shooter

You can control a gun to shoot physiclized models which collide with shelves, tables and chairs.


To view the previous examples please download the respective

AGEIA PhysX driver

and/or acquire an AGEIA PhysX Accelerators from an

AGEIA retailer

and use it according to the AGEIA terms of use.

[ return to contents ]




The X3D node MovieTexture also supports SWF files. The new flag exposedField SFBool stream FALSE for MovieTexture nodes allows the direct download by the movie renderer. With the default stream FALSE  http urls are first downloaded to the cache.

A Cube with a YouTube Flash Movie


The node FlashMovieTexture renders SWF files or streams to a texture and allows interaction with the embedded Adobe Flashplayer. With the option transparent=true Flash movies can have background color key transparency.

Test for a transparent Flash Movie

Support for Collada 3D Interchange files


The xml-parser now supports the usage of collada digital asset exchange (dae) files. This example demonstrates different transform nodes applied onto cylinder shapes.



Collada content authors are now able to inline their collada-geometry in a X3D or VRML file. DAE files can simply be inlcuded using a regular Inline node.

Instant Interactivity for users

The BS Contact 7.1 release makes it even simpler to utilize the visualization software BS Contact. A new installation mechanism enables the user to install the Bitmanagement viewer (plug-in) and stand-alone application instantly and simultaneously. Under Windows XP an application can be started by a simple click on a link of the application and can then be used interactively, without any previous knowledge of how to install the application.

Automatic Installation of BS Contact 7.1

Other Updates

The Text node in USE_TEXTURE mode is improved for extended UTF-8 character ranges.

The Particle node supports the new field for emitting particels in local or global coordinates.

exposedField SFBool emitLocal	TRUE

New scripting functions:


New member functions for nodes : Introspection of node interfaces

int sfnode.getNumFields()                    
# get number of fields
mfstring sfnode.getFieldInfo(int)            
# get information for field
value sfnode.getFieldDefault(int)            
# get the PROTO default field value
# set an event in by name and field value
node= textureNode.createPixelTexture(..)


For the DX7 Render DXT1 DXT3 and DXT5 dds texture are now treated as having alpha like in DX9.

Texture nodes are supporting an additional field: 

eventOut SFBool isFlipped

This flag indicates if the internal texture image layout is vertically flipped, and can be used by shaders to adopt the texture coordinates.

New url prefixes install: and cache:

New getOption values: languageENG languageNative language

Capability test

New option for get and set UI-LANG for setting the Contact translation file.

Extensions for the Object node

Extensions for the DrawOp node


TreeGroup now updates the children field on add/remove children.