Package com.openinventor.inventor.nodes
Class SoPendulum
- All Implemented Interfaces:
SafeDisposable
Animated oscillating rotation node.
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
File format/default:
Pendulum {
rotation | 0 0 1 0 |
rotation0 | 0 0 1 0 |
rotation1 | 0 0 1 0 |
speed | 1 |
on | true |
Action behavior:
SoGLRenderAction
, SoCallbackAction
, SoGetBoundingBoxAction
, SoRayPickAction
Concatenates interpolated rotation value with the current transformation matrix.
SoGetMatrixAction
Returns transformation matrix specified by the interpolated rotation.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModes
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal SoSFBool
Allows applications to enable or disable the motion easily.final SoSFRotation
Defines the first of the two fixed rotations that are interpolated to create the pendular motion.final SoSFRotation
Defines the second of the two fixed rotations that are interpolated to create the pendular motion.final SoSFFloat
Defines the speed of the pendulum, in cycles per second.Fields inherited from class com.openinventor.inventor.nodes.SoRotation
rotation
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
Methods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle
-
Field Details
-
rotation0
Defines the first of the two fixed rotations that are interpolated to create the pendular motion. -
rotation1
Defines the second of the two fixed rotations that are interpolated to create the pendular motion. -
speed
Defines the speed of the pendulum, in cycles per second. -
on
Allows applications to enable or disable the motion easily.
-
-
Constructor Details
-
SoPendulum
public SoPendulum()Creates a pendulum node with default settings.
-