1 #ifndef COIN_SODRAGGER_H 
    2 #define COIN_SODRAGGER_H 
   27 #include <Inventor/nodekits/SoInteractionKit.h> 
   28 #include <Inventor/tools/SbPimplPtr.h> 
   29 #include <Inventor/fields/SoSFBool.h> 
   30 #include <Inventor/lists/SoCallbackList.h> 
   31 #include <Inventor/SbMatrix.h> 
   32 #include <Inventor/SbVec3f.h> 
   33 #include <Inventor/SbVec2s.h> 
   34 #include <Inventor/SbViewVolume.h> 
   35 #include <Inventor/SbViewportRegion.h> 
   38 #include <Inventor/nodes/SoScale.h> 
   39 #endif // !COIN_INTERNAL 
   59   SO_KIT_CATALOG_ENTRY_HEADER(motionMatrix);
 
   75   void setProjectorEpsilon(
const float epsilon);
 
   76   float getProjectorEpsilon(
void) 
const;
 
   78   void addStartCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   79   void removeStartCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   80   void addMotionCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   81   void removeMotionCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   82   void addFinishCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   83   void removeFinishCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   84   void addValueChangedCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   85   void removeValueChangedCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   86   void setMinGesture(
int pixels);
 
   87   int getMinGesture(
void) 
const;
 
   88   SbBool enableValueChangedCallbacks(SbBool newval);
 
   89   const SbMatrix & getMotionMatrix(
void);
 
   90   void addOtherEventCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   91   void removeOtherEventCallback(
SoDraggerCB * func, 
void * data = NULL);
 
   92   void registerChildDragger(
SoDragger * child);
 
   93   void unregisterChildDragger(
SoDragger * child);
 
   94   void registerChildDraggerMovingIndependently(
SoDragger * child);
 
   95   void unregisterChildDraggerMovingIndependently(
SoDragger * child);
 
   96   SbMatrix getLocalToWorldMatrix(
void);
 
   97   SbMatrix getWorldToLocalMatrix(
void);
 
   98   SbVec3f getLocalStartingPoint(
void);
 
   99   SbVec3f getWorldStartingPoint(
void);
 
  100   void getPartToLocalMatrix(
const SbName & partname, 
SbMatrix & parttolocalmatrix, 
SbMatrix & localtopartmatrix);
 
  101   void transformMatrixLocalToWorld(
const SbMatrix & frommatrix, 
SbMatrix & tomatrix);
 
  102   void transformMatrixWorldToLocal(
const SbMatrix & frommatrix, 
SbMatrix & tomatrix);
 
  103   void transformMatrixToLocalSpace(
const SbMatrix & frommatrix, 
SbMatrix & tomatrix, 
const SbName & fromspacepartname);
 
  104   virtual void setMotionMatrix(
const SbMatrix & newmatrix);
 
  105   void valueChanged(
void);
 
  106   const SbMatrix & getStartMotionMatrix(
void);
 
  107   virtual void saveStartParameters(
void);
 
  108   const SoPath * getPickPath(
void) 
const;
 
  109   const SoEvent * getEvent(
void) 
const;
 
  110   SoPath * createPathToThis(
void);
 
  111   const SoPath * getSurrogatePartPickedOwner(
void) 
const;
 
  112   const SbName & getSurrogatePartPickedName(
void) 
const;
 
  113   const SoPath * getSurrogatePartPickedPath(
void) 
const;
 
  115   void setStartingPoint(
const SbVec3f & newpoint);
 
  122   void setTempPathToThis(
const SoPath * somethingclose);
 
  125   void workFieldsIntoTransform(
SbMatrix & mtx);
 
  126   void setFrontOnProjector(ProjectorFrontSetting newval);
 
  127   ProjectorFrontSetting getFrontOnProjector(
void) 
const;
 
  129   static void setMinScale(
float newminscale);
 
  130   static float getMinScale(
void);
 
  137   static void initClass(
void);
 
  144   SbVec2f getNormalizedLocaterPosition(
void);
 
  145   SbVec2s getLocaterPosition(
void);
 
  146   SbVec2s getStartLocaterPosition(
void) 
const;
 
  147   void setStartLocaterPosition(
SbVec2s p);
 
  148   SbBool isAdequateConstraintMotion(
void);
 
  149   virtual SbBool shouldGrabBasedOnSurrogate(
const SoPath * pickpath, 
const SoPath * surrogatepath);
 
  150   void setCameraInfo(
SoAction * action);
 
  153   void setIgnoreInBbox(SbBool newval);
 
  154   SbBool isIgnoreInBbox(
void);
 
  156   void setActiveChildDragger(
SoDragger * newchilddragger);
 
  157   SoDragger * getActiveChildDragger(
void) 
const;
 
  160   static void childTransferMotionAndValueChangedCB(
void *, 
SoDragger *);
 
  161   static void childValueChangedCB(
void *, 
SoDragger *);
 
  162   static void childStartCB(
void *, 
SoDragger *);
 
  163   static void childMotionCB(
void *, 
SoDragger *);
 
  164   static void childFinishCB(
void *, 
SoDragger *);
 
  165   static void childOtherEventCB(
void *, 
SoDragger *);
 
  170   void updateDraggerCache(
const SoPath * path);
 
  173   void updateElements(
class SoState * state);
 
  174   SbBool isPicked(
SoPath * path);
 
  176   static float minscale;
 
  179   SbPimplPtr<SoDraggerP> pimpl;
 
  186 #endif // !COIN_SODRAGGER_H 
The SbVec2f class is a 2 dimensional vector with floating point coordinates.This vector class is used...
Definition: SbVec2f.h:39
virtual void search(SoSearchAction *action)
Definition: SoBaseKit.cpp:1089
SoSFBool isActive
Definition: SoDragger.h:62
The SoRayPickAction class does ray intersection with scene graphs.For interaction with the scene grap...
Definition: SoRayPickAction.h:41
The SoGetMatrixAction class is an action for accumulating the transformation matrix of a subgraph...
Definition: SoGetMatrixAction.h:37
The SoSearchAction class provides methods for searching through scene graphs.Nodes can be searched fo...
Definition: SoSearchAction.h:35
virtual void handleEvent(SoHandleEventAction *action)
Definition: SoBaseKit.cpp:1065
static void initClasses(void)
Definition: SoNode.cpp:533
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoBaseKit.cpp:1381
The SoState class manages the Coin scenegraph traversal state data.The SoState class is used by actio...
Definition: SoState.h:35
The SoInteractionKit class is a base class for draggers.This nodekit class makes it possible to set s...
Definition: SoInteractionKit.h:41
void SoDraggerCB(void *data, SoDragger *dragger)
Definition: SoDragger.h:53
The SoSFBool class is a container for an SbBool value.This field is used where nodes, engines or other field containers needs to store a boolean on/off or TRUE/FALSE value, like for instance as the "on" field of the SoPointLight, SoSpotLight and SoDirectionalLight node classes. 
Definition: SoSFBool.h:30
The SoPath class is a container class for traversal path descriptions.SoPath objects contain a list o...
Definition: SoPath.h:43
virtual void getMatrix(SoGetMatrixAction *action)
Definition: SoBaseKit.cpp:1043
The SoDragger class is the base class for all draggers.Draggers is a mechanism used for letting the e...
Definition: SoDragger.h:55
The SbRotation class represents a rotation in 3D space.SbRotation is used extensively throughout the ...
Definition: SbRotation.h:33
virtual void GLRender(SoGLRenderAction *action)
Definition: SoBaseKit.cpp:1013
The SoAction class is the base class for all traversal actions.Applying actions is the basic mechanis...
Definition: SoAction.h:68
The SbVec3f class is a 3 dimensional vector with floating point coordinates.This vector class is used...
Definition: SbVec3f.h:40
The SbMatrix class is a 4x4 dimensional representation of a matrix.SbMatrix is used by many other cla...
Definition: SbMatrix.h:37
The SoHandleEventAction class distributes user events to the scene.This is the action used by the GUI...
Definition: SoHandleEventAction.h:37
ProjectorFrontSetting
Definition: SoDragger.h:64
The SoGetPrimitiveCountAction class counts the primitives in a scene.Apply this action to a scene if ...
Definition: SoGetPrimitiveCountAction.h:34
The SoGetBoundingBoxAction class calculates bounding boxes for nodes and subgraphs.If this action is applied to a path or scene graph root, it will calculate the bounding box and the center point of the geometry contained within the scene. 
Definition: SoGetBoundingBoxAction.h:36
The SbViewVolume class is a viewing volume in 3D space.This class contains the necessary information ...
Definition: SbViewVolume.h:41
The SoPickedPoint class is used for specifying picked points.It holds miscellaneous information about...
Definition: SoPickedPoint.h:39
The SoCallbackAction class invokes callbacks at specific nodes.This action has mechanisms for trackin...
Definition: SoCallbackAction.h:71
The SoWriteAction class writes a scene graph to file.When applied to a scene, this action writes its ...
Definition: SoWriteAction.h:33
The SoEvent class is the base class for all Coin events.Coin contains its own set of event classes...
Definition: SoEvent.h:34
virtual void callback(SoCallbackAction *action)
Definition: SoBaseKit.cpp:1006
virtual void grabEventsSetup(void)
Definition: SoNode.cpp:1303
virtual void grabEventsCleanup(void)
Definition: SoNode.cpp:1312
The SbViewportRegion class is a viewport within a full window.The SbViewportRegion class contains inf...
Definition: SbViewportRegion.h:31
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoBaseKit.cpp:1020
virtual void write(SoWriteAction *action)
Definition: SoBaseKit.cpp:1121
virtual void rayPick(SoRayPickAction *action)
Definition: SoBaseKit.cpp:1072
virtual void setDefaultOnNonWritingFields()
Definition: SoInteractionKit.cpp:704
The SbVec2s class is a 2 dimensional vector with short integer coordinates.This vector class is used ...
Definition: SbVec2s.h:41
The SbName class stores strings by reference.The class is used by Coin for storing keywords...
Definition: SbName.h:31
The SoGLRenderAction class renders the scene graph with OpenGL calls.Applying this method at a root n...
Definition: SoGLRenderAction.h:41