SoRotateDiscDragger - Online Linux Manual PageSection : 3
Updated : Mon Jan 25 2021
Source : Version 2.5.0
Note : Coin

NAMESoRotateDiscDragger − The SoRotateDiscDragger class is for rotating geometry around a single axis​.

SYNOPSIS
#include <Inventor/draggers/SoRotateDiscDragger​.h> Inherits SoDragger​.

Public Member Functionsvirtual SoType getTypeId (void) const
virtual const SoNodekitCatalog * getNodekitCatalog (void) const
SoRotateDiscDragger (void)

Static Public Member Functionsstatic SoType getClassTypeId (void)
static const SoNodekitCatalog * getClassNodekitCatalog (void)
static void initClass (void)

Public AttributesSoSFRotation rotation

Protected Member Functionsvirtual const SoFieldData * getFieldData (void) const
~SoRotateDiscDragger ()
virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways=0)
void dragStart (void)
void drag (void)
void dragFinish (void)

Static Protected Member Functionsstatic const SoFieldData ** getFieldDataPtr (void)
static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void)
static void startCB (void *f, SoDragger *d)
static void motionCB (void *f, SoDragger *d)
static void doneCB (void *f, SoDragger *d)
static void fieldSensorCB (void *f, SoSensor *s)
static void valueChangedCB (void *f, SoDragger *d)

Protected AttributesSoSFNode feedback
SoSFNode feedbackActive
SoSFNode feedbackSwitch
SoSFNode rotator
SoSFNode rotatorActive
SoSFNode rotatorSwitch
SoFieldSensor * fieldSensor
SbPlaneProjector * planeProj

Additional Inherited Members

Detailed DescriptionThe SoRotateDiscDragger class is for rotating geometry around a single axis​. Here's how the dragger looks with its default geometry in the inactive state: Use an instance of this dragger class in your scenegraph to let the end-users of your application rotate geometry around a pre-defined axis vector in 3D​. The special feature of this dragger that sets it apart from the other draggers that provides rotation around an axis (like the SoRotateCylindricalDragger) is that it provides a convenient interface to rotate around an axis that is pointing in approximately the same direction as the camera​. This is useful for interacting with for instance something like a 'volume' knob​. For the dragger orientation and positioning itself, use some kind of transformation node in your scenegraph, as usual​.

Constructor & Destructor Documentation

SoRotateDiscDragger::SoRotateDiscDragger (void)Default constructor, sets up the dragger nodekit catalog with the interaction and feedback geometry​. Node kit structure (new entries versus parent class marked with arrow prefix): CLASS SoRotateDiscDragger -->"this" "callbackList" "topSeparator" "motionMatrix" "geomSeparator" --> "rotatorSwitch" --> "rotator" --> "rotatorActive" --> "feedbackSwitch" --> "feedback" --> "feedbackActive"(See SoBaseKit::printDiagram() for information about the output formatting​.) Detailed information on catalog parts: CLASS SoRotateDiscDragger PVT "this", SoRotateDiscDragger --- "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 information about the output formatting​.) References SoDragger::addFinishCallback(), SoDragger::addMotionCallback(), SoDragger::addStartCallback(), SoDragger::addValueChangedCallback(), doneCB(), fieldSensor, fieldSensorCB(), motionCB(), planeProj, SoInteractionKit::readDefaultParts(), rotation, SoInteractionKit::setPartAsDefault(), SoDelayQueueSensor::setPriority(), SoInteractionKit::setSwitchValue(), setUpConnections(), startCB(), and valueChangedCB()​.

SoRotateDiscDragger::~SoRotateDiscDragger () [protected]Protected destructor​. (Dragger classes are derived from SoBase, so they are reference counted and automatically destroyed when their reference count goes to 0​.) References fieldSensor, and planeProj​.

Member Function Documentation

SoType SoRotateDiscDragger::getTypeId (void) const [virtual]Returns the type identification of an object derived from a class inheriting SoBase​. This is used for run-time type checking and 'downward' casting​. Usage example: void foo(SoNode * node) { if (node->getTypeId() == SoFile::getClassTypeId()) { SoFile * filenode = (SoFile *)node; // safe downward cast, knows the type } else if (node->getTypeId()​.isOfType(SoGroup::getClassTypeId())) { SoGroup * group = (SoGroup *)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​. For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups​. Reimplemented from SoDragger​.

const SoFieldData * SoRotateDiscDragger::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​. Reimplemented from SoDragger​.

const SoNodekitCatalog * SoRotateDiscDragger::getNodekitCatalog (void) const [virtual]Returns the nodekit catalog which defines the layout of this class' kit​. Reimplemented from SoDragger​.

SbBool SoRotateDiscDragger::setUpConnections (SbBool onoff, SbBool doitalways = 0) [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 want to extend the library with new custom nodekits or dragger classes​. If so, see the SoBaseKit class documentation​.) Reimplemented from SoInteractionKit​. References SoFieldSensor::attach(), SoBaseKit::connectionsSetUp, SoFieldSensor::detach(), fieldSensor, fieldSensorCB(), SoFieldSensor::getAttachedField(), rotation, and SoInteractionKit::setUpConnections()​. Referenced by SoRotateDiscDragger()​.

void SoRotateDiscDragger::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​.

References dragStart()​. Referenced by SoRotateDiscDragger()​.

void SoRotateDiscDragger::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​.

References drag()​. Referenced by SoRotateDiscDragger()​.

void SoRotateDiscDragger::doneCB (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​.

References dragFinish()​. Referenced by SoRotateDiscDragger()​.

void SoRotateDiscDragger::fieldSensorCB (void * d, 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​.

References SoDragger::getMotionMatrix(), SbMatrix::getTransform(), rotation, SoDragger::setMotionMatrix(), and SbMatrix::setTransform()​. Referenced by setUpConnections(), and SoRotateDiscDragger()​.

void SoRotateDiscDragger::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​.

References SoFieldSensor::attach(), SoFieldSensor::detach(), fieldSensor, SoDragger::getMotionMatrix(), SbMatrix::getTransform(), and rotation​. Referenced by SoRotateDiscDragger()​.

void SoRotateDiscDragger::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​.
References SoDragger::getLocalStartingPoint(), planeProj, SbPlaneProjector::setPlane(), and SoInteractionKit::setSwitchValue()​. Referenced by startCB()​.

void SoRotateDiscDragger::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​.
References SoDragger::appendRotation(), SbVec3f::cross(), SbVec3f::dot(), SoDragger::getLocalStartingPoint(), SoDragger::getLocalToWorldMatrix(), SoDragger::getNormalizedLocaterPosition(), SoDragger::getStartMotionMatrix(), SoDragger::getViewVolume(), SbPlane::intersect(), SbVec3f::normalize(), planeProj, SbPlaneProjector::project(), SoDragger::setMotionMatrix(), SbProjector::setViewVolume(), and SbProjector::setWorkingSpace()​. Referenced by motionCB()​.

void SoRotateDiscDragger::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​.
References SoInteractionKit::setSwitchValue()​. Referenced by doneCB()​.

Member Data Documentation

SoSFRotation SoRotateDiscDragger::rotationThis field is continuously updated to contain the rotation of the current direction vector of the dragger​. The application programmer using this dragger in his scenegraph should connect the relevant node fields in the scene to this field to make them follow the dragger orientation​. Referenced by fieldSensorCB(), setUpConnections(), SoRotateDiscDragger(), and valueChangedCB()​.

SoFieldSensor * SoRotateDiscDragger::fieldSensor [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.

Referenced by setUpConnections(), SoRotateDiscDragger(), valueChangedCB(), and ~SoRotateDiscDragger()​.

SbPlaneProjector * SoRotateDiscDragger::planeProj [protected]This API member is considered internal to the library, as it is not likely to be of interest to the application programmer​.

Referenced by drag(), dragStart(), SoRotateDiscDragger(), and ~SoRotateDiscDragger()​.

AuthorGenerated automatically by Doxygen for Coin from the source code​.
0
Johanes Gumabo
Data Size   :   47,658 byte
man-SoRotateDiscDragger.3coin2Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 202,965
Visitor ID   :     :  
Visitor IP   :   18.118.93.61   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.