Browser Object
This section lists the methods available in the browser object, which allows scripts to get and set browser information.
Instance Creation Method(s)
None. This object cannot be instantiated by the user. One global instance of the object is available. The name of the instance is Browser.
Properties
name
A browser-implementation specific string describing the browser.
version
A browser-implementation specific string describing the browser version.
currentSpeed
The current speed of the avatar in m/s.
currentFrameRate
The current frame rate in frames per second.
description
A user-defined string which can be read and written.
supportedComponents
The property value cannot be changed, but the properties of the ComponentInfoArray can be.
supportedProfiles
The property value cannot be changed, but the properties of the ProfileInfoArray can be.
currentScene
The real type of this class is dependent on whether the user code is inside a prototype instance or not. If the user code is inside a prototype instance the property represent a X3DExecutionContext otherwise it represent a X3DScene.
Methods
X3DScene createScene ([ProfileInfo profile, ComponentInfo component1, ...])
Creates a new scene with the given profile and components.
void replaceWorld (X3DScene)
Replace the current world with this new scene that has been loaded or constructed from somewhere.
X3DScene createX3DFromString (String x3dSyntax)
The string may be any valid X3D content in any language supported by the browser implementation. If the browser does not support the content encoding the appropriate exception will be thrown.
void createX3DFromURL (MFString url, String event, Node node)
Parse the passed URL into a X3D scene. When complete send the passed event to the passed node. The event is a string with the name of an MFNode inputOnly field the passed node.
void loadURL (MFString url, MFString parameter)
Load the passed URL, using the passed parameter string to possibly redirect it to another frame. If the destination is the frame containing the current scene, this method may never return.
X3DScene importDocument (DOMObject dom)
Imports a X3D XML DOM document or fragment, converts it, and returns the resulting scene object.
X3DScene importJS (Object json)
Imports a X3D JSON document or fragment, converts it, and returns the resulting scene object.
String getBrowserProperty (String name)
Returns a browser property with the corresponding name.
Browser Properties
Name | Type | Description |
---|---|---|
ABSTRACT_NODES | Boolean | The browser implementation supports the ability to describe each node type with interfaces that correspond to the abstract node types as defined in ISO/IEC 19775-1 in addition to the basic requirement to support the X3DBaseNode abstract type. This indicates that the browser supports at least Conformance Level 2. |
CONCRETE_NODES | Boolean | The browser implementation supports the ability to describe each node type with interfaces that correspond to the concrete node types as defined in ISO/IEC 19775-1 in addition to the requirement to support all of the abstract types. This indicates that the browser supports at least Conformance Level 3. |
EXTERNAL_INTERACTIONS | Boolean | This browser supports the additional services required by external interfaces. A browser provided to user code in internal interactions does not set this property. |
PROTOTYPE_CREATE | Boolean | The browser implementation supports the ability to dynamically create PROTO and EXTERNPROTO representations through service requests. The basic service capability only allows the ability to create instances of predefined PROTO structures read from a file format. |
DOM_IMPORT | Boolean | The browser implementation supports the importDocument service request. |
XML_ENCODING | Boolean | The browser supports XML as a file format encoding. |
CLASSIC_VRML_ENCODING | Boolean | The browser supports the Classic VRML encoding. |
BINARY_ENCODING | Boolean | The browser supports the binary file format encoding. |
String getBrowserOption (String name)
Returns a browser option with the corresponding name.
Browser Options
Name | Description | Type / valid range | Default |
---|---|---|---|
Antialiased | Render using hardware antialiasing if available. | Boolean | false |
Dashboard | Display browser navigation user interface. | Boolean | Specified by bound NavigationInfo in content |
EnableInlineViewpoints | Viewpoints from Inline nodes are included in list of viewpoints if made available by the Inline node. | Boolean | true |
MotionBlur | Render animations with motion blur. | Boolean | false |
PrimitiveQuality | Render quality (tesselation level) for Box, Cone, Cylinder, Sphere | Low, Medium, High | Medium |
QualityWhenMoving | Render quality while camera is moving. | Low, Medium, High, Same (as while stationary) | Same |
Shading | Specify shading mode for all objects. | Wireframe, Flat, Gouraud, Phong | Gouraud |
SplashScreen | Display browser splash screen on startup. | Boolean | true |
TextureQuality | Quality of texture map display. | Low, Medium, High | Medium |
Gravity* | Default is gravity of Earth. | Number | 9.80665 |
LogarithmicDepthBuffer* | Whether to use a logarithmic depth buffer. It may be neccesary to use this if dealing with huge differences in scale in a single scene. | Boolean | false |
StraightenHorizon* | Whether the Examine viewer should straighten the horizon when navigating. | Boolean | false |
*non standard
void setBrowserOption (String name, Object value)
Sets a browser option with the corresponding name to the given value.
String getRenderingProperty (String name)
Returns a rendering property with the corresponding name.
Rendering Properties
Name | Type | Description |
---|---|---|
Shading | String | The type of shading algorithm in use. Typical values are Flat, Gouraud, Phong, Wireframe. |
MaxTextureSize | Integer | The maximum texture size supported. |
TextureUnits | Integer | The number of texture units supported for doing multitexture. |
MaxLights | Integer | The maximum number of lights supported. |
AntiAliased | Boolean | True or false if the rendering is currently anti-aliased or not. |
ColorDepth | Integer | The number of bits of color depth supported by the screen. Allows for optimized selection of textures, particularly for lower color depth screen capabilities. |
TextureMemory | Float | The amount of memory in megabytes available for textures to be placed on the video card. |
void addBrowserCallback (key, callback)
Adds a browser callback function associated with key, where key can be of any type. The callback function is called when a browser event has been occurred. The signature of the callback function is function (browserEvent), where browserEvent can be any value listed below:
- X3DConstants .CONNECTION_ERROR
- X3DConstants .BROWSER_EVENT
- X3DConstants .INITIALIZED_EVENT
- X3DConstants .SHUTDOWN_EVENT
- X3DConstants .INITIALIZED_ERROR
void removeBrowserCallback (key)
Removes a browser callback function associated with key.
void print (Object)
Prints the object to the browser's console without a newline character. Successive calls to this function append the descriptions on the same line. The output is the implicit call to the object's toString () function.
void println (Object)
Prints the object to the browser's console, inserting a newline character after the output. Successive calls to this function will result in each output presented on separate lines. The output is the implicit call to the object's toString () function.
More Methods
void addRoute (SFNode sourceNode, String sourceField, SFNode destinationNode, String destinationField)
Add a route from the passed sourceField to the passed destinationField.
void deleteRoute (SFNode sourceNode, String sourceField, SFNode destinationNode, String destinationField)
Remove the route between the passed sourceField and passed destinationField, if one exists.