X3D Example Archives: Conformance Nist, Interpolators, Orientation Interpolator

 

OrientationInterpolator generates a series of 4-tuple axis-angle SFRotation values. Authors can ROUTE value_changed output events to a Transform node's rotation field or to another 4-tuple SFRotation field.

X3D Tooltips of interest: OrientationInterpolator.

X3D Specification sections of interest: 19 Interpolation component, 19.2 Concepts and 19.4.6 OrientationInterpolator.

X3D Examples Archives of related interest:

 
  5 X3D Models       X3D Model Descriptions
   hierarchy hierarchy Test an OrientationInterpolators ability to continue to receive and generate events when it is no longer part of the transformantion hierarchy. The OrientationInterpolator in this world is "switched"out by setting its parent Switch node whichChoice value to "-1" . The result should be: the OrientationInterpolator should continue to rotate the Sphere in this world 360 degrees about the X, Y and Z axis, even though it has been "switched out".
   keys1000 keys 1000 Test of basic OrientationInterpolator functionality. An OrientationInterpolator node is used to change the orientation of a Box geometry. The fraction_changed eventOut of a TimeSensor node is used to change the orientation from keyValues of 0, 90, 180, 270 and 360 degrees about the X, Y and Z axes, using 1000 keys and keyValues. The value_changed eventOut is routed to the set_rotation exposedField of the Transform node of the geometry. The result thould be: The Box should rotate about the X axis one full revolution, the about the Y axis, then about the Z axis. All three revolutions should complete every 5 seconds.
   samekeys samekeys Test of using identical keys in an OrientationInterpolator. An OrientationInterpolator node is used to change the orientation of a Box geometry. The fraction_changed field of a TimeSensor node is used to change the orientation from keyValues of 0, +90, 180, 270 and 360 degrees for the X, Y and Z axis respectively. However, the Z axis orientation has identical keys for all of its keyValues, and as a result, only the first and last keyValues are used as limits. As a result: the Box geometry will only rotate about the X and Y axis, but will not rotate about the Z axis.
   simple simple Test of basic OrientationInterpolator functionality. An OrientationInterpolator node is used to change the orientation of a Box geometry. The fraction_changed field of a TimeSensor node is used to change the orientation from keyValues of 0, 90, 180, 270 and 360 degrees about the X, Y and Z axes. Each keyValue has a corresponding, different key. The value_changed field is routed to the set_rotation field of the Transform node of the geometry. The result thould be: The Box should rotate about the X axis one full revolution, the about the Y axis, then about the Z axis. All three revolutions should complete every 5 seconds.
   value_changed value changed Test of an OrientationInterpolator to load the correct "value_changed" field prior to receiving events. Two OrientationInterpolator node are associated with two seperate Box geometry. The OrientationInterpolator associated with the Box on the left has a keyValue of 1 0 0 0.785, while the OrientationInterpolator associated with the right Box has the default of no keyValues, or [ ]. As a result, the OrientationInterpolator on the left should initialize its "value_changed" field to the value of its first keyValue, or (0 0 1 0.785). Because no keyValues are provided to the right OrientationInterpolator, it should initialize its "value_changed" field to the SFRotation default value of 0 0 1 0. A Script node reads this value for each OrientationInterpolator, and will translate the associated Box by a value equal to its initially read "value_changed" SFRotation value. When the pointing device passes over the left Box, it should rotate about the Z axis by a value of 0 0 1 0.785 (or rotate 45 degrees) each time it is indicated,then return to its original position. When the pointing device passes over the right Box, it should rotate by a value of 0 0 1 0.0 (ie. it should not rotate at all). D

The X3D Resources: Examples page and Savage Developers Guide provide more information about the production of this archive.