|
5 X3D Models | X3D Model Descriptions | |
---|---|---|
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". | |
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 | 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 https://www.web3d.org/x3d/content/examples/ConformanceNist/Interpolators/OrientationInterpolator Master source-code model archive is under version control at |
The X3D Resources: Examples page and Savage Developers Guide provide more information about the production of this archive.