SoScaleUniformDragger(3IV)
SoScaleUniformDragger - object you can scale uniformly in 3D by dragging with the mouse
As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.
NAME SoScaleUniformDragger - object you can scale uniformly in 3D by dragging with the mouse INHERITS FROM SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoScaleUniformDragger SYNOPSIS #include <Inventor/draggers/SoScaleUniformDragger.h> Fields from class SoDragger: SoSFBool isActive Fields from class SoInteractionKit: SoSFEnum renderCaching SoSFEnum boundingBoxCaching SoSFEnum renderCulling SoSFEnum pickCulling Parts from class SoBaseKit: (SoNodeKitListPart) callbackList Methods from class SoDragger: void addStartCallback(SoDraggerCB *f, void *userData = NULL) void removeStartCallback(SoDraggerCB *f, void *userData = NULL) void addMotionCallback(SoDraggerCB *f, void *userData = NULL) void removeMotionCallback(SoDraggerCB *f, void *userData = NULL) void addFinishCallback(SoDraggerCB *f, void *userData = NULL) void removeFinishCallback(SoDraggerCB *f, void *userData = NULL) void addValueChangedCallback(SoDraggerCB *f, void *userData = NULL) void removeValueChangedCallback(SoDraggerCB *f, void *userData = NULL) SbBool enableValueChangedCallbacks() void setMinGesture(int pixels) int getMinGesture() const static void setMinScale(float newMinScale) static float getMinScale() static const SoNodekitCatalog * getClassNodekitCatalog() const static SoType getClassTypeId() Methods from class SoInteractionKit: virtual SbBool setPartAsPath(const SbName &partName, SoPath *surrogatePath ) Methods from class SoBaseKit: virtual const SoNodekitCatalog * getNodekitCatalog() const virtual SoNode * getPart(const SbName &partName, SbBool makeIfNeeded) SbString getPartString(const SoBase *part) virtual SoNodeKitPath * createPathToPart(const SbName &partName, SbBool makeIfNeeded, const SoPath *pathToExtend = NULL) virtual SbBool setPart(const SbName &partName, SoNode *newPart) SbBool set(char *partName, char *parameters) SbBool set(char *nameValuePairs) static SbBool isSearchingChildren() static void setSearchingChildren(SbBool newVal) Methods from class SoNode: void setOverride(SbBool state) SbBool isOverride() const SoNode * copy(SbBool copyConnections = FALSE) const virtual SbBool affectsState() const static SoNode * getByName(const SbName &name) static int getByName(const SbName &name, SoNodeList &list) Methods from class SoFieldContainer: void setToDefaults() SbBool hasDefaultValues() const SbBool fieldsAreEqual(const SoFieldContainer *fc) const void copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE) void get(SbString &fieldDataString) virtual int getFields(SoFieldList &resultList) const virtual SoField * getField(const SbName &fieldName) const SbBool getFieldName(const SoField *field, SbName &fieldName) const SbBool isNotifyEnabled() const SbBool enableNotify(SbBool flag) Methods from class SoBase: void ref() void unref() const void unrefNoDelete() const void touch() virtual SoType getTypeId() const SbBool isOfType(SoType type) const virtual void setName(const SbName &name) virtual SbName getName() const Macros from class SoBaseKit: SO_GET_PART(kit, partName, partClass) SO_CHECK_PART(kit, partName, partClass) DESCRIPTION SoScaleUniformDragger is a simple dragger that scales uniformly in all 3 dimensions when dragged with the mouse. The local space is 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 setPart(). You can make your program use different default resources for the parts by copying the file /usr/share/data/draggerDefaults/scaleUniformDragger.iv into your own directory, editing the file, and then setting the environment variable SO_DRAGGER_DIR to be a path to that directory. 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: scaleUniformScaler Part: scaler Appearance: 8 small white cubes at the corners of a larger 2x2x2 cube. Description: picking this initiates the scaling Resource: scaleUniformScalerActive Part: scalerActive Appearance: yellow version of scaler, but with extra yellow box connecting corners Description: displayed instead of scaler while in motion Resource: scaleUniformFeedback Part: feedback Appearance: thin purple 3-D crosshair Description: shows center of scale when still Resource: scaleUniformFeedbackActive Part: feedbackActive Appearance: thin, slightly brighter purple 3-D crosshair Description: shows center of scale while in motion FILE FORMAT/DEFAULTS ScaleUniformDragger { renderCaching AUTO boundingBoxCaching AUTO renderCulling AUTO pickCulling AUTO isActive FALSE scaleFactor 1 1 1 callbackList NULL scaler <scaleUniformScaler resource> scalerActive <scaleUniformScalerActive resource> feedback <scaleUniformFeedback resource> feedbackActive <scaleUniformFeedbackActive resource> } SEE ALSO SoInteractionKit, SoDragger, SoCenterballDragger, SoDirectionalLightDragger, SoDragPointDragger, SoHandleBoxDragger, SoJackDragger, SoPointLightDragger, SoRotateCylindricalDragger, SoRotateDiscDragger, SoRotateSphericalDragger, SoScale1Dragger, SoScale2Dragger, SoScale2UniformDragger, SoSpotLightDragger, SoTabBoxDragger, SoTabPlaneDragger, SoTrackballDragger, SoTransformBoxDragger, SoTransformerDragger, SoTranslate1Dragger, SoTranslate2Dragger