SoRotateCylindricalDragger(3)
๐ 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 flavorSoRotateCylindricalDragger (void)โ the constructor, the origin story, the main character entrance ๐void setProjector (SbCylinderProjector *p)โ drop in your projector, pconst 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) 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)virtual void setMotionMatrix (const SbMatrix &newmatrix)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)SbUniqueId 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) constโ ReturnsTRUEif the type of this object is either of the same type or inherited from type.virtual 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)โ class-wide type id, no instance needed ๐ซกstatic const SoNodekitCatalog * getClassNodekitCatalog (void)โ the class-level nodekit catalog pointerstatic 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 ¢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)โ 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 theSoTypefor 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 theSoTypeobject 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 theSoTypeobject 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 fromSoBase, so they're reference counted and get automatically destroyed when their reference count goes to0. 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
- fedora 43: Coin4-devel 4.0.10-1.fc43 ยท BSD-3-Clause AND GPL-3.0-or-later
- fedora 43: Coin4-devel 4.0.10-1.fc43 ยท BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 ยท BSD-3-Clause AND GPL-3.0-or-later
- fedora 44: Coin4-devel 4.0.10-1.fc44 ยท BSD-3-Clause AND GPL-3.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms