SoScale2Dragger(3IV)
SoScale2Dragger (SoScale2Drag) - object you can scale in two dimensions by dragging with the mouse
As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.
NAME SoScale2Dragger (SoScale2Drag) - object you can scale in two dimensions by dragging with the mouse INHERITS FROM SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoScale2Dragger SYNOPSIS #include <Inventor_c/draggers/SoScale2Dragger.h> typedef SoScale2Dragger SoScale2Drag Fields from class SoScale2Dragger: SoSFVec3f scaleFactor 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 SoScale2Dragger: SoScale2Dragger * SoScale2DragCreate() const SoNodekitCatalog * SoScale2DragGetClassNkitCat() SoType SoScale2DragGetClassTypeId() Functions from class SoDragger: void SoScale2DragAddStartCB(SoScale2Drag *this, SoDraggerCB *f, void *userData = NULL) void SoScale2DragRemoveStartCB(SoScale2Drag *this, SoDraggerCB *f, void *userData = NULL) void SoScale2DragAddMotionCB(SoScale2Drag *this, SoDraggerCB *f, void *userData = NULL) void SoScale2DragRemoveMotionCB(SoScale2Drag *this, SoDraggerCB *f, void *userData = NULL) void SoScale2DragAddFinishCB(SoScale2Drag *this, SoDraggerCB *f, void *userData = NULL) void SoScale2DragRemoveFinishCB(SoScale2Drag *this, SoDraggerCB *f, void *userData = NULL) void SoScale2DragAddValueChangedCB(SoScale2Drag *this, SoDraggerCB *f, void *userData = NULL) void SoScale2DragRemoveValueChangedCB(SoScale2Drag *this, SoDraggerCB *f, void *userData = NULL) SbBool SoScale2DragEnableValueChangedCBs(SoScale2Drag *this) void SoScale2DragSetMinGesture(SoScale2Drag *this, int pixels) int SoScale2DragGetMinGesture(const SoScale2Drag *this) void SoScale2DragSetMinScale(float newMinScale) float SoScale2DragGetMinScale() Functions from class SoInteractionKit: SbBool SoScale2DragSetPartAsPath(SoScale2Drag *this, const char *partName, SoPath *surrogatePath ) Functions from class SoBaseKit: const SoNodekitCatalog * SoScale2DragGetCat(const SoScale2Drag *this) SoNode * SoScale2DragGetPart(SoScale2Drag *this, const char *partName, SbBool makeIfNeeded) SbString SoScale2DragGetPartString(SoScale2Drag *this, const SoBase *part) SoNodeKitPath * SoScale2DragCreatePathToPart(SoScale2Drag *this, const char *partName, SbBool makeIfNeeded, const SoPath *pathToExtend = NULL) SbBool SoScale2DragSetPart(SoScale2Drag *this, const char *partName, SoNode *newPart) SbBool SoScale2DragSet(SoScale2Drag *this, char *partName, char *parameters) SbBool SoScale2DragSet2(SoScale2Drag *this, char *nameValuePairs) SbBool SoScale2DragIsSearchingChildren() void SoScale2DragSetSearchingChildren(SbBool newVal) Functions from class SoNode: void SoScale2DragSetOverride(SoScale2Drag *this, SbBool state) SbBool SoScale2DragIsOverride(const SoScale2Drag *this) SoNode * SoScale2DragCopy(const SoScale2Drag *this, SbBool copyConnections = FALSE) SbBool SoScale2DragAffectsState(const SoScale2Drag *this) SoNode * SoScale2DragGetByName(const char *name) int SoScale2DragGetByNameList(const char *name, SoNodeList *list) Functions from class SoFieldContainer: void SoScale2DragSetToDflts(SoScale2Drag *this) SbBool SoScale2DragHasDfltVals(const SoScale2Drag *this) SbBool SoScale2DragFldsAreEq(const SoScale2Drag *this, const SoFieldContainer *fc) void SoScale2DragCopyFieldVals(SoScale2Drag *this, const SoFieldContainer *fc, SbBool copyConnections = FALSE) void SoScale2DragGet(SoScale2Drag *this, SbString *fieldDataString) int SoScale2DragGetFields(const SoScale2Drag *this, SoFieldList *resultList) SoField * SoScale2DragGetField(const SoScale2Drag *this, const char *fieldName) SbBool SoScale2DragGetFieldName(const SoScale2Drag *this, const SoField *field, SbName *fieldName) SbBool SoScale2DragIsNotifyEnabled(const SoScale2Drag *this) SbBool SoScale2DragEnableNotify(SoScale2Drag *this, SbBool flag) Functions from class SoBase: void SoScale2DragRef(SoScale2Drag *this) void SoScale2DragUnref(const SoScale2Drag *this) void SoScale2DragUnrefNoDelete(const SoScale2Drag *this) void SoScale2DragTouch(SoScale2Drag *this) SoType SoScale2DragGetTypeId(const SoScale2Drag *this) SbBool SoScale2DragIsOfType(const SoScale2Drag *this, SoType type) void SoScale2DragSetName(SoScale2Drag *this, const char *name) SbName SoScale2DragGetName(const SoScale2Drag *this) DESCRIPTION SoScale2Dragger is a simple dragger that scales freely and independently in two dimensions when dragged with the mouse. It moves within the x-y plane of its local space, as determined by its location in the scene graph. Transformation nodes placed before it will affect both the dragger and the plane of motion. This node has a scaleFactor field which always reflects its size in local space. If you set the field, the dragger will change accordingly. You can also connect fields of other nodes or engines from this one to make them follow the dragger's motion. This dragger contains four parts, scaler, scalerActive, 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/scale2Dragger.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 SoSFVec3f scaleFactor Scale factor affecting the dragger. FUNCTIONS SoScale2Dragger * SoScale2DragCreate() Constructor. const SoNodekitCatalog * SoScale2DragGetClassNkitCat() Returns an SoNodekitCatalog for this class SoType SoScale2DragGetClassTypeId() Returns type identifier for this class. CATALOG PARTS ___________________________________________________________ All parts NULL by Part Name Part Type Default Type Default callbackList NodeKitListPart -- yes scaler Separator -- yes scalerActive 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: scale2Scaler Part: scaler Appearance: white photo-corners at corners of 2-by-2 square in plane of motion Description: picking this initiates the scaling Resource: scale2ScalerActive Part: scalerActive Appearance: yellow version of scaler, but with an extra yellow box Description: displayed instead of scaler while in motion Resource: scale2Feedback Part: feedback Appearance: thin purple 3-D crosshair Description: shows center of scale when still Resource: scale2FeedbackActive Part: feedbackActive Appearance: thin, slightly brighter purple 3-D crosshair Description: shows center of scale while in motion FILE FORMAT/DEFAULTS Scale2Dragger { renderCaching AUTO boundingBoxCaching AUTO renderCulling AUTO pickCulling AUTO isActive FALSE scaleFactor 1 1 1 callbackList NULL scaler <scale2Scaler resource> scalerActive <scale2ScalerActive resource> feedback <scale2Feedback resource> feedbackActive <scale2FeedbackActive resource> } SEE ALSO SoInteractionKit, SoDragger, SoCenterballDragger, SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger, SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger, SoScale2UniformDragger, SoScaleUniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger, SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger, SoTranslate1Dragger, SoTranslate2Dragger