51#ifndef _SO_TRACKBALL_DRAGGER_
52#define _SO_TRACKBALL_DRAGGER_
357 static void initClass();
358 static void exitClass();
363 static void startCB(
void *,
SoDragger *);
364 static void motionCB(
void *,
SoDragger *);
365 static void finishCB(
void *,
SoDragger *);
369 static void fieldSensorCB(
void *,
SoSensor * );
370 static void valueChangedCB(
void *,
SoDragger * );
373 static void metaKeyChangeCB(
void *,
SoDragger *);
380 void setAllPartsActive(
SbBool onOrOff );
390 virtual void setDefaultOnNonWritingFields();
397 { INACTIVE, FREE_ROTATE, X_ROTATE, Y_ROTATE, Z_ROTATE,
398 SCALE, USER_AXIS_ADJUST, USER_AXIS_ROTATE, SPINNING };
417 void setHighlights();
424 static const char geomBuffer[];
434 int firstIndex, lastIndex;
440 static void spinSensorCB(
void *,
SoSensor *);
442 void resetSpinStuff();
448 SbBool wasSpinningAtDragStart;
#define FALSE
Possible value of SbBool.
#define SO_KIT_CATALOG_ENTRY_HEADER(partName)
#define SO_KIT_HEADER(className)
Class for representing a rotation.
Class for representation of a time.
Base class for nodekits that move in response to click-drag-release mouse events.
Sensor class that can be attached to Open Inventor fields.
Base class for all group nodes.
Node representing a 3D rotation about an arbitrary axis.
Field containing a rotation.
Field containing a three-dimensional vector.
Abstract base class for Open Inventor sensors.
Sensor that triggers repeatedly at regular intervals.
Striped ball you can rotate or scale uniformly by dragging with the mouse.
SoSFRotation rotation
Orientation of the dragger.
SoTrackballDragger()
Constructor.
void setAnimationEnabled(SbBool newVal)
Enables/disables spin animation.
SoSFVec3f scaleFactor
Scale of the dragger.
SbBool isAnimationEnabled()
Returns whether spin animation is enabled.