SOSCALE2UNIFORMDRAGGER(3iv)
π NAME π
SoScale2UniformDragger β ok so bestie, this is the object you can scale uniformly in two dimensions by dragging with the mouse π±οΈβ¨
πΈ INHERITS FROM πΈ
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoScale2UniformDragger
β¨ SYNOPSIS β¨
#include <Inventor/draggers/SoScale2UniformDragger.h>
π Fields from class SoScale2UniformDragger
SoSFVec3f scaleFactor
π Fields from class SoDragger
SoSFBool isActive
π Fields from class SoInteractionKit
SoSFEnum renderCachingSoSFEnum boundingBoxCachingSoSFEnum renderCullingSoSFEnum pickCulling
π Parts from class SoBaseKit
(SoNodeKitListPart) callbackList
π Methods from class SoScale2UniformDragger
SoScale2UniformDragger()static const SoNodekitCatalog * getClassNodekitCatalog() conststatic SoType getClassTypeId()
π 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() conststatic void setMinScale(float newMinScale)static float getMinScale()
π Methods from class SoInteractionKit
virtual SbBool setPartAsPath(const SbName &partName, SoPath *surrogatePath )
π Methods from class SoBaseKit
virtual const SoNodekitCatalog * getNodekitCatalog() constvirtual 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() constSoNode * copy(SbBool copyConnections = FALSE) constvirtual SbBool affectsState() conststatic SoNode * getByName(const SbName &name)static int getByName(const SbName &name, SoNodeList &list)
π Methods from class SoFieldContainer
void setToDefaults()SbBool hasDefaultValues() constSbBool fieldsAreEqual(const SoFieldContainer *fc) constvoid copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)void get(SbString &fieldDataString)virtual int getFields(SoFieldList &resultList) constvirtual SoField * getField(const SbName &fieldName) constSbBool getFieldName(const SoField *field, SbName &fieldName) constSbBool isNotifyEnabled() constSbBool enableNotify(SbBool flag)
π Methods from class SoBase
void ref()void unref() constvoid unrefNoDelete() constvoid touch()virtual SoType getTypeId() constSbBool isOfType(SoType type) constvirtual 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 π
ok so SoScale2UniformDragger is a simple dragger that scales uniformly in the x and y dimensions when you drag it within the x-y plane with the mouse. no cap π±οΈβ¨
The local space? It's determined by its location in the scene graph, bestie. Transformation nodes placed before it will affect both the dragger AND the plane of motion β the way that they're linked like that? iconic. π
This node has a scaleFactor field which always reflects its size in local space. Set the field β the dragger changes accordingly, simple as that. You can also connect fields of other nodes or engines from this one to make them follow the dragger's motion. chain reaction vibes π₯
This dragger contains four parts: scaler, scalerActive, feedback, and feedbackActive. π
Each of these is set by default from a resource described in the Dragger Resource section of the online reference page for this class. Wanna change the parts in any instance of this dragger? Use setPart(). easy π
Wanna make your program use different default resources for the parts? Slay, here's the move: copy the file
/usr/share/data/draggerDefaults/scale2UniformDragger.iv
into your own directory, edit the file, and then set the environment variable SO_DRAGGER_DIR to be a path to that directory. that's it, that's the whole ritual π¦
π¦ FIELDS π¦
SoSFVec3f scaleFactorβ the scale factor affecting the dragger. that's the one, bestie π
β METHODS β
SoScale2UniformDragger()β the constructor, aka the birth of your dragger π±static const SoNodekitCatalog * getClassNodekitCatalog() constβ returns anSoNodekitCatalogfor this class πstatic SoType getClassTypeId()β returns the type identifier for this class π·οΈ
π CATALOG PARTS π
β¨ All parts β¨
callbackListβ Part Type:NodeKitListPart, Default Type:--, NULL by Default: yesscalerβ Part Type:Separator, Default Type:--, NULL by Default: yesscalerActiveβ Part Type:Separator, Default Type:--, NULL by Default: yesfeedbackβ Part Type:Separator, Default Type:--, NULL by Default: yesfeedbackActiveβ Part Type:Separator, Default Type:--, NULL by Default: yes
β¨ Extra information for list parts from above table β¨
callbackListβ Container Type:Separator, Permissible Types:Callback,EventCallback
π DRAGGER RESOURCES π
- Resource:
scale2UniformScaler- Part:
scaler - Appearance: white outline of square with photo-corner shapes at vertices. Lies within plane of motion
- Description: picking this initiates the scaling β
- Part:
- Resource:
scale2UniformScalerActive- Part:
scalerActive - Appearance: yellow version of scaler, but with an extra yellow surrounding box π
- Description: displayed instead of
scalerwhile in motion
- Part:
- Resource:
scale2UniformFeedback- Part:
feedback - Appearance: thin purple 3-D crosshair π
- Description: shows center of scale when still
- Part:
- Resource:
scale2UniformFeedbackActive- Part:
feedbackActive - Appearance: thin, slightly brighter purple 3-D crosshair πβ¨
- Description: shows center of scale while in motion
- Part:
π FILE FORMAT/DEFAULTS π
Scale2UniformDragger {
renderCaching AUTO
boundingBoxCaching AUTO
renderCulling AUTO
pickCulling AUTO
isActive FALSE
scaleFactor 1 1 1
callbackList NULL
scaler <scale2UniformScaler resource>
scalerActive <scale2UniformScalerActive resource>
feedback <scale2UniformFeedback resource>
feedbackActive <scale2UniformFeedbackActive resource>
}
π SEE ALSO π
SoInteractionKitSoDraggerSoCenterballDraggerSoDirectionalLightDraggerSoDragPointDraggerSoHandleBoxDraggerSoJackDraggerSoPointLightDraggerSoRotateCylindricalDraggerSoRotateDiscDraggerSoRotateSphericalDraggerSoScale1DraggerSoScale2DraggerSoScaleUniformDraggerSoSpotLightDraggerSoTabBoxDraggerSoTabPlaneDraggerSoTrackballDraggerSoTransformBoxDraggerSoTransformerDraggerSoTranslate1DraggerSoTranslate2Dragger
and that's the whole page, bestie π«Ά this was SoScale2UniformDragger(3IV)() β go scale something uniform, ily, bye πβ¨π
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms