20 class MatrixTransform;
30 class DraggerCallbackHandler;
42 virtual void setDisplayTransformation(
const mVisTrans* );
43 const mVisTrans* getDisplayTransformation()
const;
49 void handleEvents(
bool yn);
50 bool isHandlingEvents()
const;
53 friend class DraggerCallbackHandler;
57 virtual void notifyStart() = 0;
58 virtual void notifyStop() = 0;
59 virtual void notifyMove() = 0;
65 void initDragger(osgManipulator::Dragger*);
82 enum
Type { Translate1D, Translate2D, Translate3D,
84 void setDraggerType(
Type);
86 void setPos(
const Coord3&);
89 void setSize(
const float);
90 float getSize()
const;
92 void setArrowColor(
const Color&);
93 const Color& getArrowColor()
const;
95 void setRotation(
const Coord3&,
const float);
96 void setDefaultRotation();
97 bool defaultRotation()
const;
99 void setOwnShape(
DataObject*,
bool activeshape);
101 bool selectable()
const;
105 const EventInfo* rightClickedEventInfo()
const;
106 void updateDragger(
bool active );
107 void setDisplayTransformation(
const mVisTrans* );
113 void triggerRightClick(
const EventInfo* eventinfo);
114 virtual void notifyStart();
115 virtual void notifyStop();
116 virtual void notifyMove();
117 osg::MatrixTransform* createDefaultDraggerGeometry();
118 osg::MatrixTransform* createTranslateDefaultGeometry();
119 void setScaleAndTranslation(
bool move=
false);
#define mExpClass(module)
Definition: commondefs.h:157
Definition: visdragger.h:33
Notifier< DraggerBase > started
Definition: visdragger.h:37
Coord3 rotation_
Definition: visdragger.h:134
const visBase::Transformation * displaytrans_
Definition: visdragger.h:61
Notifier< DraggerBase > finished
Definition: visdragger.h:39
DraggerCallbackHandler * cbhandler_
Definition: visdragger.h:70
float draggersizescale_
Definition: visdragger.h:129
Notifier< Dragger > rightclicknotifier_
Definition: visdragger.h:122
Notifier< DraggerBase > motion
Definition: visdragger.h:38
bool isMoving() const
Definition: visdragger.h:109
Interface class for Notifier. See comments there.
Definition: notify.h:20
DataObject is the base class off all objects that are used in Visualization and ought to be shared in...
Definition: visdata.h:59
Color arrowcolor_
Definition: visdragger.h:136
bool ismoving_
Definition: visdragger.h:132
Coord3 markerpos_
Definition: visdragger.h:128
Type
Definition: visdragger.h:82
Class to help setup a callback handling.
Definition: notify.h:121
Definition: visdragger.h:17
bool is2dtranslate_
Definition: visdragger.h:127
3D point or vector
Definition: commontypes.h:57
#define mVisTrans
Definition: visdata.h:25
static Dragger * create()
Definition: visdragger.h:79
bool ismarkershape_
Definition: visdragger.h:126
const EventInfo * rightclickeventinfo_
Definition: visdragger.h:123
NotifierAccess * rightClicked()
Definition: visdragger.h:103
osg::Group * osgroot_
Definition: visdragger.h:63
Definition: visannot.h:40
Notifier< DraggerBase > changed
Definition: visdragger.h:40
Open Scene Graph.
Definition: visannot.h:26
Definition: visevent.h:40
DataObject * inactiveshape_
Definition: visdragger.h:125
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:24
#define mCreateDataObj(clss)
Definition: visdata.h:210
osgManipulator::Dragger * osgdragger_
Definition: visdragger.h:62
float defaultdraggergeomsize_
Definition: visdragger.h:130
Definition: visdragger.h:76
float rotangle_
Definition: visdragger.h:135