Table 23.1

In the HTML, change the hyperlink for 23.5 to "#SupportLevels".

23.2.4, 2nd paragraph

Replace with the following text:

“Collision nodes can be used to generate events when viewer and objects collide, and can be used to designate that certain objects should be treated as not being subject to collision detection and should not be recognized as terrain for navigation modes that require terrain following to be supported. Browser support for inter-object collision is not specified.”

23.3.2, 4th paragraph

Replace with the following text:

“The Collision node's enabled field enables and disables collision detection as well as terrain following when the navigation type requires it. If enabled is set to FALSE, the children and all descendants of the Collision node shall not be checked for collision or terrain, even though they are drawn. This includes any descendent Collision nodes that have enabled set to TRUE (i.e., setting enabled to FALSE turns collision off for every child node below it).

The value of the isActive field indicates the current state of the Collision node. An isActive TRUE event is generated when a collision occurs. An isActive FALSE event is generated when a collision no longer occurs.”

23.3.2, 5th, 6th, and 7th paragraphs

Change all references to the "collide" field to be references to the "enabled" field.

23.3.3, node signature

Insert the following text as a new field after the metadata field:

  SFInt32 [out] level_changed

Insert the following text as a new field after the center field:

  SFBool [] forceTransitions FALSE

23.3.3, 5th paragraph

Append the following new sentence:

“The L(d)th node of the children field (denoted by Li in the equation above) is that which is displayed. When L(d) is activated for display, the LOD node generates a level_changed event with value i where the value of i identifies which value of L was activated for display.”

23.3.4, node signature

Add the following field after speed:

    MFFloat [in, out] transitionTime     1.0 [0, ∞)

Replace the default value of field transitionType with '["LINEAR"]'.

Add the following field after isBound:

    SFBool  [out]     transitionComplete
 

23.3.4, 1st paragraph

Replace the 3rd and 4th sentences with the following text:

“The range field specifies the ideal distances (termed level distances) at which to switch between the levels. If forceTransitions is TRUE, browsers shall switch levels at the level distances specified. If forceTransistions is FALSE, browsers may disregard level distances in order to provide better performance.”

23.3.4, 11th paragraph

Append the following text:

NONE has an effect only when it is the first supported navigation type. If NONE is not the first supported navigation type, it has no effect.”

23.3.4, 13th paragraph

Insert the following new paragraph after the paragraph on transitionType:

“The transitionTime field specifies the duration of any viewpoint transition. The transition starts when the next Viewpoint node is bound. The duration of the transition depends on the value of the transitionType field. If transitionType is "TELEPORT", the transition is instantaneous and completes at the same time it starts. A transition type of "LINEAR" indicates that the transition lasts the number of seconds specified by the first value in the transitionTime field. If transitionType is "ANIMATE", transitionTime provides browser-dependent parameters to the browsers viewpoint animation engine. When a transition completes, a transitionComplete event is signaled.”

23.3.4, 14th paragraph, penultimate sentence

Replace "ANIMATE" with "LINEAR".

23.3.5, 6th paragraph

Replace the entire paragraph with the following text:

“The jump field specifies whether the user's view "jumps" to the position and orientation of a bound Viewpoint node or remains unchanged. This jump is instantaneous and discontinuous in that no collisions are performed and no ProximitySensor nodes are checked in between the starting and ending jump points. If the user's position before the jump is inside a ProximitySensor the exitTime of that sensor shall send the same timestamp as the bind field. Similarly, if the user's position after the jump is inside a ProximitySensor the enterTime of that sensor shall send the same timestamp as the bind field. Regardless of the value of jump at bind time, the relative viewing transformation between the user's view and the current Viewpoint node shall be stored with the current Viewpoint node for later use when un-jumping (i.e., popping the Viewpoint node binding stack from a Viewpoint node with jump TRUE). The following summarizes the bind stack rules (see 7.2.2 Bindable children nodes) with additional rules regarding Viewpoint nodes (displayed in boldface type):”

Replace items e. and f. with the following text:

  1. “When a set_bind TRUE event is received by a Viewpoint node,
    1. If it is not on the top of the stack:  The relative transformation from the current top of stack Viewpoint node to the user's view is stored with the current top of stack Viewpoint node. The current top of stack node sends an isBound FALSE event. The new node is moved to the top of the stack and becomes the currently bound Viewpoint node. The new Viewpoint node (top of stack) sends an isBound TRUE event. If jump is TRUE for the new Viewpoint node, the user's view is transitioned to match the values in the position and orientation fields of the new Viewpoint node. The transition is determined by the currently bound NavigationInfo node.
    2. If the node is already at the top of the stack, this event has no affect.
  2. When a set_bind FALSE event is received by a Viewpoint node in the stack, it is removed from the stack. If it was on the top of the stack, the following actions shall occur:
    1. An isBound FALSE event is sent;
    2. the next node in the stack becomes the currently bound Viewpoint node (i.e., pop) and issues an isBound TRUE event; and
    3. if its jump field value is TRUE, the user's view is transitioned to the position and orientation of the next Viewpoint node in the stack with the stored relative transformation of this next Viewpoint node applied. The transition is determined by the currently bound NavigationInfo node.

23.3.5, 7th paragraph (after item i.)

Replace with the following text:

“The jump field may change after a Viewpoint node is bound. The rules described above still apply. If jump was TRUE when the Viewpoint node is bound, but changed to FALSE before the set_bind FALSE is sent, the Viewpoint node does not un-move during unbind. If jump was FALSE when the Viewpoint node is bound, but changed to TRUE before the set_bind FALSE is sent, the Viewpoint node does perform the un-move during unbind.”

23.3.5, 8th and 9th paragraphs along with items j. and k.

Replace with the following text:

“NOTE  There are two other mechanisms that result in the binding of a new Viewpoint:

  1. An Anchor node's url field specifies a "#ViewpointName".

  2. A script invokes the loadURL() method and the URL argument specifies
    a "#ViewpointName".

Both of these mechanisms override the jump field value of the specified Viewpoint node (#ViewpointName) and assume that jump is TRUE when binding to the new Viewpoint. The behaviour of the viewer transition to the newly bound Viewpoint depends on the currently bound NavigationInfo node's transitionType field value (see 23.3.4 NavigationInfo).”

23.5

In the HTML, change the bookmark for 23.5 to "SupportLevels".