H3D::OrientationInterpolator Class Reference
[X3D node classes.]

The OrientationInterpolator node interpolates among a list of rotation values specified in the keyValue field to produce an SFRotation value_changed event. More...

#include <H3D/OrientationInterpolator.h>

Inheritance diagram for H3D::OrientationInterpolator:

Inheritance graph

List of all members.

Classes

struct  SFValue
 The SFValue field updates the interpolated value from the fields routed to it. More...

Public Member Functions

 OrientationInterpolator (Inst< SFNode > _metadata=0, Inst< SFFloat > _set_fraction=0, Inst< MFFloat > _key=0, Inst< MFRotation > _keyValue=0, Inst< SFValue > _value_changed=0)
 Constructor.

Public Attributes

auto_ptr< MFRotationkeyValue
 The values to interpolate between.
auto_ptr< SFValuevalue_changed
 The resulting interpolated value.

Static Public Attributes

static H3DNodeDatabase database
 The H3DNodeDatabase for this node.


Detailed Description

The OrientationInterpolator node interpolates among a list of rotation values specified in the keyValue field to produce an SFRotation value_changed event.

These rotations are absolute in object space and therefore are not cumulative. The keyValue field shall contain exactly as many rotations as there are key frames in the key field.

An orientation represents the final position of an object after a rotation has been applied. An OrientationInterpolator interpolates between two orientations by computing the shortest path on the unit sphere between the two orientations. The interpolation is linear in arc length along this path. The results are undefined if the two orientations are diagonally opposite.

If two consecutive keyValue values exist such that the arc length between them is greater than pi, the interpolation will take place on the arc complement. For example, the interpolation between the orientations

(0, 1, 0, 0) and (0, 1, 0, 5.0)

is equivalent to the rotation between the orientations

(0, 1, 0, 2*pi) and (0, 1, 0, 5.0).

Internal routes:
OrientationInterpolator.dot

Member Data Documentation

The values to interpolate between.

OrientationInterpolator_keyValue.dot

Referenced by OrientationInterpolator().

The resulting interpolated value.

OrientationInterpolator_value_changed.dot

Referenced by OrientationInterpolator().


The documentation for this class was generated from the following files:

Generated on Fri Nov 7 10:30:41 2008 for H3D API by  doxygen 1.5.7