SOSCALEUNIFORMDRAGGER(3iv)
π SoScaleUniformDragger(3IV) β the manual page, but make it cute π
okay so bestie, we're reading the SoScaleUniformDragger(3IV) page together and honestly? it's giving "tiny dragger, huge main character energy." let's go π«Ά
πΈ NAME πΈ
SoScaleUniformDragger β the object you can scale uniformly in 3D by dragging with the mouse π
𧬠INHERITS FROM π§¬
SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoScaleUniformDragger
like, that's a whole family tree and our girl is at the very bottom, slaying at every single level β¨
β¨ 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 π¦
so, SoScaleUniformDragger is a simple dragger that scales uniformly in all 3 dimensions when you drag it with the mouse. that's the whole vibe π
the local space is determined by its location in the scene graph, and any transformation nodes you place before it will affect both the dragger and the plane of motion. yes, both. no cap.
this node has a scaleFactor field that always reflects its size in local space. set the field, and the dragger changes accordingly β literally. you can also connect fields of other nodes or engines from this one to make them follow the dragger's motion, which is lowkey the best part ngl β¨
this dragger contains four parts:
scalerscalerActivefeedbackfeedbackActive
each of these is set by default from a resource described in the Dragger Resources section of the online reference page for this class. and if you wanna switch things up, you can change the parts in any instance of this dragger using setPart(). obsessed.
you can make your program use different default resources for the parts by:
- copying the file
/usr/share/data/draggerDefaults/scaleUniformDragger.ivinto your own directory, - editing the file,
- and then setting the environment variable
SO_DRAGGER_DIRto be a path to that directory.
that's it. three steps. you got this bestie π«Ά
π 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:
scaleUniformScaler- Part:
scaler - Appearance: 8 small white cubes at the corners of a larger 2x2x2 cube.
- Description: picking this initiates the scaling
- Part:
- Resource:
scaleUniformScalerActive- Part:
scalerActive - Appearance: yellow version of scaler, but with extra yellow box connecting corners
- Description: displayed instead of scaler while in motion
- Part:
- Resource:
scaleUniformFeedback- Part:
feedback - Appearance: thin purple 3-D crosshair
- Description: shows center of scale when still
- Part:
- Resource:
scaleUniformFeedbackActive- Part:
feedbackActive - Appearance: thin, slightly brighter purple 3-D crosshair
- Description: shows center of scale while in motion
- Part:
π 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 π
okay so the whole friend group, periodt:
SoInteractionKitSoDraggerSoCenterballDraggerSoDirectionalLightDraggerSoDragPointDraggerSoHandleBoxDraggerSoJackDraggerSoPointLightDraggerSoRotateCylindricalDraggerSoRotateDiscDraggerSoRotateSphericalDraggerSoScale1DraggerSoScale2DraggerSoScale2UniformDraggerSoSpotLightDraggerSoTabBoxDraggerSoTabPlaneDraggerSoTrackballDraggerSoTransformBoxDraggerSoTransformerDraggerSoTranslate1DraggerSoTranslate2Dragger
π and that's the whole page, bestie! go forth and scale uniformly, you absolute icon π
this was the SoScaleUniformDragger(3IV) manual page β the footer read SoScaleUniformDragger(3IV)() with no date attached, so we're just gonna say: sourced from the SoScaleUniformDragger(3IV) version, undated, and she ate. π
β¨
π¦ 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