1 #ifndef COIN_SOROTATESPHERICALDRAGGER_H
2 #define COIN_SOROTATESPHERICALDRAGGER_H
27 #include <Inventor/draggers/SoDragger.h>
28 #include <Inventor/fields/SoSFRotation.h>
29 #include <Inventor/SbMatrix.h>
30 #include <Inventor/SbVec3f.h>
42 SO_KIT_CATALOG_ENTRY_HEADER(feedback);
43 SO_KIT_CATALOG_ENTRY_HEADER(feedbackActive);
44 SO_KIT_CATALOG_ENTRY_HEADER(feedbackSwitch);
45 SO_KIT_CATALOG_ENTRY_HEADER(rotator);
46 SO_KIT_CATALOG_ENTRY_HEADER(rotatorActive);
47 SO_KIT_CATALOG_ENTRY_HEADER(rotatorSwitch);
64 SbBool copyconnections);
66 static void startCB(
void * f,
SoDragger * d);
67 static void motionCB(
void * f,
SoDragger * d);
68 static void doneCB(
void * f,
SoDragger * d);
70 static void valueChangedCB(
void * f,
SoDragger * d);
74 void dragFinish(
void);
83 #endif // !COIN_SOROTATESPHERICALDRAGGER_H
The SbRotation class represents a rotation in 3D space.
Definition: SbRotation.h:33
virtual void copyContents(const SoFieldContainer *fromFC, SbBool copyConnections)
Definition: SoInteractionKit.cpp:370
~SoRotateSphericalDragger()
Definition: SoRotateSphericalDragger.cpp:196
virtual void setWorkingSpace(const SbMatrix &space)
Definition: SbSphereProjector.cpp:220
SbVec3f getLocalStartingPoint(void)
Definition: SoDragger.cpp:805
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition: SbMatrix.h:37
The SoSFRotation class is a container for an SbRotation.
Definition: SoSFRotation.h:31
static void fieldSensorCB(void *f, SoSensor *s)
Definition: SoRotateSphericalDragger.cpp:231
The SbSphereProjector class is the abstract base class for mapping to spherical surfaces.
Definition: SbSphereProjector.h:31
The SoSensor class is the abstract base class for all sensors.
Definition: SoSensor.h:34
SbBool isPointInFront(const SbVec3f &point) const
Definition: SbSphereProjector.cpp:182
ProjectorFrontSetting getFrontOnProjector(void) const
Definition: SoDragger.cpp:1165
virtual SbProjector * copy(void) const =0
void setTransform(const SbVec3f &t, const SbRotation &r, const SbVec3f &s)
Definition: SbMatrix.cpp:812
void multVecMatrix(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1357
The SoRotateSphericalDragger class is for rotating geometry in any direction.
Definition: SoRotateSphericalDragger.h:37
SoField * getAttachedField(void) const
Definition: SoFieldSensor.cpp:107
void setFront(const SbBool infront)
Definition: SbSphereProjector.cpp:161
virtual void copyContents(const SoFieldContainer *fromfc, SbBool copyconnections)
Definition: SoRotateSphericalDragger.cpp:289
The SoSwitch class is a group node which selects one child subgraph for traversal.
Definition: SoSwitch.h:37
static void setSwitchValue(SoNode *node, const int newVal)
Definition: SoInteractionKit.cpp:358
SoSFRotation rotation
Definition: SoRotateSphericalDragger.h:54
void setPriority(uint32_t pri)
Definition: SoDelayQueueSensor.cpp:108
virtual SbVec3f project(const SbVec2f &point)=0
The SoDragger class is the base class for all draggers.
Definition: SoDragger.h:53
static void readDefaultParts(const char *fileName, const char defaultBuffer[], int defBufSize)
Definition: SoInteractionKit.cpp:433
@ FRONT
Definition: SoDragger.h:63
void addFinishCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:611
void detach(void)
Definition: SoFieldSensor.cpp:92
The SbSpherePlaneProjector class projects 2D points to a half-sphere and a plane.
Definition: SbSpherePlaneProjector.h:29
virtual SbBool setUpConnections(SbBool onoff, SbBool doitalways=0)
Definition: SoInteractionKit.cpp:648
float length(void) const
Definition: SbVec3f.cpp:356
static SbMatrix appendRotation(const SbMatrix &mtx, const SbRotation &rot, const SbVec3f &rotcenter, const SbMatrix *conversion=NULL)
Definition: SoDragger.cpp:1388
@ USE_PICK
Definition: SoDragger.h:63
const SbViewVolume & getViewVolume(void)
Definition: SoDragger.cpp:1032
void addValueChangedCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:634
void setMotionMatrix(const SbMatrix &newmatrix)
Definition: SoDragger.cpp:905
const SbSphereProjector * getProjector(void) const
Definition: SoRotateSphericalDragger.cpp:282
The SbSphere class is a representation of a sphere.
Definition: SbSphere.h:33
void getTransform(SbVec3f &t, SbRotation &r, SbVec3f &s, SbRotation &so) const
Definition: SbMatrix.cpp:997
virtual void setViewVolume(const SbViewVolume &vol)
Definition: SbProjector.cpp:112
static void startCB(void *f, SoDragger *d)
Definition: SoRotateSphericalDragger.cpp:311
SbMatrix getWorldToLocalMatrix(void)
Definition: SoDragger.cpp:791
void setSphere(const SbSphere &sph)
Definition: SbSphereProjector.cpp:121
The SoFieldContainer class is a base class for all classes that contain fields.
Definition: SoFieldContainer.h:35
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:37
SbBool connectionsSetUp
Definition: SoBaseKit.h:142
void attach(SoField *field)
Definition: SoFieldSensor.cpp:77
const SbMatrix & getMotionMatrix(void)
Definition: SoDragger.cpp:688
The SoFieldSensor class detects changes to a field.
Definition: SoFieldSensor.h:29
The SoInteractionKit class is a base class for draggers.
Definition: SoInteractionKit.h:41
virtual SbBool setUpConnections(SbBool onoff, SbBool doitalways=0)
Definition: SoRotateSphericalDragger.cpp:204
SbMatrix prevMotionMatrix
Definition: SoRotateSphericalDragger.h:77
The SoSeparator class is a state-preserving group node.
Definition: SoSeparator.h:34
SbVec2f getNormalizedLocaterPosition(void)
Definition: SoDragger.cpp:1408
SoRotateSphericalDragger(void)
Definition: SoRotateSphericalDragger.cpp:141
virtual SbRotation getRotation(const SbVec3f &point1, const SbVec3f &point2)=0
SbBool isOfType(SoType type) const
Definition: SoBase.cpp:710
void addStartCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:570
SbBool userProj
Definition: SoRotateSphericalDragger.h:80
void drag(void)
Definition: SoRotateSphericalDragger.cpp:374
void dragStart(void)
Definition: SoRotateSphericalDragger.cpp:337
static void fieldSensorCB(void *, SoSensor *)
Definition: SoInteractionKit.cpp:725
SbSphereProjector * sphereProj
Definition: SoRotateSphericalDragger.h:79
void addMotionCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:591
void dragFinish(void)
Definition: SoRotateSphericalDragger.cpp:396
static void initClass(void)
Definition: SoDragger.cpp:388
void setProjector(SbSphereProjector *p)
Definition: SoRotateSphericalDragger.cpp:268
SoFieldSensor * fieldSensor
Definition: SoRotateSphericalDragger.h:76
static void valueChangedCB(void *f, SoDragger *d)
Definition: SoRotateSphericalDragger.cpp:245
SbVec3f prevWorldHitPt
Definition: SoRotateSphericalDragger.h:78
virtual SbBool setPartAsDefault(const SbName &partname, SoNode *node, SbBool onlyifdefault=1)
Definition: SoInteractionKit.cpp:271
static void doneCB(void *f, SoDragger *d)
Definition: SoRotateSphericalDragger.cpp:327
static void motionCB(void *f, SoDragger *d)
Definition: SoRotateSphericalDragger.cpp:319
@ BACK
Definition: SoDragger.h:63
SbMatrix getLocalToWorldMatrix(void)
Definition: SoDragger.cpp:776
Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.
Generated on Mon Jul 27 2020 for Coin by Doxygen. 1.8.18