SoTranslate2Dragger(3)
๐ 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) constvoid 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) constSbBool 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) constconst SoEvent * getEvent (void) constSoPath * createPathToThis (void)const SoPath * getSurrogatePartPickedOwner (void) constconst SbName & getSurrogatePartPickedName (void) constconst SoPath * getSurrogatePartPickedPath (void) constvoid 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 ®)SoHandleEventAction * getHandleEventAction (void) constvoid 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) constvoid 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) constvoid setNodeType (const NodeType type)NodeType getNodeType (void) constvirtual SoNode * copy (SbBool copyconnections=FALSE) constvirtual SbBool affectsState (void) constvirtual 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) constvirtual void writeInstance (SoOutput *out)virtual SoFieldContainer * copyThroughConnection (void) const
๐ Public Member Functions inherited from SoFieldContainer ๐
void setToDefaults (void)SbBool hasDefaultValues (void) constSbBool fieldsAreEqual (const SoFieldContainer *container) constvoid copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)SbBool set (const char *const fielddata)void get (SbString &fielddata)virtual int getFields (SoFieldList &l) constvirtual int getAllFields (SoFieldList &l) constvirtual SoField * getField (const SbName &name) constvirtual SoField * getEventIn (const SbName &name) constvirtual SoField * getEventOut (const SbName &name) constSbBool getFieldName (const SoField *const field, SbName &name) constSbBool enableNotify (const SbBool flag)SbBool isNotifyEnabled (void) constSbBool set (const char *fielddata, SoInput *input)void get (SbString &fielddata, SoOutput *out)virtual SbBool validateNewFieldValue (SoField *field, void *newval)SbBool getIsBuiltIn (void) constvirtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) constvoid setUserData (void *userdata) constvoid * getUserData (void) const
๐ Public Member Functions inherited from SoBase ๐
void ref (void) constvoid unref (void) constvoid unrefNoDelete (void) constint32_t getRefCount (void) constvoid touch (void)SbBool isOfType (SoType type) constvirtual SbName getName (void) constvirtual 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) constSbBool 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 ¢er)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 theSoTypefor 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 thatorig๐static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections)โ actually goes and finds the copy fororig๐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)โ theSoTypelookup ๐ธstatic void addName (SoBase *const base, const char *const name)โ slaps anameonto abase๐ท๏ธ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 namedSoBaseof thattype๐ฏstatic int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)โ plural version, fills upbaselist๐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 adoitalwaysescape hatch ๐virtual void setMotionMatrix (const SbMatrix &m)โ sets the motion matrix tom๐งฎ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 topโ๏ธ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 achilddragger ๐คvoid setIgnoreInBbox (SbBool newval)โ set the ignore-in-bbox flag tonewval๐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 forpath๐
Protected Member Functions inherited from SoInteractionKit
virtual ~SoInteractionKit ()โ destructor ๐ชฆvirtual void copyContents (const SoFieldContainer *fromFC, SbBool copyConnections)โ copies contents over fromfromFC๐virtual SbBool setPart (const int partNum, SoNode *node)โ sets part numberpartNumtonode๐งฉ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 ondest๐
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 forlistname๐ฆ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 extendingpathtoextend๐ค๏ธ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 intoout๐งฎ
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 fromfileName๐ฅ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 toindex๐ข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 fornodetypewithbitmask๐งฌ
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 at1๐static int nextActionMethodIndex = 0โ next action method index, starts at0๐ข
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 ๐
SoTranslate1DraggerSoDragPointDragger
โจ 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
- fedora 43: Coin3-devel 3.1.3-40.fc43 ยท GPL-2.0-only
- fedora 43: Coin3-devel 3.1.3-40.fc43 ยท GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 ยท GPL-2.0-only
- fedora 44: Coin3-devel 3.1.3-42.fc44 ยท GPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms