The Virtual Reality Modeling Language

3 Definitions

--- VRML separator bar ---

For the purposes of this part of ISO/IEC 14722, the following definitions apply.

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 sensor nodes 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 is an antecedent of another node in the transformation hierarchy.

3.3 author

A person or agent that creates VRML files. Authors typically use 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 bindable node

A node that 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 that 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 that 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 part of ISO/IEC 14772.

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

An instance of a children node.

3.14 children node

One of a set of node types, instances of which can be collected in a group to share specific properties dependent on the type of the grouping node. See 4.6.5, Grouping and children nodes, for a list of allowable children nodes.

3.15 client system

A computer system, attached to a network, that 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. ISO/IEC 14772 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 descendant

A node which descends from another node in the transformation hierarchy. A children node.

3.20 display device

A graphics device on which VRML worlds may be rendered.

3.21 drag sensor

A pointing device sensor that 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 environmental sensor

A sensor node that generates 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.23 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 timestamp and a field value.

3.24 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.25 eventIn

A logical receptor attached to a node which receives events.

3.26 eventOut

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

3.27 execution model

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

3.28 exposed field

A field that 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.29 external prototype

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

3.30 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. Each field has a default value.

3.31 field name

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

3.32 file

A collection of related data. A file may be stored on physical media or may exist as a data stream or as data within a computer program.

3.33 frame

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

3.34 generator

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

3.35 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.36 geometric sensor node

A node that 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, Introduction to sensors, for details.

3.37 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.38 grab

To receive events from activated pointing devices (e.g., mouse or wand). A pointing device sensor becomes the exclusive recipient of pointing device events when one or more pointing devices are activated simultaneously.

3.39 gravity

In the context of ISO/IEC 14772, 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.40 grouping node

One of a set of node types which include a list of nodes, referred to as its children nodes. These children nodes are collected together to share specific properties dependent on the type of the grouping node. Each grouping node defines a coordinate space for its children relative to its own coordinate space. The children may themselves be instances of grouping nodes, thus forming a transformation hierarchy. See 4.6.5, Grouping and children nodes, for details.

3.41 HSV

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

3.42 HTML

HyperText Markup Language. See 2.[HTML].

3.43 hyperlink

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

3.44 ideal VRML implementation

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

3.45 IEC

International Electrotechnical Commission. See http://www.iec.ch.

3.46 IETF

Internet Engineering Task Force. The organization which develops Internet standards. See http://www.ietf.org/overview.html.

3.47 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.48 in-lining

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

3.49 Internet

The world-wide named network of computers 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.50 instance

A reference to a previously defined and named node. Nodes are named by means of the DEF syntax and reference by USE syntax (see 4.6.2, DEF/USE semantics). Instances of nodes may be used in any context in which the defining node may be used.

3.51 interpolator node

A node that defines a piece-wise linear interpolation. A node of type ColorInterpolator, CoordinateInterpolator, NormalInterpolator, OrientationInterpolator, PositionInterpolator, or ScalarInterpolator. See 4.6.8, Interpolator nodes, for details.

3.52 intranet

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

3.53 ISO

International Organization for Standardization. See http://www.iso.ch/infoe/intro.html.

3.54 JPEG

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

3.55 JTC 1

ISO/IEC Joint Technical Committee 1. See http://www.iso.ch/meme/JTC1.html.

3.56 level of detail

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. (Abbreviated LOD)

3.57 line terminator

A linefeed character (0x0A) or a carriage return character (0x0D).

3.58 loop

A sequence of events which would result in a specific eventOut sending more than one event with the same timestamp.

3.59 message

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

3.60 MIDI

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

3.61 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.62 mouse

A pointing device that moves in two dimensions and that 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.63 MPEG

Moving Picture Experts Group. See http://drogo.cselt.stet.it/mpeg/.

3.64 multimedia

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

3.65 network

Set of interconnected computers.

3.66 node

The fundamental component of a scene graph in ISO/IEC 14772. 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.67 node type

A characteristic of 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.68 now

The present time as perceived by the user.

3.69 object

A collection of data and procedures, packaged according to the rules and syntax defined in ISO/IEC 14772. "Object" is usually synonymous with node.

3.70 object space

The coordinate system in which an object is defined.

3.71 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.72 parent

A node which is an instance of a grouping node.

3.73 PNG

Portable Network Graphics. A specification for representing two-dimensional images in files. See 2.[PNG].

3.74 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.75 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 two-dimensional or three-dimensional and may have one or more control buttons. See, Activating and manipulating sensors, for details.

3.76 pointing device sensor

A sensor node that generates 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.77 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.78 profile

A named collection of criteria for functionality and conformance that defines an implementable subset of a standard.

3.79 prototype

The definition of a new node type in terms of the nodes defined in this part of ISO/IEC 14772. See 4.8, Prototype semantics, for details.

3.80 prototyping

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

3.81 public interface

The formal definition of a node type in this part of ISO/IEC 14772.

3.82 RGB

The colour model used within ISO/IEC 14772 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.83 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.84 route graph

The set of connections between eventOuts and eventIns formed by ROUTE statements or addRoute method invocations.

3.85 run-time name scope

The extent to which a name defined within a VRML file applies and is visible. Several different run-time name scopes are recognized and are defined in 4.4.6, Run-time name scope.

3.86 RURL

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

3.87 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 hierarchy, for details.

3.88 script

A set of procedural functions normally executed as part of an event cascade (see 6.40, Script). A script function may also be executed asynchronously (see 4.12.6, Asynchronous scripts).

3.89 scripting

The process of creating or referring to a script.

3.90 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 whereas programming languages are generally compiled prior to execution.

3.91 sensor node

A node that 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.92 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 (UTF-8) encoding, for details.

3.93 sibling

A node which shares a parent with other nodes.

3.94 simulation tick

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

3.95 special group node

A grouping node that 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.96 texture

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

3.97 texture coordinates

The set of two-dimensional 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.98 texture map

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

3.99 time

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

3.100 timestamp

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

3.101 transformation hierarchy

The subset of the scene graph consisting of nodes that have well-defined coordinate systems. The transformation hierarchy excludes nodes that are not descendants of the scene graph root nodes and nodes in SFNode or MFNode fields of Script nodes.

3.102 transparency chunk

A section of a PNG file containing transparency information (derived from 2.[PNG]).

3.103 traverse

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

3.104 UCS

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

3.105 URL

Uniform Resource Locator. See 2.[URL].

3.106 URN

Universal Resource Name. See E.[URN].

3.107 UTF-8

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

3.108 user

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

3.109 viewer

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

3.110 virtual world

See world.

3.111 VRML browser

See browser.

3.112 VRML document server

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

3.113 VRML file

A set of VRML nodes and statements as defined in this part of ISO/IEC 14772. This set of VRML nodes and statements may be in the form of a file, a data stream, or an in-line sequence of VRML information as defined by a particular VRML encoding.

3.114 wand

A pointing device that moves in three dimensions and that enables a user to indicate a position in the three-dimensional coordinate system of a world in order to point at displayed objects. One or more push buttons on the wand allow the user to indicate to the computer program that some action is to be taken.

3.115 white space

One or more consecutive occurrences of a separator character. See 4.3.1, Clear text (UTF-8) encoding, for details.

3.116 world

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

3.117 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.118 World Wide Web

The collection of documents, data, and content typically encoded in HTML pages and accessible via the Internet using the HTTP protocol.

3.119 XY plane

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

3.120 YZ plane

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

3.121 ZX plane

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

--- VRML separator bar ---