SoRotateCylindricalDragger(3)

๐Ÿ“ฆ
version 4.0.10 ยท 4 versions
, in fedora 43, fedora 44

๐Ÿ’– NAME ๐Ÿ’–

okay so bestie, welcome to the group chat โ€” this is SoRotateCylindricalDragger, from the Coin manual, section 3, and she is the class for rotating geometry around a single axis. One axis. That's her lane, she stays in it, no cap. ๐Ÿ’…


โœจ SYNOPSIS โœจ

#include <Inventor/draggers/SoRotateCylindricalDragger.h>

Inherits SoDragger.

๐ŸŽ€ Public Member Functions

  • virtual SoType getTypeId (void) const โ€” the type-id getter, virtual edition, she's giving polymorphism ๐Ÿฆ‹
  • virtual const SoNodekitCatalog * getNodekitCatalog (void) const โ€” hands you the nodekit catalog pointer, virtual flavor
  • SoRotateCylindricalDragger (void) โ€” the constructor, the origin story, the main character entrance ๐Ÿ‘‘
  • void setProjector (SbCylinderProjector *p) โ€” drop in your projector, p
  • const SbCylinderProjector * getProjector (void) const โ€” and here's where you ask which projector she's holding

๐Ÿ’ซ Public Member Functions inherited from SoDragger

  • 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)
  • virtual void setMotionMatrix (const SbMatrix &newmatrix)
  • 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)
  • SbUniqueId 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 โ€” Returns TRUE if the type of this object is either of the same type or inherited from type.
  • 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) โ€” class-wide type id, no instance needed ๐Ÿซก
  • static const SoNodekitCatalog * getClassNodekitCatalog (void) โ€” the class-level nodekit catalog pointer
  • static void initClass (void) โ€” the init, static style

๐ŸŒˆ 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) โ€” Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. ๐Ÿ’–
  • 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)

okay that was the whole cast list bestie, every single signature accounted for, not one skipped, we ate ๐Ÿฝ๏ธโœจ and this is literally just part 1 โ€” the rest is coming, stay tuned ๐Ÿ’…

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

  • static uint32_t getCompatibilityTypes (const SoType &nodetype) โ€” grabs the compatibility types for a node type. It's giving compatibility realness. ๐Ÿ’…
  • static SoType getClassTypeId (void) โ€” returns the SoType for this class. The classic "what am I?" moment. ๐Ÿชช
  • static SoNode * getByName (const SbName &name) โ€” finds a node by name. Like a search party for your scene graph. ๐Ÿ”
  • static int getByName (const SbName &name, SoNodeList &l) โ€” same but fills a list. Because sometimes you need options. ๐Ÿ“‹
  • static void initClass (void) โ€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. It's the class's official debut. ๐ŸŒŸ
  • static void initClasses (void) โ€” initializes all the classes. The whole squad gets ready. ๐Ÿ’ƒ
  • static SbUniqueId getNextNodeId (void) โ€” hands out the next unique node ID. Every node needs its own number. ๐Ÿ”ข
  • static int getActionMethodIndex (const SoType type) โ€” gets the action method index for a type. Indexing the action, periodt. ๐Ÿ“‡
  • static void getBoundingBoxS (SoAction *action, SoNode *node) โ€” the static bounding box action callback. It's giving spatial awareness. ๐Ÿ“ฆ
  • static void GLRenderS (SoAction *action, SoNode *node) โ€” static GL render callback. Making it render, slay. ๐ŸŽจ
  • static void callbackS (SoAction *action, SoNode *node) โ€” static callback. Just callback things. ๐Ÿ“ž
  • static void getMatrixS (SoAction *action, SoNode *node) โ€” static get matrix. Matrix vibes. ๐Ÿงฎ
  • static void handleEventS (SoAction *action, SoNode *node) โ€” static event handler. Handling events like a pro. ๐ŸŽฎ
  • static void pickS (SoAction *action, SoNode *node) โ€” static pick callback. Pick me, choose me. ๐Ÿ‘‰
  • static void rayPickS (SoAction *action, SoNode *node) โ€” static ray pick. Ray tracing but make it pick. ๐Ÿ”ฆ
  • static void searchS (SoAction *action, SoNode *node) โ€” static search. Searching for answers. ๐Ÿ”Ž
  • static void writeS (SoAction *action, SoNode *node) โ€” static write. Write it down. โœ๏ธ
  • static void audioRenderS (SoAction *action, SoNode *node) โ€” static audio render. Making noise. ๐Ÿ”Š
  • static void getPrimitiveCountS (SoAction *action, SoNode *node) โ€” static primitive count. Counting the primitives. ๐Ÿ”ข

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

  • static void initClass (void) โ€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. Same energy as before. ๐ŸŒŸ
  • static SoType getClassTypeId (void) โ€” this static method returns the SoType object associated with objects of this class. Your class ID, bestie. ๐Ÿชช
  • static void cleanupClass (void) โ€” cleans up the class. Marie Kondo vibes. ๐Ÿงน
  • static void initCopyDict (void) โ€” initializes the copy dictionary. Getting the copy party started. ๐Ÿ“š
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) โ€” adds a copy to the dictionary. Original and copy, together. ๐Ÿ‘ฏ
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig) โ€” checks for a copy. Did someone say copy? ๐Ÿ”
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections) โ€” finds a copy. With a flag for copy connections. ๐Ÿ”Ž
  • static void copyDone (void) โ€” signals that copying is done. That's a wrap. ๐ŸŽฌ

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

  • static void initClass (void) โ€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. The classic init. ๐ŸŒŸ
  • static SoType getClassTypeId (void) โ€” this static method returns the SoType object associated with objects of this class. Class ID, again. ๐Ÿชช
  • static void addName (SoBase *const base, const char *const name) โ€” adds a name to a base. Naming things is important. ๐Ÿท๏ธ
  • static void removeName (SoBase *const base, const char *const name) โ€” removes a name. Bye, name. ๐Ÿ‘‹
  • static void incrementCurrentWriteCounter (void) โ€” increments the write counter. One more write. โž•
  • static void decrementCurrentWriteCounter (void) โ€” decrements the write counter. One less. โž–
  • static SoBase * getNamedBase (const SbName &name, SoType type) โ€” gets a named base of a given type. Finding your base. ๐Ÿ 
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) โ€” gets named bases into a list. The whole base squad. ๐Ÿ‘ฏโ€โ™€๏ธ
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype) โ€” reads a base from input. Reading is fundamental. ๐Ÿ“–
  • static void setInstancePrefix (const SbString &c) โ€” sets the instance prefix. Prefix it up. ๐Ÿ”ค
  • static void setTraceRefs (SbBool trace) โ€” sets trace refs. Tracing the references. ๐Ÿ•ต๏ธ
  • static SbBool getTraceRefs (void) โ€” gets trace refs. Are we tracing? ๐Ÿค”
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) โ€” connects a route from one node/field to another. Connecting the dots. ๐Ÿ”—
  • static SbBool readRoute (SoInput *input) โ€” reads a route. Reading the route. ๐Ÿ›ฃ๏ธ

โœจ Public Attributes โœจ

  • SoSFRotation rotation โ€” the rotation field. Spin it. ๐ŸŒ€

โœจ Public Attributes inherited from SoDragger โœจ

  • SoSFBool isActive โ€” whether the dragger is active. Are we active? ๐Ÿ’ƒ

โœจ Public Attributes inherited from SoInteractionKit โœจ

  • SoSFEnum renderCaching โ€” render caching setting. Cache it. ๐Ÿ—ƒ๏ธ
  • SoSFEnum boundingBoxCaching โ€” bounding box caching. Box it up. ๐Ÿ“ฆ
  • SoSFEnum renderCulling โ€” render culling. Cull it. โœ‚๏ธ
  • SoSFEnum pickCulling โ€” pick culling. Pick and cull. ๐Ÿ‘†

โœจ Protected Member Functions โœจ

  • virtual const SoFieldData * getFieldData (void) const โ€” gets the field data. Data for the fields. ๐Ÿ“Š
  • virtual ~SoRotateCylindricalDragger (void) โ€” the destructor. It's the end, but in a good way. ๐Ÿ’€
  • virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways=FALSE) โ€” sets up connections, with an option to always do it. Connect the dots. ๐Ÿ”Œ
  • virtual void copyContents (const SoFieldContainer *fromfc, SbBool copyconnections) โ€” copies contents. Copy that. ๐Ÿ“‹
  • void dragStart (void) โ€” starts the drag. Drag race begins. ๐Ÿ
  • void drag (void) โ€” drags. The main drag event. ๐Ÿ–ฑ๏ธ
  • void dragFinish (void) โ€” finishes the drag. That's a wrap on dragging. ๐Ÿ

โœจ Protected Member Functions inherited from SoDragger โœจ

  • SoDragger (void) โ€” constructor. New dragger who dis. ๐Ÿ‘‹
  • virtual ~SoDragger (void) โ€” destructor. Bye, dragger. ๐Ÿ’€
  • SbVec2f getNormalizedLocaterPosition (void) โ€” gets the normalized locater position. Normalize it. ๐Ÿ“
  • SbVec2s getLocaterPosition (void) โ€” gets the locater position. Where you at? ๐Ÿ“
  • SbVec2s getStartLocaterPosition (void) const โ€” gets the start locater position. Where it all began. ๐Ÿ“
  • void setStartLocaterPosition (SbVec2s p) โ€” sets the start locater position. Setting the starting point. ๐Ÿ“
  • SbBool isAdequateConstraintMotion (void) โ€” checks if the constraint motion is adequate. Is it adequate? ๐Ÿค”
  • virtual SbBool shouldGrabBasedOnSurrogate (const SoPath *pickpath, const SoPath *surrogatepath) โ€” decides if it should grab based on a surrogate. Surrogate decisions. ๐Ÿค–
  • void setCameraInfo (SoAction *action) โ€” sets camera info. Camera ready. ๐Ÿ“ท
  • virtual void handleEvent (SoHandleEventAction *ha) โ€” handles an event. Event handler. ๐ŸŽฎ
  • void transferMotion (SoDragger *child) โ€” transfers motion to a child. Passing the motion. ๐Ÿƒ
  • void setIgnoreInBbox (SbBool newval) โ€” sets whether to ignore in bounding box. Ignore it. ๐Ÿ™ˆ
  • SbBool isIgnoreInBbox (void) โ€” checks if ignoring in bounding box. Are we ignoring? ๐Ÿค”
  • virtual void getBoundingBox (SoGetBoundingBoxAction *action) โ€” gets the bounding box. Box it up. ๐Ÿ“ฆ
  • void setActiveChildDragger (SoDragger *newchilddragger) โ€” sets the active child dragger. Child dragger in charge. ๐Ÿ‘ถ
  • SoDragger * getActiveChildDragger (void) const โ€” gets the active child dragger. Who's the active child? ๐Ÿ‘ถ
  • virtual void setDefaultOnNonWritingFields (void) โ€” sets defaults on non-writing fields. Defaults, but only for non-writing. ๐ŸŽ›๏ธ
  • void updateDraggerCache (const SoPath *path) โ€” updates the dragger cache. Cache refresh. ๐Ÿ”„
  • virtual const SoPickedPoint * getPickedPointForStart (SoHandleEventAction *action) โ€” gets the picked point for start. Picked point, start. ๐ŸŽฏ

โœจ Protected Member Functions inherited from SoInteractionKit โœจ

  • virtual ~SoInteractionKit () โ€” destructor. Bye. ๐Ÿ’€
  • virtual SbBool setPart (const int partNum, SoNode *node) โ€” sets a part by number. Part swap. ๐Ÿ”ง
  • virtual SbBool readInstance (SoInput *in, unsigned short flags) โ€” reads an instance. Read it. ๐Ÿ“–
  • virtual SbBool setAnyPartAsDefault (const SbName &partname, SoNode *node, SbBool anypart=TRUE, SbBool onlyifdefault=TRUE) โ€” sets any part as default. Default it. ๐ŸŽ›๏ธ
  • virtual SbBool setAnyPartAsDefault (const SbName &partname, const SbName &nodename, SbBool anypart=TRUE, SbBool onlyifdefault=TRUE) โ€” same but with a node name. Default by name. ๐ŸŽ›๏ธ
  • SbBool setAnySurrogatePath (const SbName &name, SoPath *path, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE) โ€” sets any surrogate path. Surrogate path setting. ๐Ÿ›ค๏ธ
  • void connectSeparatorFields (SoSeparator *dest, SbBool onOff) โ€” connects separator fields. Connect the separator. ๐Ÿ”Œ

โœจ Protected Member Functions inherited from SoBaseKit โœจ

  • virtual ~SoBaseKit () โ€” destructor. Bye, kit. ๐Ÿ’€
  • virtual SoNode * addToCopyDict (void) const โ€” adds to the copy dictionary. Adding to the copy party. ๐Ÿ“š
  • SoGroup * getContainerNode (const SbName &listname, SbBool makeifneeded=TRUE) โ€” gets the container node. Container vibes. ๐Ÿ“ฆ
  • virtual SoNode * getAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE) โ€” gets any part. Part getter. ๐Ÿ”ง
  • virtual SoNodeKitPath * createPathToAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE, const SoPath *pathtoextend=NULL) โ€” creates a path to any part. Path creation. ๐Ÿ›ค๏ธ
  • virtual SbBool setAnyPart (const SbName &partname, SoNode *from, SbBool anypart=TRUE) โ€” sets any part. Set it. ๐Ÿ”ง
  • void createNodekitPartsList (void) โ€” creates the nodekit parts list. List it. ๐Ÿ“
  • void createFieldList (void) โ€” creates the field list. Field list. ๐Ÿ“
  • virtual void createDefaultParts (void) โ€” creates default parts. Default parts. ๐ŸŽ›๏ธ
  • const SoNodekitParts * getNodekitPartsList (void) const โ€” gets the nodekit parts list. Parts list. ๐Ÿ“‹
  • const SbList< SoSFNode * > & getCatalogInstances (void) const โ€” gets catalog instances. Catalog instances. ๐Ÿ“š
  • void catalogError (void) โ€” catalog error. Error in the catalog. ๐Ÿšจ
  • void countMyFields (SoOutput *out) โ€” counts my fields. Counting fields. ๐Ÿ”ข

โœจ Protected Member Functions inherited from SoNode โœจ

  • SoNode (void) โ€” constructor. Node born. ๐Ÿ‘ถ
  • virtual ~SoNode () โ€” destructor. Node gone. ๐Ÿ’€

โœจ Protected Member Functions inherited from SoFieldContainer โœจ

  • SoFieldContainer (void) โ€” constructor. Field container born. ๐Ÿ‘ถ
  • virtual ~SoFieldContainer () โ€” destructor. Field container gone. ๐Ÿ’€

โœจ Protected Member Functions inherited from SoBase โœจ

  • SoBase (void) โ€” constructor. Base born. ๐Ÿ‘ถ
  • virtual ~SoBase () โ€” destructor. Base gone. ๐Ÿ’€
  • virtual void destroy (void) โ€” destroys. Destroy it. ๐Ÿ’ฅ
  • SbBool hasMultipleWriteRefs (void) const โ€” checks for multiple write refs. Multiple refs? ๐Ÿค”
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const โ€” writes the header. Header writing. โœ๏ธ
  • void writeFooter (SoOutput *out) const โ€” writes the footer. Footer writing. โœ๏ธ
  • virtual const char * getFileFormatName (void) const โ€” gets the file format name. File format name. ๐Ÿ“„
  • virtual SoNotRec createNotRec (void) โ€” creates a notification record. Notification record. ๐Ÿ“

โœจ Static Protected Member Functions โœจ

  • static const SoFieldData ** getFieldDataPtr (void) โ€” gets the field data pointer. Field data pointer. ๐Ÿ“Š
  • static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void) โ€” gets the class nodekit catalog pointer. Nodekit catalog pointer. ๐Ÿ“š
  • static void startCB (void *f, SoDragger *d) โ€” start callback. Start it. ๐Ÿ
  • static void motionCB (void *f, SoDragger *d) โ€” motion callback. Motion. ๐Ÿƒ
  • static void doneCB (void *f, SoDragger *d) โ€” done callback. Done. โœ…
  • static void fieldSensorCB (void *f, SoSensor *s) โ€” field sensor callback. Sensor callback. ๐Ÿ“ก
  • static void valueChangedCB (void *f, SoDragger *d) โ€” value changed callback. Value changed. ๐Ÿ”„

โœจ 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 and value changed callback. Child doing both. ๐Ÿ‘ถ
  • static void childValueChangedCB (void *, SoDragger *) โ€” child value changed callback. Child value changed. ๐Ÿ‘ถ
  • static void childStartCB (void *, SoDragger *) โ€” child start callback. Child starts. ๐Ÿ‘ถ
  • static void childMotionCB (void *, SoDragger *) โ€” child motion callback. Child moves. ๐Ÿ‘ถ
  • static void childFinishCB (void *, SoDragger *) โ€” child finish callback. Child finishes. ๐Ÿ‘ถ
  • static void childOtherEventCB (void *, SoDragger *) โ€” child other event callback. Child other event. ๐Ÿ‘ถ

โœจ 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 a file. Reading defaults. ๐Ÿ“–
  • static void fieldSensorCB (void *, SoSensor *) โ€” field sensor callback. 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. Index set. ๐Ÿ“‡
  • static int getNextActionMethodIndex (void) โ€” gets the next action method index. Index get. ๐Ÿ“‡
  • static void incNextActionMethodIndex (void) โ€” increments the next action method index. Index up. โž•
  • static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) โ€” sets compatibility types. Compatibility set. ๐Ÿ”ง

โœจ Static Protected Member Functions inherited from SoBase โœจ

  • static uint32_t getCurrentWriteCounter (void) โ€” gets the current write counter. Counter check. ๐Ÿ”ข
  • static void staticDataLock (void) โ€” locks static data. Lock it. ๐Ÿ”’
  • static void staticDataUnlock (void) โ€” unlocks static data. Unlock it. ๐Ÿ”“

โœจ Protected Attributes โœจ

  • SoSFNode feedback โ€” feedback node. Feedback. ๐Ÿ“ข
  • SoSFNode feedbackActive โ€” active feedback node. Active feedback. ๐Ÿ“ข
  • SoSFNode feedbackSwitch โ€” feedback switch node. Switch it. ๐Ÿ”€
  • SoSFNode rotator โ€” rotator node. Rotate it. ๐Ÿ”„
  • SoSFNode rotatorActive โ€” active rotator node. Active rotator. ๐Ÿ”„
  • SoSFNode rotatorSwitch โ€” rotator switch node. Switch the rotator. ๐Ÿ”€
  • SoFieldSensor * fieldSensor โ€” field sensor pointer. Sensor. ๐Ÿ“ก
  • SbCylinderProjector * cylinderProj โ€” cylinder projector pointer. Projector. ๐Ÿ“ฝ๏ธ
  • SbBool userProj โ€” user projection flag. User projection. ๐Ÿ‘ค

โœจ Protected Attributes inherited from SoDragger โœจ

  • SoSFNode motionMatrix โ€” motion matrix node. Matrix of motion. ๐Ÿงฎ

โœจ Protected Attributes inherited from SoInteractionKit โœจ

  • SoSFNode geomSeparator โ€” geometry separator node. Separator. ๐Ÿ”ฒ
  • SoSFNode topSeparator โ€” top separator node. Top separator. ๐Ÿ”ฒ
  • SoFieldSensor * fieldSensor โ€” field sensor pointer. Sensor. ๐Ÿ“ก
  • SoSeparator * oldTopSep โ€” old top separator pointer. Old separator. ๐Ÿ—‚๏ธ

โœจ Protected Attributes inherited from SoBaseKit โœจ

  • SoSFNode callbackList โ€” callback list node. Callback list. ๐Ÿ“‹
  • SoChildList * children โ€” children list pointer. Children. ๐Ÿ‘ถ
  • SbBool connectionsSetUp โ€” connections set up flag. Connections set up? ๐Ÿ”Œ

โœจ Protected Attributes inherited from SoNode โœจ

  • SbUniqueId uniqueId โ€” unique ID. Unique ID. ๐Ÿ†”

โœจ Protected Attributes inherited from SoFieldContainer โœจ

  • SbBool isBuiltIn โ€” is built-in flag. Built-in? ๐Ÿ 

โœจ Additional Inherited Members โœจ

Public Types inherited from SoDragger

  • enum ProjectorFrontSetting { FRONT, BACK, USE_PICK } โ€” projector front setting enum. Front, back, or use pick. ๐ŸŽ›๏ธ

Public Types inherited from SoInteractionKit

  • enum CacheEnabled { OFF, ON, AUTO } โ€” cache enabled enum. Off, on, or auto. ๐Ÿ—ƒ๏ธ

Public Types inherited from SoNode

  • 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, COIN_4_0 = 0x20000 } โ€” node type enum with all these values. The whole node type spectrum. ๐ŸŒˆ

Protected Types inherited from SoBase

  • enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 } โ€” base flags enum. Is engine or is group. ๐Ÿšฉ

Static Protected Attributes inherited from SoNode

  • static SbUniqueId nextUniqueId = 1 โ€” next unique ID, starts at 1. ๐Ÿ”ข
  • static int nextActionMethodIndex = 0 โ€” next action method index, starts at 0. ๐Ÿ“‡

๐Ÿ’– DETAILED DESCRIPTION ๐Ÿ’–

okay bestie, so the SoRotateCylindricalDragger class is literally THE girl for rotating geometry around a single axis. one axis. that's her whole thing. periodt. โœจ

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

(yes babe, there's a picture of it in the fancy docs โ€” imagine the cutest little cylindrical ring dragger just vibing there, unbothered, inactive, main character energy ๐ŸŒธ)

so basically โ€” drop an instance of this dragger class into your scene graph, and boom, you're letting the end-users of your application rotate geometry around a predefined axis vector in 3D. iconic. ๐Ÿ”ฅ

and for the dragger's own orientation and positioning? you use some kind of transformation node in your scene graph, as usual. no cap, that's just how we do it. ๐Ÿ’…


๐ŸŽ€ CONSTRUCTOR & DESTRUCTOR DOCUMENTATION ๐ŸŽ€

โœจ SoRotateCylindricalDragger::SoRotateCylindricalDragger (void)

the default constructor, bestie. she sets up the dragger nodekit catalog with all the interaction and feedback geometry. she comes pre-styled. ๐Ÿ’–

Nodekit structure (new entries versus the parent class are marked with an arrow prefix โ€” keep an eye out for the -->):

CLASS SoRotateCylindricalDragger
-->"this"
      "callbackList"
      "topSeparator"
         "motionMatrix"
         "geomSeparator"
-->         "rotatorSwitch"
-->            "rotator"
-->            "rotatorActive"
-->         "feedbackSwitch"
-->            "feedback"
-->            "feedbackActive"

(see SoBaseKit::printDiagram() for info about the output formatting โ€” that's the receipts. ๐Ÿงพ)

Detailed information on catalog parts:

CLASS SoRotateCylindricalDragger
PVT   "this",  SoRotateCylindricalDragger  ---
      "callbackList",  SoNodeKitListPart [ SoCallback, SoEventCallback ]
PVT   "topSeparator",  SoSeparator  ---
PVT   "motionMatrix",  SoMatrixTransform  ---
PVT   "geomSeparator",  SoSeparator  ---
PVT   "rotatorSwitch",  SoSwitch  ---
      "rotator",  SoSeparator  ---
      "rotatorActive",  SoSeparator  ---
PVT   "feedbackSwitch",  SoSwitch  ---
      "feedback",  SoSeparator  ---
      "feedbackActive",  SoSeparator  ---

(see SoBaseKit::printTable() for info about the output formatting โ€” yes, another one. she loves documentation. ๐Ÿซถ)


๐ŸŒ™ SoRotateCylindricalDragger::~SoRotateCylindricalDragger (void) [protected], [virtual]

the protected destructor. โœจ

(dragger classes are derived from SoBase, so they're reference counted and get automatically destroyed when their reference count goes to 0. so like... she leaves when nobody's thinking about her anymore. very demure, very mindful. ๐Ÿ’€)

๐ŸŒˆ MEMBER FUNCTION DOCUMENTATION ๐ŸŒˆ

โญ SoType SoRotateCylindricalDragger::getClassTypeId (void) [static]

this static method returns the SoType object associated with objects of this class. that's it. that's the whole job. she ate. ๐Ÿ‘‘

โญ SoType SoRotateCylindricalDragger::getTypeId (void) const [virtual]

returns the type identification of an object derived from a class inheriting SoBase. this is what powers runtime type checking and "downward" casting. iykyk.

Reimplemented from SoDragger.

โญ const SoFieldData ** SoRotateCylindricalDragger::getFieldDataPtr (void) [static], [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

returns the SoFieldData class which holds information about fields in this node.

โญ const SoFieldData * SoRotateCylindricalDragger::getFieldData (void) const [protected], [virtual]

returns a pointer to the class-wide field data storage object for this instance. if no fields are present, returns NULL. (sad. empty. no fields to slay today. ๐Ÿ˜ญ)

Reimplemented from SoDragger.

โญ const SoNodekitCatalog * SoRotateCylindricalDragger::getClassNodekitCatalog (void) [static]

returns the nodekit catalog which defines the layout of this class' kit. ๐ŸŽ€

โญ const SoNodekitCatalog * SoRotateCylindricalDragger::getNodekitCatalog (void) const [virtual]

returns the nodekit catalog which defines the layout of this class' kit. (yes, same sentence, different vibe โ€” this one's for the instance, bestie. subtle but crucial. ๐Ÿ’…)

Reimplemented from SoDragger.

โญ const SoNodekitCatalog ** SoRotateCylindricalDragger::getClassNodekitCatalogPtr (void) [static], [protected]

returns the pointer to the pointer of the nodekit catalog for this class. a pointer to a pointer. inception core. ๐ŸŒŒ

โญ void SoRotateCylindricalDragger::initClass (void) [static]

initializes the type system for this dragger class. โœจ

application programmers should usually not have to invoke this method โ€” see the documentation of SoInteraction::init(). let the library handle it, babe. trust the process. ๐Ÿซถ

โญ void SoRotateCylindricalDragger::setProjector (SbCylinderProjector * p)

replace the default cylinder projection strategy. you might wanna do this if you change the dragger geometry, for instance. glow-up time. ๐Ÿ”ฅ

the default cylinder projection is an SbCylinderPlaneProjector.

See also SbCylinderSectionProjector, SbCylinderSheetProjector

โญ const SbCylinderProjector * SoRotateCylindricalDragger::getProjector (void) const

returns the projector instance used for converting from user interaction dragger movements to 3D dragger re-orientation. the translator between "human hand moved mouse" and "geometry spun in 3D". iconic honestly. ๐ŸŒธ

See also setProjector()

โญ SbBool SoRotateCylindricalDragger::setUpConnections (SbBool onoff, SbBool doitalways = FALSE) [protected], [virtual]

sets up all internal connections for instances of this class. ๐Ÿ”—

(this method will usually not be of interest to the application programmer โ€” unless you wanna extend the library with new custom nodekits or dragger classes. if that's you, go see the SoBaseKit class documentation. you're built different, bestie. ๐Ÿ‘‘)

Reimplemented from SoInteractionKit.

โญ void SoRotateCylindricalDragger::copyContents (const SoFieldContainer * from, SbBool copyconnections) [protected], [virtual]

makes a deep copy of all data of from into this instance, except external scene graph references if copyconnections is FALSE. ๐Ÿชž

this is the method that should be overridden by extension node / engine / dragger / whatever subclasses which need to account for internal data that isn't handled automatically.

for copying nodes from application code, you should not invoke this function directly โ€” instead call the SoNode::copy() function:

SoNode * mynewnode = templatenode->copy();

the same also goes for engines. ๐Ÿ“

make sure that when you override the copyContents() method in your extension class, you also make it call upwards to its parent superclass in the inheritance hierarchy โ€” because copyContents() in for instance SoNode and SoFieldContainer does important work. it should go something like this:

void
MyCoinExtensionNode::copyContents(const SoFieldContainer * from,
                                  SbBool copyconnections)
{
  // let parent superclasses do their thing (copy fields, copy
  // instance name, etc.)
  SoNode::copyContents(from, copyconnections);

  // [..then copy internal data..]
}

Reimplemented from SoInteractionKit.

โญ void SoRotateCylindricalDragger::startCB (void * f, SoDragger * d) [static], [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

โญ void SoRotateCylindricalDragger::motionCB (void * f, SoDragger * d) [static], [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

โญ void SoRotateCylindricalDragger::doneCB (void * f, SoDragger * d) [static], [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

โญ void SoRotateCylindricalDragger::fieldSensorCB (void * d, SoSensor * s) [static], [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

โญ void SoRotateCylindricalDragger::valueChangedCB (void * f, SoDragger * d) [static], [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

โญ void SoRotateCylindricalDragger::dragStart (void) [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

called when the dragger is selected (picked) by the user. ๐Ÿซต

โญ void SoRotateCylindricalDragger::drag (void) [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

called when the user drags the mouse after picking the dragger. ๐Ÿ–ฑ๏ธ

โญ void SoRotateCylindricalDragger::dragFinish (void) [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

called when the mouse button is released after picking and interacting with the dragger. ๐ŸŽฌ


๐Ÿ’œ MEMBER DATA DOCUMENTATION ๐Ÿ’œ

๐Ÿฆ‹ SoSFRotation SoRotateCylindricalDragger::rotation

this field is continuously updated to contain the rotation of the current direction vector of the dragger. ๐ŸŒ€

the application programmer using this dragger in their scene graph should connect the relevant node fields in the scene to this field, to make them follow the dragger orientation. that's the whole point, bestie โ€” wire it up and watch everything follow along. slay. โœจ

๐Ÿฆ‹ SoFieldSensor* SoRotateCylindricalDragger::fieldSensor [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

๐Ÿฆ‹ SbCylinderProjector* SoRotateCylindricalDragger::cylinderProj [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ

๐Ÿฆ‹ SbBool SoRotateCylindricalDragger::userProj [protected]

this API member is considered internal to the library, as it's not likely to be of interest to the application programmer. ๐Ÿ™ˆ


๐ŸŒŸ AUTHOR ๐ŸŒŸ

generated automatically by Doxygen for Coin from the source code. not a human hand-wrote this โ€” the robot did it, and honestly? she ate. ๐Ÿค–๐Ÿ’…


and that's a wrap on our girl SoRotateCylindricalDragger ๐Ÿ’– you made it to the end, bestie, so proud of you. this page is from Coin version 4.0.10, dated Thu Jun 25 2026 00:00 โ€” yeah that's the whole footer, i'm folding it into the outro like a little bow on top. ๐ŸŽ€ go rotate something cute. mwah. ๐Ÿซถโœจ

๐Ÿ“ฆ where this page comes from