SoRotateCylindricalDragger(3IV)
SoRotateCylindricalDragger (SoRotCylDrag) - object you rotate along a cylindrical surface by dragging with the mouse
As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.
NAME SoRotateCylindricalDragger (SoRotCylDrag) - object you rotate along a cylindrical surface by dragging with the mouse INHERITS FROM SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoRotateCylindricalDragger SYNOPSIS #include <Inventor_c/draggers/SoRotateCylindricalDragger.h> typedef SoRotateCylindricalDragger SoRotCylDrag Fields from class SoRotateCylindricalDragger: 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 SoRotateCylindricalDragger: SoRotateCylindricalDragger * SoRotCylDragCreate() void SoRotCylDragSetProj(SoRotCylDrag *this, SbCylinderProjector *p) const SbCylinderProjector * SoRotCylDragGetProj(const SoRotCylDrag *this) const SoNodekitCatalog * SoRotCylDragGetClassNkitCat() SoType SoRotCylDragGetClassTypeId() Functions from class SoDragger: void SoRotCylDragAddStartCB(SoRotCylDrag *this, SoDraggerCB *f, void *userData = NULL) void SoRotCylDragRemoveStartCB(SoRotCylDrag *this, SoDraggerCB *f, void *userData = NULL) void SoRotCylDragAddMotionCB(SoRotCylDrag *this, SoDraggerCB *f, void *userData = NULL) void SoRotCylDragRemoveMotionCB(SoRotCylDrag *this, SoDraggerCB *f, void *userData = NULL) void SoRotCylDragAddFinishCB(SoRotCylDrag *this, SoDraggerCB *f, void *userData = NULL) void SoRotCylDragRemoveFinishCB(SoRotCylDrag *this, SoDraggerCB *f, void *userData = NULL) void SoRotCylDragAddValueChangedCB(SoRotCylDrag *this, SoDraggerCB *f, void *userData = NULL) void SoRotCylDragRemoveValueChangedCB(SoRotCylDrag *this, SoDraggerCB *f, void *userData = NULL) SbBool SoRotCylDragEnableValueChangedCBs(SoRotCylDrag *this) void SoRotCylDragSetMinGesture(SoRotCylDrag *this, int pixels) int SoRotCylDragGetMinGesture(const SoRotCylDrag *this) void SoRotCylDragSetMinScale(float newMinScale) float SoRotCylDragGetMinScale() Functions from class SoInteractionKit: SbBool SoRotCylDragSetPartAsPath(SoRotCylDrag *this, const char *partName, SoPath *surrogatePath ) Functions from class SoBaseKit: const SoNodekitCatalog * SoRotCylDragGetCat(const SoRotCylDrag *this) SoNode * SoRotCylDragGetPart(SoRotCylDrag *this, const char *partName, SbBool makeIfNeeded) SbString SoRotCylDragGetPartString(SoRotCylDrag *this, const SoBase *part) SoNodeKitPath * SoRotCylDragCreatePathToPart(SoRotCylDrag *this, const char *partName, SbBool makeIfNeeded, const SoPath *pathToExtend = NULL) SbBool SoRotCylDragSetPart(SoRotCylDrag *this, const char *partName, SoNode *newPart) SbBool SoRotCylDragSet(SoRotCylDrag *this, char *partName, char *parameters) SbBool SoRotCylDragSet2(SoRotCylDrag *this, char *nameValuePairs) SbBool SoRotCylDragIsSearchingChildren() void SoRotCylDragSetSearchingChildren(SbBool newVal) Functions from class SoNode: void SoRotCylDragSetOverride(SoRotCylDrag *this, SbBool state) SbBool SoRotCylDragIsOverride(const SoRotCylDrag *this) SoNode * SoRotCylDragCopy(const SoRotCylDrag *this, SbBool copyConnections = FALSE) SbBool SoRotCylDragAffectsState(const SoRotCylDrag *this) SoNode * SoRotCylDragGetByName(const char *name) int SoRotCylDragGetByNameList(const char *name, SoNodeList *list) Functions from class SoFieldContainer: void SoRotCylDragSetToDflts(SoRotCylDrag *this) SbBool SoRotCylDragHasDfltVals(const SoRotCylDrag *this) SbBool SoRotCylDragFldsAreEq(const SoRotCylDrag *this, const SoFieldContainer *fc) void SoRotCylDragCopyFieldVals(SoRotCylDrag *this, const SoFieldContainer *fc, SbBool copyConnections = FALSE) void SoRotCylDragGet(SoRotCylDrag *this, SbString *fieldDataString) int SoRotCylDragGetFields(const SoRotCylDrag *this, SoFieldList *resultList) SoField * SoRotCylDragGetField(const SoRotCylDrag *this, const char *fieldName) SbBool SoRotCylDragGetFieldName(const SoRotCylDrag *this, const SoField *field, SbName *fieldName) SbBool SoRotCylDragIsNotifyEnabled(const SoRotCylDrag *this) SbBool SoRotCylDragEnableNotify(SoRotCylDrag *this, SbBool flag) Functions from class SoBase: void SoRotCylDragRef(SoRotCylDrag *this) void SoRotCylDragUnref(const SoRotCylDrag *this) void SoRotCylDragUnrefNoDelete(const SoRotCylDrag *this) void SoRotCylDragTouch(SoRotCylDrag *this) SoType SoRotCylDragGetTypeId(const SoRotCylDrag *this) SbBool SoRotCylDragIsOfType(const SoRotCylDrag *this, SoType type) void SoRotCylDragSetName(SoRotCylDrag *this, const char *name) SbName SoRotCylDragGetName(const SoRotCylDrag *this) DESCRIPTION SoRotateCylindricalDragger is a simple dragger that rotates about the y axis of its local space. The feel of the rotation is as if you were spinning a cylinder about its axis of rotation. 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 orientation. 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 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/rotateCylindricalDragger.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. FUNCTIONS SoRotateCylindricalDragger * SoRotCylDragCreate() Constructor. void SoRotCylDragSetProj(SoRotCylDrag *this, SbCylinderProjector *p) const SbCylinderProjector * SoRotCylDragGetProj(const SoRotCylDrag *this) Set and get a different cylinder projector. See the SbCylinderProjector man pages to find out how each kind affects the feel of your dragger's motion. The default uses an SbCylinderPlaneProjector. Passing in NULL will cause this default type of projector to be used. Any projector you pass in will be deleted by this dragger when this dragger is deleted. Note that the axis and radius of the cylinder are determined by the dragger, based on the y-axis in local space and how far the initial mouse click occured from the center of rotation. const SoNodekitCatalog * SoRotCylDragGetClassNkitCat() Returns an SoNodekitCatalog for this class SoType SoRotCylDragGetClassTypeId() 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: rotateCylindricalRotator Part: rotator Appearance: white cylinder (with vertical axis) made of lines Description: picking this initiates rotation Resource: rotateCylindricalRotatorActive Part: rotatorActive Appearance: yellow version of rotator Description: displayed while in motion instead of the rotator Resource: rotateCylindricalFeedback Part: feedback Appearance: thin purple line along local y-axis Description: shows center of rotation when not moving Resource: rotateCylindricalFeedbackActive Part: feedbackActive Appearance: thin, slightly brighter purple line along local y-axis Description: shows center of rotation when moving FILE FORMAT/DEFAULTS RotateCylindricalDragger { renderCaching AUTO boundingBoxCaching AUTO renderCulling AUTO pickCulling AUTO isActive FALSE rotation 0 0 1 0 callbackList NULL rotator <rotateCylindricalRotator resource> rotatorActive <rotateCylindricalRotatorActive resource> feedback <rotateCylindricalFeedback resource> feedbackActive <rotateCylindricalFeedbackActive resource> } SEE ALSO SoInteractionKit, SoDragger, SoCenterballDragger, SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger, SoPointLightDragger, SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoScaleUniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger, SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger, SoTranslate1Dragger, SoTranslate2Dragger