SoPendulum(3IV)NAMESoPendulum (SoPendulum) - animated oscillating rotation node
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoTransformation > SoRotation >
SoPendulumSYNOPSIS
#include <Inventor_c/nodes/SoPendulum.h>
Fields from class SoPendulum:
SoSFRotation rotation0
SoSFRotation rotation1
SoSFFloat speed
SoSFBool on
Fields from class SoRotation:
SoSFRotation rotation
Functions from class SoPendulum:
SoPendulum * SoPendulumCreate()
SoType SoPendulumGetClassTypeId()
Functions from class SoNode:
void SoPendulumSetOverride(SoPendulum *this, SbBool state)
SbBool SoPendulumIsOverride(const SoPendulum *this)
SoNode * SoPendulumCopy(const SoPendulum *this, SbBool
copyConnections = FALSE)
SbBool SoPendulumAffectsState(const SoPendulum *this)
SoNode * SoPendulumGetByName(const char *name)
int SoPendulumGetByNameList(const char *name, SoNodeList
*list)
Functions from class SoFieldContainer:
void SoPendulumSetToDflts(SoPendulum *this)
SbBool SoPendulumHasDfltVals(const SoPendulum *this)
SbBool SoPendulumFldsAreEq(const SoPendulum *this, const
SoFieldContainer *fc)
void SoPendulumCopyFieldVals(SoPendulum *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
SbBool SoPendulumSet(SoPendulum *this, const char
*fieldDataString)
void SoPendulumGet(SoPendulum *this, SbString
*fieldDataString)
int SoPendulumGetFields(const SoPendulum *this,
SoFieldList *resultList)
Page 1SoPendulum(3IV)
SoField * SoPendulumGetField(const SoPendulum *this, const char
*fieldName)
SbBool SoPendulumGetFieldName(const SoPendulum *this, const
SoField *field, SbName *fieldName)
SbBool SoPendulumIsNotifyEnabled(const SoPendulum *this)
SbBool SoPendulumEnableNotify(SoPendulum *this, SbBool flag)
Functions from class SoBase:
void SoPendulumRef(SoPendulum *this)
void SoPendulumUnref(const SoPendulum *this)
void SoPendulumUnrefNoDelete(const SoPendulum *this)
void SoPendulumTouch(SoPendulum *this)
SoType SoPendulumGetTypeId(const SoPendulum *this)
SbBool SoPendulumIsOfType(const SoPendulum *this, SoType
type)
void SoPendulumSetName(SoPendulum *this, const char *name)
SbName SoPendulumGetName(const SoPendulum *this)
DESCRIPTION
The SoPendulum 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 between two fixed
rotations, achieving the effect of a swinging pendulum. The period of the
swing can be adjusted by changing the speed field. The current rotation
at any time is available in the rotation field, inherited from SoRotation
FIELDS
SoSFRotation rotation0
SoSFRotation rotation1
These define the two fixed rotations that are interpolated to create
the pendular motion.
SoSFFloat speed
Defines the speed of the pendulum, in cycles per second.
SoSFBool on
Allows applications to enable or disable the motion easily.
FUNCTIONSSoPendulum * SoPendulumCreate()
Creates a pendulum node with default settings.
SoType SoPendulumGetClassTypeId()
Returns type identifier for this class.
ACTION BEHAVIOR
SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction,
SoRayPickAction
Page 2SoPendulum(3IV)
Concatenates interpolated rotation value with the current
transformation matrix.
SoGetMatrixAction
Returns transformation matrix specified by the interpolated
rotation.
FILE FORMAT/DEFAULTS
Pendulum {
rotation 0 0 1 0
rotation0 0 0 1 0
rotation1 0 0 1 0
speed 1
on TRUE
}
SEE ALSO
SoRotor, SoShuttle
Page 3