The Virtual Reality Modeling Language

3. Definitions

ISO/IEC DIS 14772-1

4 April 1997

3.1 activate

To cause a sensor node to generate an "isActive" event. The various types of sensor nodes are "activated" by user interactions, the passage of time, or other events. Only active sensors affect the user's experience. A Script node is activated when it receives an event. A pointing device such as a mouse is activated when one of its buttons is depressed by a user. See "4.12.2 Script Execution" for details.

3.2 ancestor

A node which contains one or more children nodes. A grouping node.

3.3 author

Person or agent that creates VRML files. Authors typically utilize generators to assist them.

3.4 authoring tool

See generator.

3.5 avatar

The abstract representation of the user in a VRML world. The physical dimensions of the avatar are used for collision detection and terrain following. See "6.29 NavigationInfo" for details.

3.6 bearing

A straight line passing through the pointer location in the direction of the pointer. If multiple sensors' geometry intersect this line, only the sensor nearest the viewer will be eligible to generate events regardless of material and texture properties (e.g., transparency).

3.7 binding node

A node which may have many instances in a scene graph, but only one instance may be active at any instant of time. A node of type Background, Fog, NavigationInfo, or Viewpoint. See "4.6.10 Bindable children nodes" for details.

3.8 browser

A computer program which interprets VRML files , presents their content to a user on a display device, and allows the user to interact with worlds defined by VRML files by means of a user interface.

3.9 browser extension

Nodes defined using the prototyping mechanism which are understood only by certain browsers. See "4.9.3 Browser Extensions" for details.

3.10 built-in node

A node of a type explicitly defined in this standard.

3.11 callback

A function defined in a scripting language to which events are passed. See "4.12.8 EventIn handling" for details.

3.12 candidate

One of potentially several choices. The user or the browser will select none or one of the choices when all candidates are identified. See "4.6.10 Bindable children nodes" and "6.2 Anchor" for details.

3.13 child

A direct descendent.

3.14 children node

Node which may be parented by a grouping node and is affected by the transformations of all ancestors. See "4.6.5 Grouping and children nodes" for list of allowable children nodes.

3.15 client system

A computer system , attached to a network, which relies on another computer (the server) for essential processing functions. Many client systems also function as stand-alone computers.

3.16 collision proxy

A node used as a substitute for all of a Collision node's children during collision detection. See "6.8 Collision" for details.

3.17 colour model

Characterization of a colour space in terms of explicit parameters. VRML allows colours to be defined only with the RGB colour model. However, colour interpolation is performed in the HSV colour space.

3.18 culling

The process of identifying objects or parts of objects which do not need to be processed further by the browser in order to produce the desired view of a world.

3.19 descendent

A node in a scene graph which has a parent. See children node.

3.20 display device

A graphics device on which VRML worlds may be rendered.

3.21 drag sensor

A pointing device sensor which causes events to be generated in response to sensor-dependent pointer motions. For example, the SphereSensor generates spherical rotation events. A node of type CylinderSensor, PlaneSensor, or SphereSensor. See "4.6.7 Sensor nodes" and " Drag sensors" for details.

3.22 element

The smallest unit into which an object may be divided. For example, the header record of a VRML file or a single value of a multi-valued field.

3.23 environmental sensor

Environmental sensor nodes generate events based on the location of the viewpoint in the world or in relation to objects in the world. The TimeSensor node generates events at regular intervals in time. A node of type Collision, ProximitySensor, TimeSensor, or VisibilitySensor. See " Environmental sensors" for details.

3.24 event

A message sent from one node to another as defined by a route. Events signal external stimuli, changes to field values, and interactions between nodes. An event consists of a time stamp and a field value.

3.25 event cascade

A sequence of events initiated by a script or sensor event and propagated from node to node along one or more routes. All events in an event cascade are considered to have occurred simultaneously. See "4.10.3 Execution model" for details.

3.26 eventIn

A logical receptor attached to a node which receives events.

3.27 eventOut

A logical output terminal attached to a node from which events are sent. The eventOut also stores the event most recently sent.

3.28 execution model

The rules governing how events are processed by browsers and scripts.

3.29 exposed field

A field which is capable of receiving events via an eventIn to change its value(s), and generating events via an eventOut when its value(s) change.

3.30 external prototype

A prototype defined in an external file and referenced by a URL.

3.31 field

A property or attribute of a node. Each node type has a fixed set of fields. Fields may contain various kinds of data and one or many values.

3.32 field name

The name of a field. Field names are unique within the scope of the node.

3.33 file format

A detailed description of digital data which is typically stored in a computer-based file system.

3.34 frame

A single rendering of a world on a display device or a single time-step in a simulation.

3.35 generator

A computer program which creates VRML files. A generator may be used by a person or operate automatically.

3.36 geometric property node

A node defining the properties of a specific geometry node. A node of type Color, Coordinate, Normal, or TextureCoordinate. See " Geometric property nodes" for details.

3.37 geometric sensor node

A node which generates events based on user actions, such as a mouse click or navigating close to a particular object. A node of type CylinderSensor, PlaneSensor, ProximitySensor, SphereSensor, TouchSensor, VisibilitySensor, or Collision. See " Sensor nodes introduction" for details.

3.38 geometry node

A node containing mathematical descriptions of three-dimensional (3D) points, lines, surfaces, text strings and solids. A node of type Box, Cone, Cylinder, ElevationGrid, Extrusion, IndexedFaceSet, IndexedLineSet, PointSet, Sphere, or Text. See "4.6.3 Shapes and geometry" for details.

3.39 grab

To receive events from the pointing device (mouse or wand). A pointing device sensor becomes the exclusive recipient of pointing device events when the pointing device is activated while indicating A descendent geometry nodes which are children of the sensor's parent group.

3.40 gravity

The force which causes masses to be attracted to one another. In the context of this standard, gravity may be simulated by constraining the motion of the viewpoint to the lowest possible path (smallest y coordinate in the local coordinate system of the viewpoint) consistent with following the surface of encountered objects. See "6.29 NavigationInfo" for details.

3.41 grouping node

A node which collects children nodes and other grouping nodes together and causes the group to exhibit specific behaviour which is dependent on the Node type. A node of type Anchor, Billboard, Collision, Group, or Transform. See "4.6.5 Grouping and children nodes" for details.

3.42 HSV

Hue, Saturation, and Value colour model. See E.[FOLE].

3.43 HTML

HyperText Markup Language. See 2.[HTML].

3.44 hyperlink

A reference to a URL which is associated with an Anchor node. See "6.2 Anchor" for details.

3.45 ideal VRML implementation

An implementation of VRML which presents all objects and simulates movement without approximation. Not realizable in practice.

3.46 IEC

International Electrotechnical Commission. See

3.47 IETF

Internet Engineering Task Force. The organization which develops Internet standards. See

3.48 image

A two-dimensional (2D) rectangular array of pixel values. Pixel values may have from one to four components. See "5.5 SFImage" for details.

3.49 in-lining

The mechanism by which one VRML file is hierarchically included in another.

3.50 Internet

The world-wide named network which communicate with each other using a common set of communication protocols known as TCP/IP. See IETF. The World Wide Web is implemented on the Internet.

3.51 instance

A reference to a previously defined and named node via the USE syntax. Nodes are named by means of the DEF syntax. Instances of nodes may be used in any context in which the defining node may be used.

3.52 interpolator node

A node which defines a piece-wise linear interpolation of a particular type of value at specified times. A node of type ColorInterpolator, CoordinateInterpolator, NormalInterpolator, OrientationInterpolator, PositionInterpolator, or ScalarInterpolator. See "4.6.8 Interpolators" for details.

3.53 intranet

A private network which uses the same protocols and standards as the Internet.

3.54 ISO

International Organization for Standardization. See

3.55 JPEG

Joint Photographic Experts Group. See 2.[JPEG].

3.56 JTC 1

Joint Technical Committee 1. See

3.57 level of detail (LOD)

The amount of detail or complexity which is displayed at any particular time for any particular object. The level of detail for an object is controllable as a function of the distance of the object from the viewer. See "6.26 LOD" for details.

3.58 LOD

Level Of Detail.

3.59 line terminator

A character (or sequence of two characters) used to terminate a line in a VRML file. Specifically, one or both of the UTF-8 characters "carriage-return" and "linefeed". If both characters are present either may be first in the sequence.

3.60 loop

A sequence of events that results in an event being logically reponsible for generating itself. See "4.10.4 Loops" for details.

3.61 message

A string sent between nodes upon the occurrence of an event. See "4.10 Event processing" for details.

3.62 MIDI

Musical Instrument Digital Interface. A standard for digital music representation. See 2.[MIDI].

3.63 MIME

Multipurpose Internet Mail Extension. Used to specify filetyping rules for Internet applications, including browsers. See "4.5.1 File extension and MIME types" for details. See also E.[MIME].

3.64 mouse

A 2D pointing device which enables a user to move a cursor on a display device in order to point at displayed objects. One or more push buttons on the mouse allow the user to indicate to the computer program that some action is to be taken.

3.65 MPEG

Moving Picture Experts Group.

3.66 multimedia

An integrated presentation, typically on a computer, of content of various types, such as computer graphics, audio, and video.

3.67 network

Chain of interconnected computers.

3.68 now

The present time as perceived by the user.

3.69 node

The fundamental component of a scene graph in VRML. Nodes are abstractions of various real-world objects and concepts. Examples include spheres, lights, and material descriptions. Nodes contain fields and events. Messages may be sent between nodes along routes.

3.70 node type

A required parameter for each node that describes, in general, its particular semantics. For example, Box, Group, Sound, and SpotLight are node types. See "4.6 Node semantics" and "6. Node Reference" for details.

3.71 object

A collection of data and procedures, packaged according to the rules and syntax defined in this standard. "Object" is usually synonymous with node.

3.72 object space

The coordinate system in which an object is defined.

3.73 panorama

A background texture that is placed behind all geometry in the scene and in front of the ground and sky. See "6.5 Background" for details.

3.74 PNG

Portable Network Graphics. A file format for 2D images. See 2.[PNG].

3.75 pointer

A location and direction in the virtual world defined by the pointing device which the user is currently using to interact with the virtual world.

3.76 pointing device

A hardware device connected to the user's computer by which the user directly controls the location and direction of the pointer. Pointing devices may be either 2D or 3D and may have one or more control buttons. See " Activating and manipulating sensors" for details.

3.77 pointing device sensor

Pointing device sensor nodes generate events based on user actions, such as pointing device motions or button activations. A node of type Anchor, CylinderSensor, PlaneSensor, SphereSensor, or TouchSensor. See " Pointing device sensors" for details.

3.78 polyline

A sequence of straight line segments where the end point of the first segment is coincident with the start point of the second segment, the endpoint of the second segment is coincident with the start point of the third segment, and so on. A piecewise linear curve.

3.79 profile

A named collection of functionality and conformance criteria which define an implementable subset of a standard.

3.80 prototype

The definition of a new node type in terms of the nodes defined in this standard. See "4.8 Prototype semantics" for details.

3.81 prototyping

The mechanism for extending the set of node types from within a VRML file.

3.82 public interface

The formal definition of a node type in this standard.

3.83 RGB

Red, Green, Blue colour model. This is the colour model used within VRML for the specification of colours. Each colour is represented as a combination of the three primary colours red, green, and blue. See E.[FOLE].

3.84 route

The connection between a node generating an event and a node receiving the event. See "4.3.9 Route statement syntax" and "4.10.2 Route semantics" for details.

3.85 RURL

Relative Uniform Resource Locator. See 2.[RURL].

3.86 scene graph

An ordered collection of grouping nodes and other nodes. Grouping nodes, (such as LOD, Switch, and Transform nodes) may have children nodes. See "4.2.3 Scene graph" and "4.4.2 Scene graph structure" for details.

3.87 scripting

The process of creating or referring to a script.

3.88 scripting language

A system of syntactical and semantic constructs used to define and automate procedures and processes on a computer. Typically, scripting languages are interpreted and executed sequentially on a statement-by-statement basis wheras programming languages are generally compiled prior to execution.

3.89 sensor node

A node which enables the user to interact with the world in the scene graph hierarchy. Sensor nodes respond to user interaction with geometric objects in the world, the movement of the user through the world, or the passage of time. See "4.6.7 Sensor nodes" for details.

3.90 separator character

A UTF-8 character used to separate syntactical entities in a VRML file. Specifically, commas, spaces, tabs, linefeeds, and carriage-returns are separator characters wherever they appear outside of string fields. See "4.3.1 Clear text encoding" for details.

3.91 simulation tick

The smallest time unit capable of being identified in a digital simulation of analog time. Time in the context of VRML is conceptually analog but is realized by an implementation as a digital simulation of abstract analog time. See "4.11 Time" for details.

3.92 special group node

A grouping node which exhibits special behaviour. Examples of such special behaviour include selecting one of many children nodes to be rendered based on a dynamically changing parameter value and dynamically loading children nodes from an external file. A node of type Inline, LOD (level of detail), or Switch. See "4.6.5 Grouping and children nodes" for details.

3.93 texture

An image used in a texture map to create visual appearance effects when applied to geometry nodes.

3.94 texture coordinates

The set of 2D coordinates used by some vertex-based geometry nodes (e.g., IndexedFaceSet and ElevationGrid) and specified in the TextureCoordinate node to map textures to the vertices of those nodes. Texture coordinates range from 0 to 1 across each axis of the texture image. See "4.6.11 Texture maps" and "6.48 TextureCoordinate" for details.

3.95 texture map

A texture plus the general parameters necessary for mapping the texture to geometry.

3.96 time

A monotonically increasing value generated by a time sensor nodes. Time (0.0) starts at 00:00:00 GMT January 1, 1970. See "4.11 Time" for details.

3.97 timestamp

The part of a message which describes the time the event occurred which caused the message to be sent. See "4.11 Time" for details.

3.98 traverse

To process the nodes in a scene graph in the correct order.

3.99 UCS

Universal multiple-octet coded Character Set. See 2.[UTF8].

3.100 URL

Uniform Resource Locator. See 2.[URL].

3.101 URN

Universal Resource Name. See E.[URN].

3.102 UTF-8

The character set used to encode VRML files. The 8-bit UCS Transformation Format. See 2.[UTF8].

3.103 user

Person or agent who uses and interacts with VRML files by means of a browser.

3.104 viewer

A location, direction, and viewing angle in a virtual world which determines the portion of the virtual world presented by the browser to the user.

3.105 virtual world

See world.

3.106 VRML browser

See browser.

3.107 VRML document server

A computer program that locates and transmits VRML files and supporting files in response to requests from VRML client applications (browsers).

3.108 VRML file

A file, data stream, or string of UTF-8 characters, which contains information encoded according to ISO/IEC 14772 (this standard).

3.109 wand

A 3D pointing devices.

3.110 white space

One or more consecutive occurrences of a separator character. See "4.3.1 Clear text encoding" for details.

3.111 world

A collection of one or more VRML files and other multimedia content which, when interpreted by a VRML browser, presents an interactive experience to the user consistent with the author's intent.

3.112 world coordinate space

The coordinate system in which each VRML world is defined. The world coordinate space is an orthogonal right-handed Cartesian coordinate system. The units of length are metres.

3.113 World Wide Web

The collection of documents, information, and content accessible via the Internet.

3.114 XY plane

The plane perpendicular to the Z-axis which passes through the point Z = 0.0.

3.115 YZ plane

The plane perpendicular to the X-axis which passes through the point X = 0.0.

3.116 ZX plane

The plane perpendicular to the Y-axis which passes through the point Y = 0.0.