Viewpoint list, ViewpointGroup definitions

revised 6 NOV 2003

[concepts section]

23.2.5 Viewpoint list

The viewpoint list is an optional browser-provided feature that lists currently available viewpoints for user information and selection.

Viewpoints are listed in the order corresponding to the extended scene graph. Thus viewpoints contained in Inline and PrototypeInstance nodes are loaded in the order defined by the scene, even if load time delays are different than scene-specified order. This has no effect on specification-defined eligibility for first bound viewpoint. Viewpoints that are removed from the scene are no longer eligible for the viewpoint list.

Selecting a viewpoint from a viewpoint list will first unbind the current viewpoint before binding the selected viewpoint. When retainUserOffsets is FALSE, this allows a user to return to the originally defined viewpoint position/orientation after local navigation. Such a return to the defined viewpoint can occur either by reselection of current viewpoint from the viewpoint list, or else by using the PgUp key (as defined in Recommended navigation behaviours: Select from multiple viewpoints).

[nodes section]

23.3.6 ViewpointGroup

ViewpointGroup : X3DNode [
  MFNode   [in,out] children          NULL  [Viewpoint | ViewpointGroup]
  SFString [in,out] description       ""    
  SFBool   [in,out] displayed         TRUE    
  SFVec3f  [in,out] center            0 0 0    
  SFVec3f  [in,out] size              0 0 0
  SFBool   [in,out] retainUserOffsets FALSE  # (probably better on Viewpoint)
]

ViewpointGroup is used to control display of viewpoints on the viewpoint list. Use of ViewpointGroup allows a viewpoint list to have a tree structure, similar to a bookmark list.

The children field can contain nodes of type [Viewpoint | ViewpointGroup] only.

The description field provides a simple description or navigation hint to be displayed for this ViewpointGroup.

The displayed field determines whether this ViewpointGroup is displayed in current viewpoint list.

The center and size fields are defined identically as the corresponding ProximitySensor definitions. The center field provides a position offset from origin of local coordinate system. The size field provides the size of Proximity box within which the ViewpointGroup is usable and displayed on the viewpoint list.

The retainUserOffsets field indicates whether a viewpoint needs to retain (true) or rezero (false) any prior user navigation offsets from defined viewpoint position, orientation. When a Viewpoint is bound, user navigation offsets are reinitialized if the associated retainUserOffsets is TRUE.