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:

  • scaler
  • scalerActive
  • feedback
  • 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. 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:

  1. copying the file /usr/share/data/draggerDefaults/scaleUniformDragger.iv into your own directory,
  2. editing the file,
  3. and then setting the environment variable SO_DRAGGER_DIR to 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: yes
  • scaler β€” Part Type: Separator, Default Type: --, NULL by Default: yes
  • scalerActive β€” Part Type: Separator, Default Type: --, NULL by Default: yes
  • feedback β€” Part Type: Separator, Default Type: --, NULL by Default: yes
  • feedbackActive β€” 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
  • 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 🌈

okay so the whole friend group, periodt:

  • SoInteractionKit
  • SoDragger
  • SoCenterballDragger
  • SoDirectionalLightDragger
  • SoDragPointDragger
  • SoHandleBoxDragger
  • SoJackDragger
  • SoPointLightDragger
  • SoRotateCylindricalDragger
  • SoRotateDiscDragger
  • SoRotateSphericalDragger
  • SoScale1Dragger
  • SoScale2Dragger
  • SoScale2UniformDragger
  • SoSpotLightDragger
  • SoTabBoxDragger
  • SoTabPlaneDragger
  • SoTrackballDragger
  • SoTransformBoxDragger
  • SoTransformerDragger
  • SoTranslate1Dragger
  • SoTranslate2Dragger

πŸ’– 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. πŸ’…βœ¨