Coin Logo http://www.sim.no
http://www.coin3d.org

SoDragger.h
1 #ifndef COIN_SODRAGGER_H
2 #define COIN_SODRAGGER_H
3 
4 /**************************************************************************\
5  *
6  * This file is part of the Coin 3D visualization library.
7  * Copyright (C) 1998-2007 by Systems in Motion. All rights reserved.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License
11  * ("GPL") version 2 as published by the Free Software Foundation.
12  * See the file LICENSE.GPL at the root directory of this source
13  * distribution for additional information about the GNU GPL.
14  *
15  * For using Coin with software that can not be combined with the GNU
16  * GPL, and for taking advantage of the additional benefits of our
17  * support services, please contact Systems in Motion about acquiring
18  * a Coin Professional Edition License.
19  *
20  * See http://www.coin3d.org/ for more information.
21  *
22  * Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23  * http://www.sim.no/ sales@sim.no coin-support@coin3d.org
24  *
25 \**************************************************************************/
26 
27 #include <Inventor/nodekits/SoInteractionKit.h>
28 #include <Inventor/fields/SoSFBool.h>
29 #include <Inventor/lists/SoCallbackList.h>
30 #include <Inventor/SbMatrix.h>
31 #include <Inventor/SbVec3f.h>
32 #include <Inventor/SbVec2s.h>
33 #include <Inventor/SbViewVolume.h>
34 #include <Inventor/SbViewportRegion.h>
35 #ifndef COIN_INTERNAL
36  // For Open Inventor compatibility.
37  #include <Inventor/nodes/SoScale.h>
38 #endif // COIN_INTERNAL
39 
40 
41 class SbRotation;
42 class SbVec2f;
43 class SbVec2s;
44 class SbViewVolume;
45 class SbViewportRegion;
46 class SoDragger;
47 class SoEvent;
48 class SoPickedPoint;
49 
50 typedef void SoDraggerCB(void * data, SoDragger * dragger);
51 
52 
53 class COIN_DLL_API SoDragger : public SoInteractionKit {
55 
56  SO_KIT_HEADER(SoDragger);
57 
58  SO_KIT_CATALOG_ENTRY_HEADER(motionMatrix);
59 
60 public:
62 
63  enum ProjectorFrontSetting { FRONT, BACK, USE_PICK };
64 
65  // override these in case we decide to do some extra work later
66  virtual void callback(SoCallbackAction * action);
67  virtual void GLRender(SoGLRenderAction * action);
68  virtual void getMatrix(SoGetMatrixAction * action);
69  virtual void rayPick(SoRayPickAction * action);
70  virtual void search(SoSearchAction * action);
71  virtual void write(SoWriteAction * action);
72  virtual void getPrimitiveCount(SoGetPrimitiveCountAction * action);
73 
74  void addStartCallback(SoDraggerCB * func, void * data = NULL);
75  void removeStartCallback(SoDraggerCB * func, void * data = NULL);
76  void addMotionCallback(SoDraggerCB * func, void * data = NULL);
77  void removeMotionCallback(SoDraggerCB * func, void * data = NULL);
78  void addFinishCallback(SoDraggerCB * func, void * data = NULL);
79  void removeFinishCallback(SoDraggerCB * func, void * data = NULL);
80  void addValueChangedCallback(SoDraggerCB * func, void * data = NULL);
81  void removeValueChangedCallback(SoDraggerCB * func, void * data = NULL);
82  void setMinGesture(int pixels);
83  int getMinGesture(void) const;
84  SbBool enableValueChangedCallbacks(SbBool newval);
85  const SbMatrix & getMotionMatrix(void);
86  void addOtherEventCallback(SoDraggerCB * func, void * data = NULL);
87  void removeOtherEventCallback(SoDraggerCB * func, void * data = NULL);
88  void registerChildDragger(SoDragger * child);
89  void unregisterChildDragger(SoDragger * child);
90  void registerChildDraggerMovingIndependently(SoDragger * child);
91  void unregisterChildDraggerMovingIndependently(SoDragger * child);
92  SbMatrix getLocalToWorldMatrix(void);
93  SbMatrix getWorldToLocalMatrix(void);
94  SbVec3f getLocalStartingPoint(void);
95  SbVec3f getWorldStartingPoint(void);
96  void getPartToLocalMatrix(const SbName & partname, SbMatrix & parttolocalmatrix, SbMatrix & localtopartmatrix);
97  void transformMatrixLocalToWorld(const SbMatrix & frommatrix, SbMatrix & tomatrix);
98  void transformMatrixWorldToLocal(const SbMatrix & frommatrix, SbMatrix & tomatrix);
99  void transformMatrixToLocalSpace(const SbMatrix & frommatrix, SbMatrix & tomatrix, const SbName & fromspacepartname);
100  void setMotionMatrix(const SbMatrix & newmatrix);
101  void valueChanged(void);
102  const SbMatrix & getStartMotionMatrix(void);
103  virtual void saveStartParameters(void);
104  const SoPath * getPickPath(void) const;
105  const SoEvent * getEvent(void) const;
106  SoPath * createPathToThis(void);
107  const SoPath * getSurrogatePartPickedOwner(void) const;
108  const SbName & getSurrogatePartPickedName(void) const;
109  const SoPath * getSurrogatePartPickedPath(void) const;
110  void setStartingPoint(const SoPickedPoint * newpoint);
111  void setStartingPoint(const SbVec3f & newpoint);
112  const SbViewVolume & getViewVolume(void);
113  void setViewVolume(const SbViewVolume & vol);
114  const SbViewportRegion & getViewportRegion(void);
115  void setViewportRegion(const SbViewportRegion & reg);
116  SoHandleEventAction * getHandleEventAction(void) const;
117  void setHandleEventAction(SoHandleEventAction * newAction);
118  void setTempPathToThis(const SoPath * somethingclose);
119  virtual void grabEventsSetup(void);
120  virtual void grabEventsCleanup(void);
121  void workFieldsIntoTransform(SbMatrix & mtx);
122  void setFrontOnProjector(ProjectorFrontSetting newval);
123  ProjectorFrontSetting getFrontOnProjector(void) const;
124 
125  static void setMinScale(float newminscale);
126  static float getMinScale(void);
127  static void workValuesIntoTransform(SbMatrix & mtx, const SbVec3f * translationptr, const SbRotation * rotationptr, const SbVec3f * scalefactorptr, const SbRotation * scaleorientationptr, const SbVec3f * centerptr);
128  static void getTransformFast(SbMatrix & mtx, SbVec3f & translation, SbRotation & rotation, SbVec3f & scalefactor, SbRotation & scaleorientation, const SbVec3f & center);
129  static void getTransformFast(SbMatrix & mtx, SbVec3f & translation, SbRotation & rotation, SbVec3f & scalefactor, SbRotation & scaleorientation);
130  static SbMatrix appendTranslation(const SbMatrix & mtx, const SbVec3f & translation, const SbMatrix * conversion = NULL);
131  static SbMatrix appendScale(const SbMatrix & mtx, const SbVec3f & scale, const SbVec3f & scalecenter, const SbMatrix * conversion = NULL);
132  static SbMatrix appendRotation(const SbMatrix & mtx, const SbRotation & rot, const SbVec3f & rotcenter, const SbMatrix * conversion = NULL);
133  static void initClass(void);
134  static void initClasses(void);
135 
136 protected:
137  SoDragger(void);
138  virtual ~SoDragger();
139 
140  SbVec2f getNormalizedLocaterPosition(void);
141  SbVec2s getLocaterPosition(void);
142  SbVec2s getStartLocaterPosition(void) const;
143  void setStartLocaterPosition(SbVec2s p);
144  SbBool isAdequateConstraintMotion(void);
145  virtual SbBool shouldGrabBasedOnSurrogate(const SoPath * pickpath, const SoPath * surrogatepath);
146  void setCameraInfo(SoAction * action);
147  virtual void handleEvent(SoHandleEventAction * ha);
148  void transferMotion(SoDragger * child);
149  void setIgnoreInBbox(SbBool newval);
150  SbBool isIgnoreInBbox(void);
151  virtual void getBoundingBox(SoGetBoundingBoxAction * action);
152  void setActiveChildDragger(SoDragger * newchilddragger);
153  SoDragger * getActiveChildDragger(void) const;
154  virtual void setDefaultOnNonWritingFields(void);
155 
156  static void childTransferMotionAndValueChangedCB(void *, SoDragger *);
157  static void childValueChangedCB(void *, SoDragger *);
158  static void childStartCB(void *, SoDragger *);
159  static void childMotionCB(void *, SoDragger *);
160  static void childFinishCB(void *, SoDragger *);
161  static void childOtherEventCB(void *, SoDragger *);
162 
163  // This method is not present in Open Inventor. It was moved from
164  // being a private method to a protected method in Coin to make it
165  // possible to construct draggers which can handle Motion3 events.
166  void updateDraggerCache(const SoPath * path);
167 
168 private:
169  void updateElements(class SoState * state);
170  SbBool isPicked(SoPath * path);
171  void eventHandled(const SoEvent * event, SoHandleEventAction * action);
172  static float minscale;
173 
174  class SoDraggerP * pimpl;
175 };
176 
177 #endif // !COIN_SODRAGGER_H
SoDragger::getMatrix
virtual void getMatrix(SoGetMatrixAction *action)
Definition: SoDragger.cpp:517
SoSFVec3f
The SoSFVec3f class is a container for an SbVec3f vector.
Definition: SoSFVec3f.h:31
SoDragger::SoDragger
SoDragger(void)
Definition: SoDragger.cpp:339
SbRotation
The SbRotation class represents a rotation in 3D space.
Definition: SbRotation.h:33
SoCallbackAction::Response
Response
Definition: SoCallbackAction.h:85
SoDragger::workFieldsIntoTransform
void workFieldsIntoTransform(SbMatrix &mtx)
Definition: SoDragger.cpp:1123
SoHandleEventAction::getGrabber
SoNode * getGrabber(void) const
Definition: SoHandleEventAction.cpp:273
SoState
The SoState class manages the Coin scenegraph traversal state data.
Definition: SoState.h:35
SoDragger::registerChildDragger
void registerChildDragger(SoDragger *child)
Definition: SoDragger.cpp:722
SoDragger::getTransformFast
static void getTransformFast(SbMatrix &mtx, SbVec3f &translation, SbRotation &rotation, SbVec3f &scalefactor, SbRotation &scaleorientation, const SbVec3f &center)
Definition: SoDragger.cpp:1217
SoBaseKit::GLRender
virtual void GLRender(SoGLRenderAction *action)
Definition: SoBaseKit.cpp:1007
SoFieldContainer::getField
virtual SoField * getField(const SbName &name) const
Definition: SoFieldContainer.cpp:364
SoDragger::appendTranslation
static SbMatrix appendTranslation(const SbMatrix &mtx, const SbVec3f &translation, const SbMatrix *conversion=NULL)
Definition: SoDragger.cpp:1252
SbName
The SbName class stores strings by reference.
Definition: SbName.h:31
SbVec2f
The SbVec2f class is a 2 dimensional vector with floating point coordinates.
Definition: SbVec2f.h:36
SoAction::apply
virtual void apply(SoNode *root)
Definition: SoAction.cpp:476
SoDragger::childMotionCB
static void childMotionCB(void *, SoDragger *)
Definition: SoDragger.cpp:1806
SoDragger::write
virtual void write(SoWriteAction *action)
Definition: SoDragger.cpp:547
SbRotation::identity
static SbRotation identity(void)
Definition: SbRotation.cpp:674
SoDragger::getBoundingBox
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoDragger.cpp:1715
SoDragger::getLocalStartingPoint
SbVec3f getLocalStartingPoint(void)
Definition: SoDragger.cpp:805
SoState::pop
void pop(void)
Definition: SoState.cpp:284
SbMatrix
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition: SbMatrix.h:37
SoSFRotation
The SoSFRotation class is a container for an SbRotation.
Definition: SoSFRotation.h:31
SoDragger::updateDraggerCache
void updateDraggerCache(const SoPath *path)
Definition: SoDragger.cpp:1869
SoDragger::createPathToThis
SoPath * createPathToThis(void)
Definition: SoDragger.cpp:972
SoNode::initClasses
static void initClasses(void)
Definition: SoNode.cpp:519
SbMatrix::setRotate
void setRotate(const SbRotation &q)
Definition: SbMatrix.cpp:314
SoWriteAction
The SoWriteAction class writes a scene graph to file.
Definition: SoWriteAction.h:31
SoDragger::shouldGrabBasedOnSurrogate
virtual SbBool shouldGrabBasedOnSurrogate(const SoPath *pickpath, const SoPath *surrogatepath)
Definition: SoDragger.cpp:1483
SoNode::grabEventsSetup
virtual void grabEventsSetup(void)
Definition: SoNode.cpp:1275
SoDragger::setMinScale
static void setMinScale(float newminscale)
Definition: SoDragger.cpp:1175
SoDragger::isAdequateConstraintMotion
SbBool isAdequateConstraintMotion(void)
Definition: SoDragger.cpp:1462
SoDragger::getLocaterPosition
SbVec2s getLocaterPosition(void)
Definition: SoDragger.cpp:1424
SoSFBool
The SoSFBool class is a container for an SbBool value.
Definition: SoSFBool.h:30
SoDragger::removeMotionCallback
void removeMotionCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:602
SoDragger::getFrontOnProjector
ProjectorFrontSetting getFrontOnProjector(void) const
Definition: SoDragger.cpp:1165
SbMatrix::setTransform
void setTransform(const SbVec3f &t, const SbRotation &r, const SbVec3f &s)
Definition: SbMatrix.cpp:812
SoDragger::getActiveChildDragger
SoDragger * getActiveChildDragger(void) const
Definition: SoDragger.cpp:1734
SoDragger::getEvent
const SoEvent * getEvent(void) const
Definition: SoDragger.cpp:962
SbMatrix::multVecMatrix
void multVecMatrix(const SbVec3f &src, SbVec3f &dst) const
Definition: SbMatrix.cpp:1357
SoNode::rayPickS
static void rayPickS(SoAction *action, SoNode *node)
Definition: SoNode.cpp:1067
SoState::push
void push(void)
Definition: SoState.cpp:265
SoBaseKit::handleEvent
virtual void handleEvent(SoHandleEventAction *action)
Definition: SoBaseKit.cpp:1059
SoGetMatrixAction::getInverse
SbMatrix & getInverse(void)
Definition: SoGetMatrixAction.cpp:160
SoDragger::transformMatrixToLocalSpace
void transformMatrixToLocalSpace(const SbMatrix &frommatrix, SbMatrix &tomatrix, const SbName &fromspacepartname)
Definition: SoDragger.cpp:889
SoMatrixTransform::matrix
SoSFMatrix matrix
Definition: SoMatrixTransform.h:40
SoDragger::addOtherEventCallback
void addOtherEventCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:702
SbMatrix::inverse
SbMatrix inverse(void) const
Definition: SbMatrix.cpp:418
SoSearchAction
The SoSearchAction class provides methods for searching through scene graphs.
Definition: SoSearchAction.h:32
SoAction::getCurPath
const SoPath * getCurPath(void)
Definition: SoAction.cpp:1044
SbMatrix::multLeft
SbMatrix & multLeft(const SbMatrix &m)
Definition: SbMatrix.cpp:1280
SoAction
The SoAction class is the base class for all traversal actions.
Definition: SoAction.h:67
SoFullPath
The SoFullPath class allows examination of hidden children in paths.
Definition: SoFullPath.h:29
SoDragger::getSurrogatePartPickedOwner
const SoPath * getSurrogatePartPickedOwner(void) const
Definition: SoDragger.cpp:985
SbMatrix::setScale
void setScale(const float s)
Definition: SbMatrix.cpp:760
SoDragger::setCameraInfo
void setCameraInfo(SoAction *action)
Definition: SoDragger.cpp:1526
SoDragger::GLRender
virtual void GLRender(SoGLRenderAction *action)
Definition: SoDragger.cpp:505
SoDragger::removeFinishCallback
void removeFinishCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:622
SoDragger::workValuesIntoTransform
static void workValuesIntoTransform(SbMatrix &mtx, const SbVec3f *translationptr, const SbRotation *rotationptr, const SbVec3f *scalefactorptr, const SbRotation *scaleorientationptr, const SbVec3f *centerptr)
Definition: SoDragger.cpp:1196
SbMatrix::multRight
SbMatrix & multRight(const SbMatrix &m)
Definition: SbMatrix.cpp:1240
SoDragger
The SoDragger class is the base class for all draggers.
Definition: SoDragger.h:53
SoFullPath::getTail
SoNode * getTail(void) const
Definition: SoFullPath.cpp:74
SoDragger::ProjectorFrontSetting
ProjectorFrontSetting
Definition: SoDragger.h:63
SoNode::grabEventsCleanup
virtual void grabEventsCleanup(void)
Definition: SoNode.cpp:1284
SoDragger::callback
virtual void callback(SoCallbackAction *action)
Definition: SoDragger.cpp:494
SoPath::containsPath
SbBool containsPath(const SoPath *const path) const
Definition: SoPath.cpp:611
SoDragger::addFinishCallback
void addFinishCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:611
SoLineWidthElement::set
static void set(SoState *const state, SoNode *const node, const float lineWidth)
Definition: SoLineWidthElement.cpp:70
SoBaseKit::getBoundingBox
virtual void getBoundingBox(SoGetBoundingBoxAction *action)
Definition: SoBaseKit.cpp:1014
SoDragger::childTransferMotionAndValueChangedCB
static void childTransferMotionAndValueChangedCB(void *, SoDragger *)
Definition: SoDragger.cpp:1772
SoDragger::appendRotation
static SbMatrix appendRotation(const SbMatrix &mtx, const SbRotation &rot, const SbVec3f &rotcenter, const SbMatrix *conversion=NULL)
Definition: SoDragger.cpp:1388
SoDragger::getMinScale
static float getMinScale(void)
Definition: SoDragger.cpp:1185
SoCallbackList
The SoCallbackList is a container for callback function pointers.
Definition: SoCallbackList.h:35
SoInteractionKit::isPathSurrogateInMySubgraph
SbBool isPathSurrogateInMySubgraph(const SoPath *path, SoPath *&pathToOwner, SbName &surrogatename, SoPath *&surrogatepath, SbBool fillargs=1)
Definition: SoInteractionKit.cpp:300
SoBaseKit::getPrimitiveCount
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoBaseKit.cpp:1375
SoDragger::childStartCB
static void childStartCB(void *, SoDragger *)
Definition: SoDragger.cpp:1794
SoDragger::USE_PICK
@ USE_PICK
Definition: SoDragger.h:63
SoHandleEventAction::setHandled
void setHandled(void)
Definition: SoHandleEventAction.cpp:211
SoBase::unref
void unref(void) const
Definition: SoBase.cpp:627
SoDragger::removeValueChangedCallback
void removeValueChangedCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:645
SbVec2s
The SbVec2s class is a 2 dimensional vector with short integer coordinates.
Definition: SbVec2s.h:37
SoDragger::childFinishCB
static void childFinishCB(void *, SoDragger *)
Definition: SoDragger.cpp:1816
SoDragger::getViewVolume
const SbViewVolume & getViewVolume(void)
Definition: SoDragger.cpp:1032
SoDragger::addValueChangedCallback
void addValueChangedCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:634
SoDragger::setMotionMatrix
void setMotionMatrix(const SbMatrix &newmatrix)
Definition: SoDragger.cpp:905
SoPath::findNode
int findNode(const SoNode *const node) const
Definition: SoPath.cpp:587
SoPath
The SoPath class is a container class for traversal path descriptions.
Definition: SoPath.h:43
SoLineWidthElement::getDefault
static float getDefault()
Definition: SoLineWidthElement.cpp:99
SoHandleEventAction::isHandled
SbBool isHandled(void) const
Definition: SoHandleEventAction.cpp:223
SoField::setDefault
void setDefault(SbBool def)
Definition: SoField.cpp:650
SoGetMatrixAction
The SoGetMatrixAction class is an action for accumulating the transformation matrix of a subgraph.
Definition: SoGetMatrixAction.h:35
SoType
The SoType class is the basis for the run-time type system in Coin.
Definition: SoType.h:50
SoDragger::getPrimitiveCount
virtual void getPrimitiveCount(SoGetPrimitiveCountAction *action)
Definition: SoDragger.cpp:556
SoBaseKit::callback
virtual void callback(SoCallbackAction *action)
Definition: SoBaseKit.cpp:1000
SoDebugError::postInfo
static void postInfo(const char *const source, const char *const format,...)
Definition: SoDebugError.cpp:334
SoDragger::childOtherEventCB
static void childOtherEventCB(void *, SoDragger *)
Definition: SoDragger.cpp:1828
SoGetMatrixAction::getMatrix
SbMatrix & getMatrix(void)
Definition: SoGetMatrixAction.cpp:151
SoDragger::removeStartCallback
void removeStartCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:581
SoDragger::handleEvent
virtual void handleEvent(SoHandleEventAction *ha)
Definition: SoDragger.cpp:1553
SoDragger::setActiveChildDragger
void setActiveChildDragger(SoDragger *newchilddragger)
Definition: SoDragger.cpp:1725
SbMatrix::getTransform
void getTransform(SbVec3f &t, SbRotation &r, SbVec3f &s, SbRotation &so) const
Definition: SbMatrix.cpp:997
SoPickedPoint::getPoint
const SbVec3f & getPoint() const
Definition: SoPickedPoint.cpp:142
SoAction::getState
SoState * getState(void) const
Definition: SoAction.cpp:1028
SoDragger::getWorldToLocalMatrix
SbMatrix getWorldToLocalMatrix(void)
Definition: SoDragger.cpp:791
SoDragger::getMinGesture
int getMinGesture(void) const
Definition: SoDragger.cpp:666
SoDragger::setMinGesture
void setMinGesture(int pixels)
Definition: SoDragger.cpp:655
SoDragger::setFrontOnProjector
void setFrontOnProjector(ProjectorFrontSetting newval)
Definition: SoDragger.cpp:1156
SoDragger::appendScale
static SbMatrix appendScale(const SbMatrix &mtx, const SbVec3f &scale, const SbVec3f &scalecenter, const SbMatrix *conversion=NULL)
Definition: SoDragger.cpp:1271
SoState::isElementEnabled
SbBool isElementEnabled(const int stackindex) const
Definition: SoState.h:70
SoDragger::isActive
SoSFBool isActive
Definition: SoDragger.h:61
SoDragger::saveStartParameters
virtual void saveStartParameters(void)
Definition: SoDragger.cpp:944
SoDragger::enableValueChangedCallbacks
SbBool enableValueChangedCallbacks(SbBool newval)
Definition: SoDragger.cpp:677
SoDragger::removeOtherEventCallback
void removeOtherEventCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:713
SoBase::ref
void ref(void) const
Definition: SoBase.cpp:574
SoBaseKit::createPathToAnyPart
virtual SoNodeKitPath * createPathToAnyPart(const SbName &partname, SbBool makeifneeded, SbBool leafcheck=0, SbBool publiccheck=0, const SoPath *pathtoextend=NULL)
Definition: SoBaseKit.cpp:1814
SoDragger::transformMatrixWorldToLocal
void transformMatrixWorldToLocal(const SbMatrix &frommatrix, SbMatrix &tomatrix)
Definition: SoDragger.cpp:877
SoDragger::isIgnoreInBbox
SbBool isIgnoreInBbox(void)
Definition: SoDragger.cpp:1707
SbVec3f
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:37
SoGetBoundingBoxAction
The SoGetBoundingBoxAction class calculates bounding boxes for nodes and subgraphs.
Definition: SoGetBoundingBoxAction.h:34
SoCallbackAction::CONTINUE
@ CONTINUE
Definition: SoCallbackAction.h:85
SoDragger::transformMatrixLocalToWorld
void transformMatrixLocalToWorld(const SbMatrix &frommatrix, SbMatrix &tomatrix)
Definition: SoDragger.cpp:865
SoDragger::setDefaultOnNonWritingFields
virtual void setDefaultOnNonWritingFields(void)
Definition: SoDragger.cpp:1743
SoBaseKit::rayPick
virtual void rayPick(SoRayPickAction *action)
Definition: SoBaseKit.cpp:1066
SoCallbackAction
The SoCallbackAction class invokes callbacks at specific nodes.
Definition: SoCallbackAction.h:70
SoDragger::getStartLocaterPosition
SbVec2s getStartLocaterPosition(void) const
Definition: SoDragger.cpp:1440
SoDragger::search
virtual void search(SoSearchAction *action)
Definition: SoDragger.cpp:538
SbViewportRegion
The SbViewportRegion class is a viewport within a full window.
Definition: SbViewportRegion.h:31
SoDragger::getSurrogatePartPickedPath
const SoPath * getSurrogatePartPickedPath(void) const
Definition: SoDragger.cpp:1004
SoRayPickAction::addMethod
static void addMethod(const SoType type, SoActionMethod method)
Definition: SoRayPickAction.cpp:225
SoDragger::getMotionMatrix
const SbMatrix & getMotionMatrix(void)
Definition: SoDragger.cpp:688
SoDragger::getPartToLocalMatrix
void getPartToLocalMatrix(const SbName &partname, SbMatrix &parttolocalmatrix, SbMatrix &localtopartmatrix)
Definition: SoDragger.cpp:826
SoPickedPoint
The SoPickedPoint class is used for specifying picked points.
Definition: SoPickedPoint.h:39
SoDragger::childValueChangedCB
static void childValueChangedCB(void *, SoDragger *)
Definition: SoDragger.cpp:1784
SoInteractionKit
The SoInteractionKit class is a base class for draggers.
Definition: SoInteractionKit.h:41
SoDragger::grabEventsSetup
virtual void grabEventsSetup(void)
Definition: SoDragger.cpp:1099
SoInteractionKit::setDefaultOnNonWritingFields
virtual void setDefaultOnNonWritingFields()
Definition: SoInteractionKit.cpp:687
SoDragger::getViewportRegion
const SbViewportRegion & getViewportRegion(void)
Definition: SoDragger.cpp:1050
SoDragger::unregisterChildDragger
void unregisterChildDragger(SoDragger *child)
Definition: SoDragger.cpp:735
SbViewVolume
The SbViewVolume class is a viewing volume in 3D space.
Definition: SbViewVolume.h:41
SoDragger::registerChildDraggerMovingIndependently
void registerChildDraggerMovingIndependently(SoDragger *child)
Definition: SoDragger.cpp:749
SoDragger::getNormalizedLocaterPosition
SbVec2f getNormalizedLocaterPosition(void)
Definition: SoDragger.cpp:1408
SoDragger::setTempPathToThis
void setTempPathToThis(const SoPath *somethingclose)
Definition: SoDragger.cpp:1088
SoPath::getIndex
int getIndex(const int index) const
Definition: SoPath.cpp:436
SoDragger::setStartingPoint
void setStartingPoint(const SoPickedPoint *newpoint)
Definition: SoDragger.cpp:1014
SoDragger::getPickPath
const SoPath * getPickPath(void) const
Definition: SoDragger.cpp:953
SoHandleEventAction::getEvent
const SoEvent * getEvent(void) const
Definition: SoHandleEventAction.cpp:196
SoBaseKit::write
virtual void write(SoWriteAction *action)
Definition: SoBaseKit.cpp:1115
SoDragger::getStartMotionMatrix
const SbMatrix & getStartMotionMatrix(void)
Definition: SoDragger.cpp:930
SoDragger::setIgnoreInBbox
void setIgnoreInBbox(SbBool newval)
Definition: SoDragger.cpp:1698
SoPath::getNode
SoNode * getNode(const int index) const
Definition: SoPath.cpp:402
SoBase::isOfType
SbBool isOfType(SoType type) const
Definition: SoBase.cpp:710
SoHandleEventAction::getPickedPoint
const SoPickedPoint * getPickedPoint(void)
Definition: SoHandleEventAction.cpp:315
SoNode
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:47
SoDragger::addStartCallback
void addStartCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:570
SoHandleEventAction
The SoHandleEventAction class distributes user events to the scene.
Definition: SoHandleEventAction.h:36
SoFullPath::getLength
int getLength(void) const
Definition: SoFullPath.cpp:106
SoDragger::getSurrogatePartPickedName
const SbName & getSurrogatePartPickedName(void) const
Definition: SoDragger.cpp:995
SoDragger::setStartLocaterPosition
void setStartLocaterPosition(SbVec2s p)
Definition: SoDragger.cpp:1450
SoDragger::initClasses
static void initClasses(void)
Definition: SoDragger.cpp:403
SoDragger::rayPick
virtual void rayPick(SoRayPickAction *action)
Definition: SoDragger.cpp:526
SoDragger::valueChanged
void valueChanged(void)
Definition: SoDragger.cpp:919
SbMatrix::identity
static SbMatrix identity(void)
Definition: SbMatrix.cpp:748
SoEvent
The SoEvent class is the base class for all Coin events.
Definition: SoEvent.h:34
SoRayPickAction
The SoRayPickAction class does ray intersection with scene graphs.
Definition: SoRayPickAction.h:40
SoNode::pick
virtual void pick(SoPickAction *action)
Definition: SoNode.cpp:1057
SoDragger::transferMotion
void transferMotion(SoDragger *child)
Definition: SoDragger.cpp:1682
SoDragger::setHandleEventAction
void setHandleEventAction(SoHandleEventAction *newAction)
Definition: SoDragger.cpp:1077
SoBaseKit::search
virtual void search(SoSearchAction *action)
Definition: SoBaseKit.cpp:1083
SoBase::unrefNoDelete
void unrefNoDelete(void) const
Definition: SoBase.cpp:665
SoDragger::addMotionCallback
void addMotionCallback(SoDraggerCB *func, void *data=NULL)
Definition: SoDragger.cpp:591
SbMatrix::setTranslate
void setTranslate(const SbVec3f &t)
Definition: SbMatrix.cpp:790
SoPickedPoint::getPath
SoPath * getPath() const
Definition: SoPickedPoint.cpp:178
SoDragger::~SoDragger
virtual ~SoDragger()
Definition: SoDragger.cpp:369
SoDragger::unregisterChildDraggerMovingIndependently
void unregisterChildDraggerMovingIndependently(SoDragger *child)
Definition: SoDragger.cpp:763
SoDragger::initClass
static void initClass(void)
Definition: SoDragger.cpp:388
SoPath::getHead
SoNode * getHead(void) const
Definition: SoPath.cpp:180
SoDragger::getHandleEventAction
SoHandleEventAction * getHandleEventAction(void) const
Definition: SoDragger.cpp:1068
SoGLRenderAction
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition: SoGLRenderAction.h:39
SoDragger::grabEventsCleanup
virtual void grabEventsCleanup(void)
Definition: SoDragger.cpp:1110
SoGetPrimitiveCountAction
The SoGetPrimitiveCountAction class counts the primitives in a scene.
Definition: SoGetPrimitiveCountAction.h:32
SoDragger::getWorldStartingPoint
SbVec3f getWorldStartingPoint(void)
Definition: SoDragger.cpp:816
SoDragger::setViewportRegion
void setViewportRegion(const SbViewportRegion &reg)
Definition: SoDragger.cpp:1059
SoDragger::setViewVolume
void setViewVolume(const SbViewVolume &vol)
Definition: SoDragger.cpp:1041
SoBaseKit::getMatrix
virtual void getMatrix(SoGetMatrixAction *action)
Definition: SoBaseKit.cpp:1037
SoMatrixTransform
The SoMatrixTransform class is a transformation node.
Definition: SoMatrixTransform.h:31
SoDragger::getLocalToWorldMatrix
SbMatrix getLocalToWorldMatrix(void)
Definition: SoDragger.cpp:776

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Wed Jul 24 2019 for Coin by Doxygen. 1.8.17