SoRotor(3IV)NAMESoRotor (SoRotor) - animated rotation node
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoTransformation > SoRotation >
SoRotorSYNOPSIS
#include <Inventor_c/nodes/SoRotor.h>
Fields from class SoRotor:
SoSFFloat speed
SoSFBool on
Fields from class SoRotation:
SoSFRotation rotation
Functions from class SoRotor:
SoRotor * SoRotorCreate()
SoType SoRotorGetClassTypeId()
Functions from class SoNode:
void SoRotorSetOverride(SoRotor *this, SbBool state)
SbBool SoRotorIsOverride(const SoRotor *this)
SoNode * SoRotorCopy(const SoRotor *this, SbBool
copyConnections = FALSE)
SbBool SoRotorAffectsState(const SoRotor *this)
SoNode * SoRotorGetByName(const char *name)
int SoRotorGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoRotorSetToDflts(SoRotor *this)
SbBool SoRotorHasDfltVals(const SoRotor *this)
SbBool SoRotorFldsAreEq(const SoRotor *this, const
SoFieldContainer *fc)
void SoRotorCopyFieldVals(SoRotor *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
SbBool SoRotorSet(SoRotor *this, const char
*fieldDataString)
void SoRotorGet(SoRotor *this, SbString *fieldDataString)
int SoRotorGetFields(const SoRotor *this, SoFieldList
*resultList)
SoField * SoRotorGetField(const SoRotor *this, const char
*fieldName)
Page 1SoRotor(3IV)
SbBool SoRotorGetFieldName(const SoRotor *this, const
SoField *field, SbName *fieldName)
SbBool SoRotorIsNotifyEnabled(const SoRotor *this)
SbBool SoRotorEnableNotify(SoRotor *this, SbBool flag)
Functions from class SoBase:
void SoRotorRef(SoRotor *this)
void SoRotorUnref(const SoRotor *this)
void SoRotorUnrefNoDelete(const SoRotor *this)
void SoRotorTouch(SoRotor *this)
SoType SoRotorGetTypeId(const SoRotor *this)
SbBool SoRotorIsOfType(const SoRotor *this, SoType type)
void SoRotorSetName(SoRotor *this, const char *name)
SbName SoRotorGetName(const SoRotor *this)
DESCRIPTION
The SoRotor class is derived from SoRotation, so it applies a rotation to
the current transformation. Using engines connected to the realTime
global field, the rotation value is animated over time, achieving a
spinning effect. The period of the rotation can be adjusted by changing
the speed field.
The current rotation at any time is available in the rotation field,
inherited from SoRotation. This field can also be set to specify the axis
of rotation. Note that unless a non-zero rotation is specified for the
rotation, the node will not know which axis to use. For example, to set a
rotor to spin about the y-axis, use the following:
SoSRotSetAxisAngle(&(rotor->rotation), &axis, 0.1);
where axis is a vector containing (0,1,0). Any non-zero angle can be used
in this code.
FIELDS
SoSFFloat speed
Defines the speed of the rotor, in revolutions per second.
SoSFBool on
Allows applications to enable or disable the motion easily.
FUNCTIONSSoRotor * SoRotorCreate()
Creates a rotor node with default settings.
SoType SoRotorGetClassTypeId()
Returns type identifier for this class.
Page 2SoRotor(3IV)ACTION BEHAVIOR
SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction,
SoRayPickAction
Concatenates current rotation value with the current transformation
matrix.
SoGetMatrixAction
Returns transformation matrix specified by the rotation.
FILE FORMAT/DEFAULTS
Rotor {
rotation 0 0 1 0
speed 1
on TRUE
}
SEE ALSO
SoPendulum, SoShuttle
Page 3