SoScaleUniformDragger(3IV)NAMESoScaleUniformDragger (SoScaleUniDrag) - object you can scale uniformly
in 3D by dragging with the mouse
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
SoDragger > SoScaleUniformDraggerSYNOPSIS
#include <Inventor_c/draggers/SoScaleUniformDragger.h>
typedef SoScaleUniformDragger
SoScaleUniDrag
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 SoDragger:
void SoScaleUniDragAddStartCB(SoScaleUniDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoScaleUniDragRemoveStartCB(SoScaleUniDrag
*this, SoDraggerCB *f, void *userData =
NULL)
void SoScaleUniDragAddMotionCB(SoScaleUniDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoScaleUniDragRemoveMotionCB(SoScaleUniDrag
*this, SoDraggerCB *f, void *userData =
NULL)
void SoScaleUniDragAddFinishCB(SoScaleUniDrag *this,
SoDraggerCB *f, void *userData = NULL)
void SoScaleUniDragRemoveFinishCB(SoScaleUniDrag
*this, SoDraggerCB *f, void *userData =
NULL)
void SoScaleUniDragAddValueChangedCB(SoScaleUniDrag
*this, SoDraggerCB *f, void *userData =
NULL)
void SoScaleUniDragRemoveValueChangedCB(SoScaleUniDrag
*this, SoDraggerCB *f, void *userData =
NULL)
Page 1SoScaleUniformDragger(3IV)
SbBool SoScaleUniDragEnableValueChangedCBs(SoScaleUniDrag
*this)
void SoScaleUniDragSetMinGesture(SoScaleUniDrag
*this, int pixels)
int SoScaleUniDragGetMinGesture(const
SoScaleUniDrag *this)
void SoScaleUniDragSetMinScale(float newMinScale)
float SoScaleUniDragGetMinScale()
const SoNodekitCatalog * SoScaleUniDragGetClassNkitCat()
SoType SoScaleUniDragGetClassTypeId()
Functions from class SoInteractionKit:
SbBool SoScaleUniDragSetPartAsPath(SoScaleUniDrag *this,
const char *partName, SoPath *surrogatePath )
Functions from class SoBaseKit:
const SoNodekitCatalog * SoScaleUniDragGetCat(const SoScaleUniDrag
*this)
SoNode * SoScaleUniDragGetPart(SoScaleUniDrag *this,
const char *partName, SbBool makeIfNeeded)
SbString SoScaleUniDragGetPartString(SoScaleUniDrag
*this, const SoBase *part)
SoNodeKitPath * SoScaleUniDragCreatePathToPart(SoScaleUniDrag
*this, const char *partName, SbBool
makeIfNeeded, const SoPath *pathToExtend =
NULL)
SbBool SoScaleUniDragSetPart(SoScaleUniDrag *this,
const char *partName, SoNode *newPart)
SbBool SoScaleUniDragSet(SoScaleUniDrag *this, char
*partName, char *parameters)
SbBool SoScaleUniDragSet2(SoScaleUniDrag *this, char
*nameValuePairs)
SbBool SoScaleUniDragIsSearchingChildren()
void SoScaleUniDragSetSearchingChildren(SbBool
newVal)
Functions from class SoNode:
void SoScaleUniDragSetOverride(SoScaleUniDrag *this,
SbBool state)
SbBool SoScaleUniDragIsOverride(const SoScaleUniDrag *this)
SoNode * SoScaleUniDragCopy(const SoScaleUniDrag *this, SbBool
copyConnections = FALSE)
SbBool SoScaleUniDragAffectsState(const SoScaleUniDrag
*this)
SoNode * SoScaleUniDragGetByName(const char *name)
int SoScaleUniDragGetByNameList(const char *name,
SoNodeList *list)
Functions from class SoFieldContainer:
Page 2SoScaleUniformDragger(3IV)
void SoScaleUniDragSetToDflts(SoScaleUniDrag *this)
SbBool SoScaleUniDragHasDfltVals(const SoScaleUniDrag *this)
SbBool SoScaleUniDragFldsAreEq(const SoScaleUniDrag *this,
const SoFieldContainer *fc)
void SoScaleUniDragCopyFieldVals(SoScaleUniDrag *this,
const SoFieldContainer *fc, SbBool
copyConnections = FALSE)
void SoScaleUniDragGet(SoScaleUniDrag *this, SbString
*fieldDataString)
int SoScaleUniDragGetFields(const SoScaleUniDrag *this,
SoFieldList *resultList)
SoField * SoScaleUniDragGetField(const SoScaleUniDrag *this,
const char *fieldName)
SbBool SoScaleUniDragGetFieldName(const SoScaleUniDrag
*this, const SoField *field, SbName *fieldName)
SbBool SoScaleUniDragIsNotifyEnabled(const SoScaleUniDrag
*this)
SbBool SoScaleUniDragEnableNotify(SoScaleUniDrag *this,
SbBool flag)
Functions from class SoBase:
void SoScaleUniDragRef(SoScaleUniDrag *this)
void SoScaleUniDragUnref(const SoScaleUniDrag *this)
void SoScaleUniDragUnrefNoDelete(const SoScaleUniDrag
*this)
void SoScaleUniDragTouch(SoScaleUniDrag *this)
SoType SoScaleUniDragGetTypeId(const SoScaleUniDrag *this)
SbBool SoScaleUniDragIsOfType(const SoScaleUniDrag *this,
SoType type)
void SoScaleUniDragSetName(SoScaleUniDrag *this, const
char *name)
SbName SoScaleUniDragGetName(const SoScaleUniDrag *this)
DESCRIPTIONSoScaleUniformDragger 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
Page 3SoScaleUniformDragger(3IV)SoDraggerSetPart().
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
Page 4SoScaleUniformDragger(3IV)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
Page 5