SoRotateDiscDragger(3IV)NAMESoRotateDiscDragger (SoRotDiscDrag) - object you can rotate like a knob
by dragging With the mouse
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
SoDragger > SoRotateDiscDraggerSYNOPSIS
#include <Inventor_c/draggers/SoRotateDiscDragger.h>
typedef SoRotateDiscDragger SoRotDiscDrag
Fields from class SoRotateDiscDragger:
SoSFRotation rotation
Fields from class SoDragger:
SoSFBool isActive
Fields from class SoInteractionKit:
SoSFEnum renderCaching
SoSFEnum boundingBoxCaching
SoSFEnum renderCulling
SoSFEnum pickCulling
Parts from class SoBaseKit:
(SoNodeKitListPart) callbackList
Functions from class SoRotateDiscDragger:
SoRotateDiscDragger * SoRotDiscDragCreate()
const SoNodekitCatalog * SoRotDiscDragGetClassNkitCat()
SoType SoRotDiscDragGetClassTypeId()
Functions from class SoDragger:
void SoRotDiscDragAddStartCB(SoRotDiscDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoRotDiscDragRemoveStartCB(SoRotDiscDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoRotDiscDragAddMotionCB(SoRotDiscDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoRotDiscDragRemoveMotionCB(SoRotDiscDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoRotDiscDragAddFinishCB(SoRotDiscDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoRotDiscDragRemoveFinishCB(SoRotDiscDrag *this,
SoDraggerCB *f, void *userData = NULL)
Page 1SoRotateDiscDragger(3IV)
void SoRotDiscDragAddValueChangedCB(SoRotDiscDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoRotDiscDragRemoveValueChangedCB(SoRotDiscDrag
*this, SoDraggerCB *f, void *userData = NULL)
SbBool SoRotDiscDragEnableValueChangedCBs(SoRotDiscDrag
*this)
void SoRotDiscDragSetMinGesture(SoRotDiscDrag *this, int
pixels)
int SoRotDiscDragGetMinGesture(const SoRotDiscDrag *this)
void SoRotDiscDragSetMinScale(float newMinScale)
float SoRotDiscDragGetMinScale()
Functions from class SoInteractionKit:
SbBool SoRotDiscDragSetPartAsPath(SoRotDiscDrag *this, const
char *partName, SoPath *surrogatePath )
Functions from class SoBaseKit:
const SoNodekitCatalog * SoRotDiscDragGetCat(const SoRotDiscDrag *this)
SoNode * SoRotDiscDragGetPart(SoRotDiscDrag *this, const
char *partName, SbBool makeIfNeeded)
SbString SoRotDiscDragGetPartString(SoRotDiscDrag *this,
const SoBase *part)
SoNodeKitPath * SoRotDiscDragCreatePathToPart(SoRotDiscDrag
*this, const char *partName, SbBool
makeIfNeeded, const SoPath *pathToExtend =
NULL)
SbBool SoRotDiscDragSetPart(SoRotDiscDrag *this, const
char *partName, SoNode *newPart)
SbBool SoRotDiscDragSet(SoRotDiscDrag *this, char
*partName, char *parameters)
SbBool SoRotDiscDragSet2(SoRotDiscDrag *this, char
*nameValuePairs)
SbBool SoRotDiscDragIsSearchingChildren()
void SoRotDiscDragSetSearchingChildren(SbBool
newVal)
Functions from class SoNode:
void SoRotDiscDragSetOverride(SoRotDiscDrag *this, SbBool
state)
SbBool SoRotDiscDragIsOverride(const SoRotDiscDrag *this)
SoNode * SoRotDiscDragCopy(const SoRotDiscDrag *this, SbBool
copyConnections = FALSE)
SbBool SoRotDiscDragAffectsState(const SoRotDiscDrag *this)
SoNode * SoRotDiscDragGetByName(const char *name)
int SoRotDiscDragGetByNameList(const char *name,
SoNodeList *list)
Functions from class SoFieldContainer:
Page 2SoRotateDiscDragger(3IV)
void SoRotDiscDragSetToDflts(SoRotDiscDrag *this)
SbBool SoRotDiscDragHasDfltVals(const SoRotDiscDrag *this)
SbBool SoRotDiscDragFldsAreEq(const SoRotDiscDrag *this,
const SoFieldContainer *fc)
void SoRotDiscDragCopyFieldVals(SoRotDiscDrag *this, const
SoFieldContainer *fc, SbBool copyConnections =
FALSE)
void SoRotDiscDragGet(SoRotDiscDrag *this, SbString
*fieldDataString)
int SoRotDiscDragGetFields(const SoRotDiscDrag *this,
SoFieldList *resultList)
SoField * SoRotDiscDragGetField(const SoRotDiscDrag *this,
const char *fieldName)
SbBool SoRotDiscDragGetFieldName(const SoRotDiscDrag *this,
const SoField *field, SbName *fieldName)
SbBool SoRotDiscDragIsNotifyEnabled(const SoRotDiscDrag
*this)
SbBool SoRotDiscDragEnableNotify(SoRotDiscDrag *this, SbBool
flag)
Functions from class SoBase:
void SoRotDiscDragRef(SoRotDiscDrag *this)
void SoRotDiscDragUnref(const SoRotDiscDrag *this)
void SoRotDiscDragUnrefNoDelete(const SoRotDiscDrag *this)
void SoRotDiscDragTouch(SoRotDiscDrag *this)
SoType SoRotDiscDragGetTypeId(const SoRotDiscDrag *this)
SbBool SoRotDiscDragIsOfType(const SoRotDiscDrag *this,
SoType type)
void SoRotDiscDragSetName(SoRotDiscDrag *this, const char
*name)
SbName SoRotDiscDragGetName(const SoRotDiscDrag *this)
DESCRIPTIONSoRotateDiscDragger is a simple dragger that rotates about the z axis of
its local space. The feel of the rotation is as if you were spinning a
record on a turntable or rotating the volume knob of a radio. The local
space is determined by its location in the scene graph. Transformation
nodes placed before it will affect both the dragger and the direction of
motion.
This node has a rotation field which always reflects its orientation in
local space. If you set the field, the dragger will rotate accordingly.
You can also connect fields of other nodes or engines from this one to
make them follow the dragger's rotation.
This dragger contains four parts, rotator, rotatorActive, feedback, and
feedbackActive.
Each of these is set by default from a resource described in the Dragger
Resources section of the online reference page for this class. You can
Page 3SoRotateDiscDragger(3IV)
change the parts in any instance of this dragger using
SoDraggerSetPart().
You can make your program use different default resources for the parts
by copying the file /usr/share/data/draggerDefaults/rotateDiscDragger.iv
into your own directory, editing the file, and then setting the
environment variable SO_DRAGGER_DIR to be a path to that directory.
FIELDS
SoSFRotation rotation
Orientation of the dragger.
FUNCTIONSSoRotateDiscDragger * SoRotDiscDragCreate()
Constructor.
const SoNodekitCatalog * SoRotDiscDragGetClassNkitCat()
Returns an SoNodekitCatalog for this class
SoType SoRotDiscDragGetClassTypeId()
Returns type identifier for this class.
CATALOG PARTS
___________________________________________________________
All parts
NULL by
Part Name Part Type Default Type Default
callbackList NodeKitListPart -- yes
rotator Separator -- yes
rotatorActive Separator -- yes
feedback Separator -- yes
feedbackActive Separator -- yes
___________________________________________________________
|
|
________________________________________________________________
Extra information for list parts from above table
Part Name Container Type Permissible Types
Callback, EventCallback
callbackList Separator
________________________________________________________________
|
|
DRAGGER RESOURCES
Resource: rotateDiscRotator
Part: rotator
Appearance: white cylinder (with axis along z-direction) made of
lines
Description: picking this initiates rotation
Resource: rotateDiscRotatorActive
Page 4SoRotateDiscDragger(3IV)
Part: rotatorActive
Appearance: yellow version of rotator, with added yellow cube
Description: displayed while in motion instead of the rotator
Resource: rotateDiscFeedback
Part: feedback
Appearance: thin purple line along local z-axis
Description: shows center of rotation when not moving
Resource: rotateDiscFeedbackActive
Part: feedbackActive
Appearance: thin, slightly brighter purple line along local z-axis
Description: shows center of rotation when moving
FILE FORMAT/DEFAULTS
RotateDiscDragger {
renderCaching AUTO
boundingBoxCaching AUTO
renderCulling AUTO
pickCulling AUTO
isActive FALSE
rotation 0 0 1 0
callbackList NULL
rotator <rotateDiscRotator resource>
rotatorActive <rotateDiscRotatorActive resource>
feedback <rotateDiscFeedback resource>
feedbackActive <rotateDiscFeedbackActive resource>
}
SEE ALSO
SoInteractionKit, SoDragger, SoCenterballDragger,
SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger,
SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger,
SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger,
SoScale2UniformDragger, SoScaleUniformDragger, SoSpotLightDragger,
SoTabBoxDragger, SoTabPlaneDragger, SoTrackballDragger,
SoTransformBoxDragger, SoTransformerDragger, SoTranslate1Dragger,
SoTranslate2Dragger
Page 5