SoTranslate2Dragger(3)

๐Ÿ“ฆ version 3.1.3, in fedora 43, fedora 44

๐Ÿ’– NAME ๐Ÿ’–

SoTranslate2Dragger โ€” bestie, this class is the whole mechanism that lets the end-user translate stuff in a plane. That's the vibe. That's the assignment. ๐Ÿฆ‹

It lives in the SoTranslate2Dragger corner of the Coin/Inventor universe and it inherits from SoDragger, so yes, it's a dragger, and yes, dragging is literally the point. ๐Ÿ‘‘


โœจ SYNOPSIS โœจ

#include <Inventor/draggers/SoTranslate2Dragger.h>

Inherits SoDragger.


๐ŸŒธ Public Member Functions ๐ŸŒธ

  • virtual SoType getTypeId (void) const โ€” gives you back this node's type id, the little name-tag that says "yep, that's a SoTranslate2Dragger".
  • virtual const SoNodekitCatalog * getNodekitCatalog (void) const โ€” hands you the nodekit catalog for this class, aka the blueprint of all its parts.
  • SoTranslate2Dragger (void) โ€” the constructor, bestie. Makes you a brand new dragger. ๐ŸŽ€

๐Ÿ’… Public Member Functions inherited from SoDragger ๐Ÿ’…

Like, so many. Sit down, hydrate, we're going through all of them:

  • virtual void callback (SoCallbackAction *action)
  • virtual void GLRender (SoGLRenderAction *action)
  • virtual void getMatrix (SoGetMatrixAction *action)
  • virtual void rayPick (SoRayPickAction *action)
  • virtual void search (SoSearchAction *action)
  • virtual void write (SoWriteAction *action)
  • virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)
  • void setProjectorEpsilon (const float epsilon)
  • float getProjectorEpsilon (void) const
  • void addStartCallback (SoDraggerCB *func, void *data=NULL)
  • void removeStartCallback (SoDraggerCB *func, void *data=NULL)
  • void addMotionCallback (SoDraggerCB *func, void *data=NULL)
  • void removeMotionCallback (SoDraggerCB *func, void *data=NULL)
  • void addFinishCallback (SoDraggerCB *func, void *data=NULL)
  • void removeFinishCallback (SoDraggerCB *func, void *data=NULL)
  • void addValueChangedCallback (SoDraggerCB *func, void *data=NULL)
  • void removeValueChangedCallback (SoDraggerCB *func, void *data=NULL)
  • void setMinGesture (int pixels)
  • int getMinGesture (void) const
  • SbBool enableValueChangedCallbacks (SbBool newval)
  • const SbMatrix & getMotionMatrix (void)
  • void addOtherEventCallback (SoDraggerCB *func, void *data=NULL)
  • void removeOtherEventCallback (SoDraggerCB *func, void *data=NULL)
  • void registerChildDragger (SoDragger *child)
  • void unregisterChildDragger (SoDragger *child)
  • void registerChildDraggerMovingIndependently (SoDragger *child)
  • void unregisterChildDraggerMovingIndependently (SoDragger *child)
  • SbMatrix getLocalToWorldMatrix (void)
  • SbMatrix getWorldToLocalMatrix (void)
  • SbVec3f getLocalStartingPoint (void)
  • SbVec3f getWorldStartingPoint (void)
  • void getPartToLocalMatrix (const SbName &partname, SbMatrix &parttolocalmatrix, SbMatrix &localtopartmatrix)
  • void transformMatrixLocalToWorld (const SbMatrix &frommatrix, SbMatrix &tomatrix)
  • void transformMatrixWorldToLocal (const SbMatrix &frommatrix, SbMatrix &tomatrix)
  • void transformMatrixToLocalSpace (const SbMatrix &frommatrix, SbMatrix &tomatrix, const SbName &fromspacepartname)
  • void valueChanged (void)
  • const SbMatrix & getStartMotionMatrix (void)
  • virtual void saveStartParameters (void)
  • const SoPath * getPickPath (void) const
  • const SoEvent * getEvent (void) const
  • SoPath * createPathToThis (void)
  • const SoPath * getSurrogatePartPickedOwner (void) const
  • const SbName & getSurrogatePartPickedName (void) const
  • const SoPath * getSurrogatePartPickedPath (void) const
  • void setStartingPoint (const SoPickedPoint *newpoint)
  • void setStartingPoint (const SbVec3f &newpoint)
  • const SbViewVolume & getViewVolume (void)
  • void setViewVolume (const SbViewVolume &vol)
  • const SbViewportRegion & getViewportRegion (void)
  • void setViewportRegion (const SbViewportRegion &reg)
  • SoHandleEventAction * getHandleEventAction (void) const
  • void setHandleEventAction (SoHandleEventAction *newAction)
  • void setTempPathToThis (const SoPath *somethingclose)
  • virtual void grabEventsSetup (void)
  • virtual void grabEventsCleanup (void)
  • void workFieldsIntoTransform (SbMatrix &mtx)
  • void setFrontOnProjector (ProjectorFrontSetting newval)
  • ProjectorFrontSetting getFrontOnProjector (void) const

๐Ÿงš Public Member Functions inherited from SoInteractionKit ๐Ÿงš

  • SoInteractionKit (void)
  • virtual SbBool setPartAsPath (const SbName &partname, SoPath *path)
  • virtual SbBool setPartAsDefault (const SbName &partname, SoNode *node, SbBool onlyifdefault=TRUE)
  • virtual SbBool setPartAsDefault (const SbName &partname, const SbName &nodename, SbBool onlyifdefault=TRUE)
  • SbBool isPathSurrogateInMySubgraph (const SoPath *path, SoPath *&pathToOwner, SbName &surrogatename, SoPath *&surrogatepath, SbBool fillargs=TRUE)
  • SbBool isPathSurrogateInMySubgraph (const SoPath *path)
  • virtual SbBool setPart (const SbName &partname, SoNode *from)

๐ŸŒˆ Public Member Functions inherited from SoBaseKit ๐ŸŒˆ

  • SoBaseKit (void)
  • 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)
  • SbBool set (const char *namevaluepairliststring)
  • SbBool set (const char *partnamestring, const char *parameterstring)
  • virtual void doAction (SoAction *action)
  • virtual SoChildList * getChildren (void) const
  • void printDiagram (void)
  • void printSubDiagram (const SbName &rootname, int level)
  • void printTable (void)
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
  • SbBool forceChildDrivenWriteRefs (SoOutput *out)

โญ Public Member Functions inherited from SoNode โญ

  • void setOverride (const SbBool state)
  • SbBool isOverride (void) const
  • void setNodeType (const NodeType type)
  • NodeType getNodeType (void) const
  • virtual SoNode * copy (SbBool copyconnections=FALSE) const
  • virtual SbBool affectsState (void) const
  • virtual void GLRenderBelowPath (SoGLRenderAction *action)
  • virtual void GLRenderInPath (SoGLRenderAction *action)
  • virtual void GLRenderOffPath (SoGLRenderAction *action)
  • virtual void pick (SoPickAction *action)
  • virtual void audioRender (SoAudioRenderAction *action)
  • virtual void startNotify (void)
  • virtual void notify (SoNotList *l)
  • uint32_t getNodeId (void) const
  • virtual void writeInstance (SoOutput *out)
  • virtual SoFieldContainer * copyThroughConnection (void) const

๐Ÿ“ Public Member Functions inherited from SoFieldContainer ๐Ÿ“

  • void setToDefaults (void)
  • SbBool hasDefaultValues (void) const
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)
  • SbBool set (const char *const fielddata)
  • void get (SbString &fielddata)
  • virtual int getFields (SoFieldList &l) const
  • virtual int getAllFields (SoFieldList &l) const
  • virtual SoField * getField (const SbName &name) const
  • virtual SoField * getEventIn (const SbName &name) const
  • virtual SoField * getEventOut (const SbName &name) const
  • SbBool getFieldName (const SoField *const field, SbName &name) const
  • SbBool enableNotify (const SbBool flag)
  • SbBool isNotifyEnabled (void) const
  • SbBool set (const char *fielddata, SoInput *input)
  • void get (SbString &fielddata, SoOutput *out)
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval)
  • SbBool getIsBuiltIn (void) const
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const
  • void setUserData (void *userdata) const
  • void * getUserData (void) const

๐Ÿ’œ Public Member Functions inherited from SoBase ๐Ÿ’œ

  • void ref (void) const
  • void unref (void) const
  • void unrefNoDelete (void) const
  • int32_t getRefCount (void) const
  • void touch (void)
  • SbBool isOfType (SoType type) const
  • virtual SbName getName (void) const
  • virtual void setName (const SbName &newname)
  • void addAuditor (void *const auditor, const SoNotRec::Type type)
  • void removeAuditor (void *const auditor, const SoNotRec::Type type)
  • const SoAuditorList & getAuditors (void) const
  • SbBool shouldWrite (void)
  • void assertAlive (void) const

๐Ÿ‘‘ Static Public Member Functions ๐Ÿ‘‘

  • static SoType getClassTypeId (void)
  • static const SoNodekitCatalog * getClassNodekitCatalog (void)
  • static void initClass (void)

๐ŸŽ€ Static Public Member Functions inherited from SoDragger ๐ŸŽ€

  • static SoType getClassTypeId (void)
  • static const SoNodekitCatalog * getClassNodekitCatalog (void)
  • static void setMinScale (float newminscale)
  • static float getMinScale (void)
  • static void workValuesIntoTransform (SbMatrix &mtx, const SbVec3f *translationptr, const SbRotation *rotationptr, const SbVec3f *scalefactorptr, const SbRotation *scaleorientationptr, const SbVec3f *centerptr)
  • static void getTransformFast (SbMatrix &mtx, SbVec3f &translation, SbRotation &rotation, SbVec3f &scalefactor, SbRotation &scaleorientation, const SbVec3f &center)
  • static void getTransformFast (SbMatrix &mtx, SbVec3f &translation, SbRotation &rotation, SbVec3f &scalefactor, SbRotation &scaleorientation)
  • static SbMatrix appendTranslation (const SbMatrix &mtx, const SbVec3f &translation, const SbMatrix *conversion=NULL)
  • static SbMatrix appendScale (const SbMatrix &mtx, const SbVec3f &scale, const SbVec3f &scalecenter, const SbMatrix *conversion=NULL)
  • static SbMatrix appendRotation (const SbMatrix &mtx, const SbRotation &rot, const SbVec3f &rotcenter, const SbMatrix *conversion=NULL)
  • static void initClass (void)
  • static void initClasses (void)

๐Ÿฆ‹ Static Public Member Functions inherited from SoInteractionKit ๐Ÿฆ‹

  • static SoType getClassTypeId (void)
  • static const SoNodekitCatalog * getClassNodekitCatalog (void)
  • static void initClass (void)
  • static void setSwitchValue (SoNode *node, const int newVal)

๐ŸŒธ Static Public Member Functions inherited from SoBaseKit ๐ŸŒธ

  • static SoType getClassTypeId (void)
  • static void initClass (void)
  • static const SoNodekitCatalog * getClassNodekitCatalog (void)
  • static SbBool isSearchingChildren (void)
  • static void setSearchingChildren (const SbBool newval)

โœจ Static Public Member Functions inherited from SoNode โœจ

  • static uint32_t getCompatibilityTypes (const SoType &nodetype)
  • static SoType getClassTypeId (void)
  • static SoNode * getByName (const SbName &name)
  • static int getByName (const SbName &name, SoNodeList &l)
  • static void initClass (void)
  • static void initClasses (void)
  • static uint32_t getNextNodeId (void)
  • static int getActionMethodIndex (const SoType type)
  • static void getBoundingBoxS (SoAction *action, SoNode *node)
  • static void GLRenderS (SoAction *action, SoNode *node)
  • static void callbackS (SoAction *action, SoNode *node)
  • static void getMatrixS (SoAction *action, SoNode *node)
  • static void handleEventS (SoAction *action, SoNode *node)
  • static void pickS (SoAction *action, SoNode *node)
  • static void rayPickS (SoAction *action, SoNode *node)
  • static void searchS (SoAction *action, SoNode *node)
  • static void writeS (SoAction *action, SoNode *node)
  • static void audioRenderS (SoAction *action, SoNode *node)
  • static void getPrimitiveCountS (SoAction *action, SoNode *node)

okay so that's the whole SYNOPSIS dumped out in full, no skips, no cap ๐Ÿ’… and there's still more of this page coming, so stay hydrated and don't close the tab ๐Ÿซถ

Static Public Member Functions inherited from SoFieldContainer ๐Ÿ’–

These are the freebie static goodies SoFieldContainer hands down to ya, no cap:

  • static void initClass (void) โ€” sets the class up, classic Coin ritual โœจ
  • static SoType getClassTypeId (void) โ€” gimme the SoType for this class ๐ŸŽ€
  • static void cleanupClass (void) โ€” the tidy-up counterpart, we love a clean exit ๐Ÿ’…
  • static void initCopyDict (void) โ€” kicks off the copy-dictionary situation ๐Ÿ“–
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) โ€” registers an original โ†’ copy pairing ๐Ÿซถ
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) โ€” peeks at the dict for that orig ๐Ÿ‘€
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) โ€” actually goes and finds the copy for orig ๐Ÿ”
  • static void copyDone (void) โ€” signals that copying is, well, done, periodt ๐Ÿ

Static Public Member Functions inherited from SoBase ๐Ÿฆ‹

The grandparent class's static roster, fr fr:

  • static void initClass (void) โ€” class init, again, iconic behaviour โญ
  • static SoType getClassTypeId (void) โ€” the SoType lookup ๐ŸŒธ
  • static void addName (SoBase *const base, const char *const name) โ€” slaps a name onto a base ๐Ÿท๏ธ
  • static void removeName (SoBase *const base, const char *const name) โ€” and takes it back off, no hard feelings ๐Ÿ˜Œ
  • static void incrementCurrentWriteCounter (void) โ€” bumps the current write counter up โฌ†๏ธ
  • static void decrementCurrentWriteCounter (void) โ€” bumps it back down โฌ‡๏ธ
  • static SoBase * getNamedBase (const SbName &name, SoType type) โ€” fetches a named SoBase of that type ๐ŸŽฏ
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) โ€” plural version, fills up baselist ๐Ÿ“‹
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype) โ€” the read-in machinery ๐Ÿ“ฅ
  • static void setInstancePrefix (const SbString &c) โ€” sets the instance prefix string โœ๏ธ
  • static void setTraceRefs (SbBool trace) โ€” toggle ref-tracing ๐Ÿ•ต๏ธ
  • static SbBool getTraceRefs (void) โ€” and read that toggle back ๐Ÿ’œ
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) โ€” wires up a route from one field to another ๐Ÿ”Œ
  • static SbBool readRoute (SoInput *input) โ€” reads a route in ๐Ÿ›ฃ๏ธ

Public Attributes ๐Ÿ‘‘

These are the fields you actually get to play with, bestie:

  • SoSFVec3f translation โ€” the translation value, a 3-float vector ๐Ÿ’ซ
  • SoSFVec2f minTranslation โ€” the minimum, 2 floats ๐Ÿ“
  • SoSFVec2f maxTranslation โ€” the maximum, 2 floats ๐Ÿ“

Public Attributes inherited from SoDragger

  • SoSFBool isActive โ€” is this dragger active or nah? ๐Ÿค”

Public Attributes inherited from SoInteractionKit

  • SoSFEnum renderCaching โ€” render caching mode ๐ŸŽ€
  • SoSFEnum boundingBoxCaching โ€” bounding-box caching mode ๐Ÿ“ฆ
  • SoSFEnum renderCulling โ€” render culling mode โœ‚๏ธ
  • SoSFEnum pickCulling โ€” pick culling mode ๐ŸŽฏ

Protected Member Functions ๐Ÿคซ

The internal-only crew, the backstage pass holders:

  • virtual const SoFieldData * getFieldData (void) const โ€” hands back the field data ๐Ÿ“š
  • virtual ~SoTranslate2Dragger (void) โ€” the destructor ๐Ÿชฆ
  • virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways=FALSE) โ€” flips connections on/off, with a doitalways escape hatch ๐Ÿ”—
  • virtual void setMotionMatrix (const SbMatrix &m) โ€” sets the motion matrix to m ๐Ÿงฎ
  • void dragStart (void) โ€” drag begins, bestie โœจ
  • void drag (void) โ€” mid-drag, we're moving ๐Ÿ’ƒ
  • void dragFinish (void) โ€” drag's over, slay ๐Ÿ

Protected Member Functions inherited from SoDragger

  • SoDragger (void) โ€” constructor ๐Ÿฃ
  • virtual ~SoDragger (void) โ€” destructor ๐Ÿชฆ
  • SbVec2f getNormalizedLocaterPosition (void) โ€” normalized locater position ๐Ÿ“
  • SbVec2s getLocaterPosition (void) โ€” raw locater position ๐ŸŽฏ
  • SbVec2s getStartLocaterPosition (void) const โ€” where the locater started ๐Ÿ
  • void setStartLocaterPosition (SbVec2s p) โ€” set that start position to p โœ๏ธ
  • SbBool isAdequateConstraintMotion (void) โ€” is this motion adequately constrained? ๐Ÿคจ
  • virtual SbBool shouldGrabBasedOnSurrogate (const SoPath *pickpath, const SoPath *surrogatepath) โ€” should we grab based on the surrogate path? ๐Ÿซณ
  • void setCameraInfo (SoAction *action) โ€” sets camera info from the action ๐ŸŽฅ
  • virtual void handleEvent (SoHandleEventAction *ha) โ€” event handling go brrr ๐ŸŽช
  • void transferMotion (SoDragger *child) โ€” passes motion to a child dragger ๐Ÿค
  • void setIgnoreInBbox (SbBool newval) โ€” set the ignore-in-bbox flag to newval ๐Ÿ™ˆ
  • SbBool isIgnoreInBbox (void) โ€” read that flag back ๐Ÿ‘€
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) โ€” bounding box retrieval ๐Ÿ“
  • void setActiveChildDragger (SoDragger *newchilddragger) โ€” assigns the active child dragger ๐Ÿ‘ถ
  • SoDragger * getActiveChildDragger (void) const โ€” grabs it back ๐Ÿซด
  • virtual void setDefaultOnNonWritingFields (void) โ€” sets defaults on non-writing fields ๐Ÿค
  • void updateDraggerCache (const SoPath *path) โ€” refreshes the dragger cache for path ๐Ÿ”„

Protected Member Functions inherited from SoInteractionKit

  • virtual ~SoInteractionKit () โ€” destructor ๐Ÿชฆ
  • virtual void copyContents (const SoFieldContainer *fromFC, SbBool copyConnections) โ€” copies contents over from fromFC ๐Ÿ“‹
  • virtual SbBool setPart (const int partNum, SoNode *node) โ€” sets part number partNum to node ๐Ÿงฉ
  • virtual SbBool readInstance (SoInput *in, unsigned short flags) โ€” reads an instance ๐Ÿ“ฅ
  • virtual SbBool setAnyPartAsDefault (const SbName &partname, SoNode *node, SbBool anypart=TRUE, SbBool onlyifdefault=TRUE) โ€” sets a part as default, by node ๐Ÿงท
  • virtual SbBool setAnyPartAsDefault (const SbName &partname, const SbName &nodename, SbBool anypart=TRUE, SbBool onlyifdefault=TRUE) โ€” same energy, but by node name ๐Ÿท๏ธ
  • SbBool setAnySurrogatePath (const SbName &name, SoPath *path, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE) โ€” sets a surrogate path ๐Ÿ›ค๏ธ
  • void connectSeparatorFields (SoSeparator *dest, SbBool onOff) โ€” connects separator fields on dest ๐Ÿ”—

Protected Member Functions inherited from SoBaseKit

  • virtual ~SoBaseKit () โ€” destructor ๐Ÿชฆ
  • virtual SoNode * addToCopyDict (void) const โ€” adds this to the copy dict ๐Ÿ“–
  • SoGroup * getContainerNode (const SbName &listname, SbBool makeifneeded=TRUE) โ€” gets the container node for listname ๐Ÿ“ฆ
  • virtual SoNode * getAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE) โ€” gets any part by name ๐Ÿงฉ
  • virtual SoNodeKitPath * createPathToAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE, const SoPath *pathtoextend=NULL) โ€” builds a path to any part, optionally extending pathtoextend ๐Ÿ›ค๏ธ
  • virtual SbBool setAnyPart (const SbName &partname, SoNode *from, SbBool anypart=TRUE) โ€” sets any part from a node ๐Ÿงท
  • void createNodekitPartsList (void) โ€” builds the nodekit parts list ๐Ÿ“
  • void createFieldList (void) โ€” builds the field list ๐Ÿ“
  • virtual void createDefaultParts (void) โ€” builds the default parts ๐Ÿ—๏ธ
  • const SoNodekitParts * getNodekitPartsList (void) const โ€” returns the nodekit parts list ๐Ÿ“š
  • const SbList< SoSFNode * > & getCatalogInstances (void) const โ€” returns the catalog instances ๐Ÿ—‚๏ธ
  • void catalogError (void) โ€” the catalog error handler ๐Ÿšจ
  • void countMyFields (SoOutput *out) โ€” counts fields into out ๐Ÿงฎ

Protected Member Functions inherited from SoNode

  • SoNode (void) โ€” constructor ๐Ÿฃ
  • virtual ~SoNode () โ€” destructor ๐Ÿชฆ

Protected Member Functions inherited from SoFieldContainer

  • SoFieldContainer (void) โ€” constructor ๐Ÿฃ
  • virtual ~SoFieldContainer () โ€” destructor ๐Ÿชฆ

Protected Member Functions inherited from SoBase

  • SoBase (void) โ€” constructor ๐Ÿฃ
  • virtual ~SoBase () โ€” destructor ๐Ÿชฆ
  • virtual void destroy (void) โ€” destroy it ๐Ÿ’ฅ
  • SbBool hasMultipleWriteRefs (void) const โ€” multiple write refs? ๐Ÿค”
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const โ€” writes the header out โœ๏ธ
  • void writeFooter (SoOutput *out) const โ€” writes the footer out โœ๏ธ
  • virtual const char * getFileFormatName (void) const โ€” returns the file format name ๐Ÿท๏ธ

Static Protected Member Functions ๐Ÿงš

  • static const SoFieldData ** getFieldDataPtr (void) โ€” pointer to the field data ๐Ÿ“š
  • static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void) โ€” pointer to the nodekit catalog ๐Ÿ—‚๏ธ
  • static void startCB (void *f, SoDragger *d) โ€” start callback ๐Ÿšฆ
  • static void motionCB (void *f, SoDragger *d) โ€” motion callback ๐Ÿ’ƒ
  • static void finishCB (void *f, SoDragger *d) โ€” finish callback ๐Ÿ
  • static void metaKeyChangeCB (void *f, SoDragger *d) โ€” meta-key-change callback โŒจ๏ธ
  • static void fieldSensorCB (void *f, SoSensor *s) โ€” field sensor callback ๐Ÿ“ก
  • static void valueChangedCB (void *f, SoDragger *d) โ€” value-changed callback ๐Ÿ””

Static Protected Member Functions inherited from SoDragger

  • static const SoFieldData ** getFieldDataPtr (void) โ€” field data pointer ๐Ÿ“š
  • static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void) โ€” nodekit catalog pointer ๐Ÿ—‚๏ธ
  • static void childTransferMotionAndValueChangedCB (void *, SoDragger *) โ€” child transfer-motion + value-changed callback ๐Ÿค
  • static void childValueChangedCB (void *, SoDragger *) โ€” child value-changed callback ๐Ÿ””
  • static void childStartCB (void *, SoDragger *) โ€” child start callback ๐Ÿšฆ
  • static void childMotionCB (void *, SoDragger *) โ€” child motion callback ๐Ÿ’ƒ
  • static void childFinishCB (void *, SoDragger *) โ€” child finish callback ๐Ÿ
  • static void childOtherEventCB (void *, SoDragger *) โ€” child other-event callback ๐ŸŽช

Static Protected Member Functions inherited from SoInteractionKit

  • static const SoFieldData ** getFieldDataPtr (void) โ€” field data pointer ๐Ÿ“š
  • static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void) โ€” nodekit catalog pointer ๐Ÿ—‚๏ธ
  • static void readDefaultParts (const char *fileName, const char defaultBuffer[], int defBufSize) โ€” reads default parts from fileName ๐Ÿ“ฅ
  • static void fieldSensorCB (void *, SoSensor *) โ€” field sensor callback ๐Ÿ“ก

Static Protected Member Functions inherited from SoBaseKit

  • static const SoFieldData ** getFieldDataPtr (void) โ€” field data pointer ๐Ÿ“š
  • static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void) โ€” nodekit catalog pointer ๐Ÿ—‚๏ธ

Static Protected Member Functions inherited from SoNode

  • static const SoFieldData ** getFieldDataPtr (void) โ€” field data pointer ๐Ÿ“š
  • static void setNextActionMethodIndex (int index) โ€” sets the next action method index to index ๐Ÿ”ข
  • static int getNextActionMethodIndex (void) โ€” reads it back ๐Ÿ”ข
  • static void incNextActionMethodIndex (void) โ€” increments it โฌ†๏ธ
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) โ€” sets compatibility types for nodetype with bitmask ๐Ÿงฌ

Static Protected Member Functions inherited from SoBase

  • static uint32_t getCurrentWriteCounter (void) โ€” returns the current write counter ๐Ÿ”ข
  • static void staticDataLock (void) โ€” locks the static data ๐Ÿ”’
  • static void staticDataUnlock (void) โ€” unlocks it ๐Ÿ”“

Protected Attributes ๐Ÿซฃ

  • SoSFNode axisFeedbackSwitch โ€” the axis feedback switch node ๐ŸŽš๏ธ
  • SoSFNode feedback โ€” the feedback node ๐Ÿ’ฌ
  • SoSFNode feedbackActive โ€” feedback-active node ๐ŸŸข
  • SoSFNode feedbackSwitch โ€” feedback switch node ๐ŸŽš๏ธ
  • SoSFNode translator โ€” the translator node ๐Ÿงณ
  • SoSFNode translatorActive โ€” translator-active node ๐ŸŸข
  • SoSFNode translatorSwitch โ€” translator switch node ๐ŸŽš๏ธ
  • SoSFNode xAxisFeedback โ€” X-axis feedback node ๐Ÿ…ง
  • SoSFNode yAxisFeedback โ€” Y-axis feedback node ๐Ÿ…จ
  • SoFieldSensor * fieldSensor โ€” pointer to the field sensor ๐Ÿ“ก
  • SbVec3f worldRestartPt โ€” the world restart point ๐ŸŒ
  • SbPlaneProjector * planeProj โ€” pointer to the plane projector โœˆ๏ธ

Protected Attributes inherited from SoDragger

  • SoSFNode motionMatrix โ€” the motion matrix node ๐Ÿงฎ

Protected Attributes inherited from SoInteractionKit

  • SoSFNode geomSeparator โ€” the geometry separator node ๐Ÿงฑ
  • SoSFNode topSeparator โ€” the top separator node ๐Ÿ”
  • SoFieldSensor * fieldSensor โ€” field sensor pointer ๐Ÿ“ก
  • SoSeparator * oldTopSep โ€” pointer to the old top separator ๐Ÿ•ฐ๏ธ

Protected Attributes inherited from SoBaseKit

  • SoSFNode callbackList โ€” the callback list node ๐Ÿ“ž
  • SoChildList * children โ€” pointer to the child list ๐Ÿ‘ถ
  • SbBool connectionsSetUp โ€” are connections set up? ๐Ÿ”—

Protected Attributes inherited from SoNode

  • uint32_t uniqueId โ€” the unique id ๐Ÿ†”

Protected Attributes inherited from SoFieldContainer

  • SbBool isBuiltIn โ€” is it built in? ๐Ÿ 

Additional Inherited Members ๐ŸŽ

Public Types inherited from SoDragger

  • enum ProjectorFrontSetting { FRONT, BACK, USE_PICK } โ€” the projector front settings, pick your fighter ๐ŸฅŠ

Public Types inherited from SoInteractionKit

  • enum CacheEnabled { OFF, ON, AUTO } โ€” cache: off, on, or let it decide โœจ

Public Types inherited from SoNode

  • enum NodeType { โ€ฆ } โ€” the whole node-type bitmask roster, here it is in all its glory ๐Ÿ‘‡
enum NodeType { INVENTOR = 0x0000, VRML1 = 0x0001, VRML2 = 0x0002,
    INVENTOR_1 = 0x0004, INVENTOR_2_0 = 0x0008, INVENTOR_2_1 = 0x0010,
    INVENTOR_2_5 = 0x0020, INVENTOR_2_6 = 0x0040, COIN_1_0 = 0x0080,
    COIN_2_0 = 0x0100, EXTENSION = 0x0200, COIN_2_2 = 0x0400, COIN_2_3 =
    0x0800, COIN_2_4 = 0x1000, INVENTOR_5_0 = 0x2000, COIN_2_5 = 0x4000,
    COIN_3_0 = 0x8000, INVENTOR_6_0 = 0x10000 }

Protected Types inherited from SoBase

  • enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 } โ€” the base flags, exactly two of them ๐Ÿšฉ

Static Protected Attributes inherited from SoNode

  • static uint32_t nextUniqueId = 1 โ€” next unique id, starts at 1 ๐Ÿ†”
  • static int nextActionMethodIndex = 0 โ€” next action method index, starts at 0 ๐Ÿ”ข

Detailed Description ๐Ÿ’–โœจ

The SoTranslate2Dragger class provides a mechanism for the end-user to translate in a plane. ๐Ÿ›ฉ๏ธ

Here's how the dragger looks with its default geometry in the inactive state:

(the manpage drops a picture right here โ€” imagine the cutest lil dragger just vibing, inactive, default geometry, looking adorable) ๐ŸŽ€

Use this dragger to allow the end-user of your application to translate along the X-axis and the Y-axis at the same time, ie freely inside a 3D plane. (Use a transformation node in front of the dragger to position it and re-orient it to translate in any plane.) ๐Ÿงญ

By holding down a SHIFT key, the end-user can temporarily constrain the dragger to a single one of the two axes. โŒจ๏ธ

See also ๐Ÿ”

  • SoTranslate1Dragger
  • SoDragPointDragger

โœจ Constructor & Destructor Documentation โœจ

SoTranslate2Dragger::SoTranslate2Dragger (void ) ๐Ÿ’…

okay so bestie, this is the default constructor โ€” it sets up the dragger nodekit catalog with the interaction and feedback geometry. periodt.

Node kit structure (new entries versus parent class marked with arrow prefix):

CLASS SoTranslate2Dragger
-->"this"
      "callbackList"
      "topSeparator"
         "motionMatrix"
         "geomSeparator"
-->         "translatorSwitch"
-->            "translator"
-->            "translatorActive"
-->         "feedbackSwitch"
-->            "feedback"
-->            "feedbackActive"
-->         "axisFeedbackSwitch"
-->            "xAxisFeedback"
-->            "yAxisFeedback"

the way that this is organized? iconic. (See SoBaseKit::printDiagram() for information about the output formatting.)

Detailed information on catalog parts:

CLASS SoTranslate2Dragger
PVT   "this",  SoTranslate2Dragger  ---
      "callbackList",  SoNodeKitListPart [ SoCallback, SoEventCallback ]
PVT   "topSeparator",  SoSeparator  ---
PVT   "motionMatrix",  SoMatrixTransform  ---
PVT   "geomSeparator",  SoSeparator  ---
PVT   "translatorSwitch",  SoSwitch  ---
      "translator",  SoSeparator  ---
      "translatorActive",  SoSeparator  ---
PVT   "feedbackSwitch",  SoSwitch  ---
      "feedback",  SoSeparator  ---
      "feedbackActive",  SoSeparator  ---
PVT   "axisFeedbackSwitch",  SoSwitch  ---
      "xAxisFeedback",  SoSeparator  ---
      "yAxisFeedback",  SoSeparator  ---

ngl, this table is giving structure. (See SoBaseKit::printTable() for information about the output formatting.)

SoTranslate2Dragger::~SoTranslate2Dragger (void ) [protected], [virtual] ๐Ÿ›ก๏ธ

Protected destructor. no cap.

(Dragger classes are derived from SoBase, so they are reference counted and automatically destroyed when their reference count goes to 0.)


โœจ Member Function Documentation โœจ

SoType SoTranslate2Dragger::getTypeId (void ) const [virtual] ๐Ÿ”

okay so this hands you the type identification for any object derived from a class that inherits SoBase. It's the whole run-time type checking and "downward" casting situation. iykyk.

Usage example:

void foo(SoNode * node)
{
  if (node->getTypeId() == SoFile::getClassTypeId()) {
    SoFile * filenode = (SoFile *)node;  // safe downward cast, knows the type
  }
}

For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine.h (for engine classes) and so on. lowkey this is the extension-class lore.

For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups.

Reimplemented from SoDragger. fr fr.

const SoFieldData * SoTranslate2Dragger::getFieldData (void ) const [protected], [virtual] ๐Ÿ“ฆ

Hands you a pointer to the class-wide field data storage object for this instance. If no fields are present, it returns NULL.

Reimplemented from SoDragger.

const SoNodekitCatalog * SoTranslate2Dragger::getNodekitCatalog (void ) const [virtual] ๐Ÿ—‚๏ธ

Returns the nodekit catalog that defines the layout of this class' kit.

Reimplemented from SoDragger.

SbBool SoTranslate2Dragger::setUpConnections (SbBool onoff, SbBool doitalways = FALSE) [protected], [virtual] ๐Ÿ”—

Gets all internal connections set up for instances of this class.

(This method will usually not be of interest to the application programmer, unless you want to extend the library with new custom nodekits or dragger classes. If so, see the SoBaseKit class documentation.)

Reimplemented from SoInteractionKit.

void SoTranslate2Dragger::setMotionMatrix (const SbMatrix & matrix) [protected], [virtual] ๐Ÿง 

Drops in a new current motion matrix for the dragger geometry.

Triggers value changed callbacks if matrix isn't equal to the previous motion matrix.

Reimplemented from SoDragger.

void SoTranslate2Dragger::startCB (void * f, SoDragger * d) [static], [protected] ๐ŸŽฌ

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer. ngl, not your problem unless you're deep in the source.

void SoTranslate2Dragger::motionCB (void * f, SoDragger * d) [static], [protected] ๐Ÿ•บ

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

void SoTranslate2Dragger::finishCB (void * f, SoDragger * d) [static], [protected] ๐Ÿ

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

void SoTranslate2Dragger::metaKeyChangeCB (void * f, SoDragger * d) [static], [protected] โŒจ๏ธ

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

void SoTranslate2Dragger::fieldSensorCB (void * f, SoSensor * s) [static], [protected] ๐Ÿ“ก

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

void SoTranslate2Dragger::valueChangedCB (void * f, SoDragger * d) [static], [protected] ๐Ÿ””

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

void SoTranslate2Dragger::dragStart (void ) [protected] ๐Ÿ–ฑ๏ธ

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Called when dragger is selected (picked) by the user. main character energy.

void SoTranslate2Dragger::drag (void ) [protected] ๐ŸŽฏ

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Called when user drags the mouse after picking the dragger.

void SoTranslate2Dragger::dragFinish (void ) [protected] โœ…

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Called when mouse button is released after picking and interacting with the dragger.


โœจ Member Data Documentation โœจ

SoSFVec3f SoTranslate2Dragger::translation ๐Ÿ“

This stays continuously updated with the current translation from the dragger's local origo position. Only the first two components (the X and Y values) can be changed by the end-user. obsessed with this field.

If you're the application programmer applying this dragger in his code, you should connect the relevant node fields in the scene to this field so it follows the dragger.

SoFieldSensor* SoTranslate2Dragger::fieldSensor [protected] ๐Ÿงช

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

SbVec3f SoTranslate2Dragger::worldRestartPt [protected] ๐ŸŒ

๐Ÿšซ This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

SbPlaneProjector* SoTranslate2Dragger::planeProj [protected] ๐Ÿ“

The SbPlaneProjector instance that does the projecting from 2D mouse cursor positions to 3D points.


โœจ Author โœจ

Generated automatically by Doxygen for Coin from the source code.


๐Ÿ’– ok that's a wrap, bestie โ€” this page is from Coin, Version 3.1.3, and it's SoTranslate2Dragger(3). Slay. โœจ

๐Ÿ“ฆ where this page comes from