SOSCALE1DRAGGER(3iv)

πŸ’– SoScale1Dragger(3IV) πŸ’–

okay bestie, sit down, hydrate, because this is the manual page for SoScale1Dragger β€” section 3IV of the man pages, iykyk. it's a dragger. it scales stuff in ONE dimension. one. singular. unhinged in the best way. let's get into it πŸ¦‹


✨ NAME ✨

SoScale1Dragger β€” object you can scale in one dimension by dragging with the mouse πŸ–±οΈβœ¨


🌸 INHERITS FROM 🌸

the family tree is giving royalty, no cap:

SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit >
SoDragger > SoScale1Dragger

πŸŽ€ SYNOPSIS πŸŽ€

#include <Inventor/draggers/SoScale1Dragger.h>

Fields from class SoScale1Dragger:

SoSFVec3f           scaleFactor

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 SoScale1Dragger:

                     SoScale1Dragger()
static const SoNodekitCatalog *
                     getClassNodekitCatalog() const
static 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() const
static 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() 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 πŸ¦‹

okay so SoScale1Dragger is a simple dragger that scales in one dimension when you drag it with the mouse. it moves along the x axis of its local space, as determined by its location in the scene graph. so like… transformation nodes placed before it will affect both the dragger AND the direction of motion. the way that positioning matters is genuinely everything πŸ’…

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. very main character energy ✨

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/scale1Dragger.iv into your own directory, editing the file, and then setting the environment variable SO_DRAGGER_DIR to be a path to that directory. copy, edit, export β€” the holy trinity πŸ™


🌈 FIELDS 🌈

  • SoSFVec3f scaleFactor β€” scale factor affecting the dragger. that's it. that's the whole vibe check.

πŸ’… METHODS πŸ’…

  • SoScale1Dragger() β€” constructor. the birth of a legend πŸ‘‘
  • static const SoNodekitCatalog * getClassNodekitCatalog() const β€” returns an SoNodekitCatalog for this class.
  • static SoType getClassTypeId() β€” returns type identifier for this class.

πŸŽ€ CATALOG PARTS πŸŽ€

all parts, bestie 🌸

  • 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 info for list parts from the table above 🫢

  • callbackList β€” Container Type: Separator, Permissible Types: Callback, EventCallback

πŸ’œ DRAGGER RESOURCES πŸ’œ

Resource: scale1Scaler Part: scaler Appearance: white line, small cubes ends Description: picking this initiates scaling

Resource: scale1ScalerActive Part: scalerActive Appearance: yellow version of scaler, adds wireframe yellow cube Description: displayed during scaling instead of the scaler

Resource: scale1Feedback Part: feedback Appearance: thin purple 3-D crosshair Description: shows center of scale when still

Resource: scale1FeedbackActive Part: feedbackActive Appearance: thin, slightly brighter purple 3-D crosshair Description: shows center of scale while in motion


⭐ FILE FORMAT/DEFAULTS ⭐

Scale1Dragger {
   renderCaching       AUTO
   boundingBoxCaching  AUTO
   renderCulling       AUTO
   pickCulling         AUTO
   isActive            FALSE
   scaleFactor         1 1 1
   callbackList        NULL
   scaler              <scale1Scaler resource>
   scalerActive        <scale1ScalerActive resource>
   feedback            <scale1Feedback resource>
   feedbackActive      <scale1FeedbackActive resource>
}

πŸ‘‘ SEE ALSO πŸ‘‘

the whole friend group, fr fr:

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

and that's the whole page bestie πŸ’– this one came from the SoScale1Dragger(3IV) manual page β€” footer's just SoScale1Dragger(3IV)() with the date slot sitting empty like it forgot to get ready πŸ™ˆ no date, no version, just vibes. go scale something. one dimension only though. periodt. πŸŽ€βœ¨πŸ¦‹