34#ifndef _SO_TRACK_FOLLOWER_H_
35#define _SO_TRACK_FOLLOWER_H_
37#include <Inventor/engines/SoSubEngine.h>
38#include <Inventor/fields/SoSFFloat.h>
39#include <Inventor/fields/SoMFFloat.h>
40#include <Inventor/fields/SoSFVec3f.h>
41#include <Inventor/fields/SoMFVec3f.h>
42#include <Inventor/fields/SoSFBool.h>
43#include <Inventor/fields/SoMFBool.h>
44#include <Inventor/fields/SoSFRotation.h>
45#include <Inventor/fields/SoMFRotation.h>
46#include <Inventor/nodes/SoCoordinate3.h>
48#define SO_UNDEFINED_TIME_STAMP (-1)
262 float getAlphaValue (
int control_point)
263 {
return m_01_time [control_point]; }
273 void getTrackCoordinate (
SoCoordinate3* coords,
float width = 1,
SbBool flat = FALSE,
int precision = 16);
282 static void initClass();
283 static void exitClass();
289 virtual void inputChanged (
SoField* whichField);
292 virtual void evaluate();
296 void compute01Time();
298 SbBool m_need_01time_computation;
301 void computeAngles();
302 SbBool m_need_angles_computation;
303 float* m_turn_start_time;
304 float* m_turn_end_time;
Class for representing a rotation.
Base class for all engines.
Class for all engine outputs.
Base class for all fields.
Multiple-value field containing any number of Boolean values.
Multiple-value field containing any number of floating point values.
Multiple-value field containing any number of SbRotations.
Multiple-value field containing any number of three-dimensional vectors.
Field containing a single Boolean value.
Field containing a floating-point value.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Animates an obje...
SoMFFloat rollAngle
Roll angle during the turn at a control point.
SoSFBool loop
If loop is TRUE, the animation will loop.
SoMFRotation headRotation
The final rotation applied at a control point, which allows the camera or the object to be rotated wh...
SoEngineOutput orientation
(SoSFRotation) Rotation interpolated from the alpha value.
SoMFFloat rollSpeed
Speed at which the roll angle is reached during a turn.
SoMFBool keepRollAngle
Indicates if the roll angle should be maintained after the middle of the turn.
SoSFFloat alpha
The value on which the interpolation is made.
SoSFBool useHeadRotationOnly
If TRUE, the orientation output field is a direct interpolation of headRotation values,...
SoMFFloat timeStamps
Time stamps associated with the control points.
SoEngineOutput position
(SoSFVec3f) Position interpolated from the alpha value.
SoTrackFollower()
Constructor.
SoMFFloat radius
Radius of the turn at a control point.
SoMFVec3f points
Coordinates of the control points.