Table of Contents Previous Chapter Details Viewpoint Slideshow Next Chapter Details X3D Resources

X3D Example Archives: Conformance Nist, Interpolators, Orientation Interpolator

X3D Scenes Descriptions
1000keys 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.
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".
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 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 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

Online at http://www.web3d.org/x3d/content/examples/ConformanceNist/Interpolators/OrientationInterpolator

Master source code archive is under subversion control at
http://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/content/examples/ConformanceNist/Interpolators/OrientationInterpolator

Table of Contents Previous Chapter Details Viewpoint Slideshow Next Chapter Details X3D Resources

Also available: current and archived nightly builds and distributions of these examples, all published under an Open-Source License.

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