SOSCALE2DRAGGER(3iv)

✨ hey bestie, welcome to the SoScale2Dragger(3IV) manual page πŸ’–

✨ NAME ✨

SoScale2Dragger β€” the object you can scale in two dimensions by dragging with the mouse. it's giving resize vibes, fr fr. πŸ’…

πŸ¦‹ INHERITS FROM πŸ¦‹

SoBase > SoFieldContainer > SoNode > SoBaseKit > SoInteractionKit > SoDragger > SoScale2Dragger

🌸 SYNOPSIS 🌸

okay so here's the include and literally all the fields, parts, methods, and macros it inherits, no cap:

       #include <Inventor/draggers/SoScale2Dragger.h>

          Fields from class SoScale2Dragger:

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

                         SoScale2Dragger()
     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 πŸ’–

SoScale2Dragger is a simple dragger that scales freely and independently in two dimensions when you drag it with the mouse. it moves within the x-y plane of its local space, as determined by its location in the scene graph. transformation nodes placed before it will affect both the dragger and the plane of motion. periodt.

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. so 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(). slay.

you can make your program use different default resources for the parts by copying the file /usr/share/data/draggerDefaults/scale2Dragger.iv into your own directory, editing the file, and then setting the environment variable SO_DRAGGER_DIR to be a path to that directory. πŸ’…

🌈 FIELDS 🌈

  • SoSFVec3f scaleFactor β€” the scale factor affecting the dragger. literally the size vibe. πŸŽ€

πŸ‘‘ METHODS πŸ‘‘

  • SoScale2Dragger() β€” constructor. it makes a new one, bestie. πŸ’–
  • static const SoNodekitCatalog *getClassNodekitCatalog() const β€” returns an SoNodekitCatalog for this class. so extra. ✨
  • static SoType getClassTypeId() β€” returns type identifier for this class. iykyk. πŸ¦‹

πŸŽ€ 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: scale2Scaler
    • Part: scaler
    • Appearance: white photo-corners at corners of 2-by-2 square in plane of motion
    • Description: picking this initiates the scaling
  • Resource: scale2ScalerActive
    • Part: scalerActive
    • Appearance: yellow version of scaler, but with an extra yellow box
    • Description: displayed instead of scaler while in motion
  • Resource: scale2Feedback
    • Part: feedback
    • Appearance: thin purple 3-D crosshair
    • Description: shows center of scale when still
  • Resource: scale2FeedbackActive
    • Part: feedbackActive
    • Appearance: thin, slightly brighter purple 3-D crosshair
    • Description: shows center of scale while in motion

πŸ’€ FILE FORMAT/DEFAULTS πŸ’€

here's the default file format, fr fr:

Scale2Dragger {
   renderCaching       AUTO
   boundingBoxCaching  AUTO
   renderCulling       AUTO
   pickCulling         AUTO
   isActive            FALSE
   scaleFactor         1 1 1
   callbackList        NULL
   scaler              <scale2Scaler resource>
   scalerActive        <scale2ScalerActive resource>
   feedback            <scale2Feedback resource>
   feedbackActive      <scale2FeedbackActive resource>
}

🌟 SEE ALSO 🌟

go read these too, bestie:

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

and that's the whole vibe πŸ’– this page is SoScale2Dragger(3IV)(), so the source/version is 3IV and the date slot is literally empty. iconic. bye bestie! πŸ’…βœ¨