OpendTect-6_4  6.4
visboxdragger.h
Go to the documentation of this file.
1 #ifndef visboxdragger_h
2 #define visboxdragger_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: N. Hemstra
9  Date: August 2002
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "visbasemod.h"
17 #include "visobject.h"
18 #include "position.h"
19 
20 
21 namespace osgGeo { class TabBoxDragger; }
22 namespace osg { class ShapeDrawable; }
23 
24 
25 
26 namespace visBase
27 {
28 
29 class BoxDraggerCallbackHandler;
30 
32 {
33 public:
34  friend class BoxDraggerCallbackHandler;
35 
36  static BoxDragger* create()
38 
39  void setCenter(const Coord3&);
40  Coord3 center() const;
41 
42  void setWidth(const Coord3&);
43  Coord3 width() const;
44 
45  void setBoxTransparency(float);
47  void showScaleTabs(bool);
48 
49  void setSpaceLimits(const Interval<float>&,
50  const Interval<float>&,
51  const Interval<float>&);
52 
53  void setWidthLimits(const Interval<float>& x,
54  const Interval<float>& y,
55  const Interval<float>& z );
56 
57  void showDraggerBorder(bool yn=true);
58  bool isDraggerBorderShown() const;
59 
60  bool selectable() const { return selectable_; }
61  void setSelectable(bool yn) { selectable_ = yn; }
62 
63  void setDisplayTransformation(const mVisTrans*);
64  const mVisTrans* getDisplayTransformation() const;
65 
66  void setPlaneTransDragKeys(bool depth,int keys);
74  int getPlaneTransDragKeys(bool depth) const;
80  void useInDepthTranslationForResize(bool);
81  bool isInDepthTranslationUsedForResize() const;
82  void setDragCtrlSpacing(const StepInterval<float>&,
83  const StepInterval<float>&,
84  const StepInterval<float>&);
85 
86 
91 
92 protected:
93  ~BoxDragger();
94 
96 
97  void setOsgMatrix(const Coord3& worldscale,
98  const Coord3& worldtrans);
99 
100  osgGeo::TabBoxDragger* osgboxdragger_;
101  osg::ShapeDrawable* osgdraggerbox_;
102  BoxDraggerCallbackHandler* osgcallbackhandler_;
103 
104  Interval<float> widthranges_[3];
105  Interval<float> spaceranges_[3];
106 
107  StepInterval<float> dragctrlspacing_[3];
108 
111 };
112 
113 };
114 
115 #endif
#define mExpClass(module)
Definition: commondefs.h:160
void setSelectable(bool yn)
Definition: visboxdragger.h:61
static BoxDragger * create()
Definition: visboxdragger.h:36
Definition: visboxdragger.h:31
Notifier< BoxDragger > motion
Definition: visboxdragger.h:88
A collection of geoscientific extensions to OpenSceneGraph.
Definition: visannot.h:38
Notifier< BoxDragger > finished
Definition: visboxdragger.h:90
Notifier< BoxDragger > started
Definition: visboxdragger.h:87
Interval of values.
Definition: commontypes.h:31
Definition: callback.h:254
Notifier< BoxDragger > changed
Definition: visboxdragger.h:89
#define mVisTrans
Definition: visdata.h:31
bool useindepthtransforresize_
Definition: visboxdragger.h:110
bool selectable_
Definition: visboxdragger.h:109
A cartesian coordinate in 3D space.
Definition: coord.h:72
Definition: visannot.h:43
osg::ShapeDrawable * osgdraggerbox_
Definition: visboxdragger.h:101
BoxDraggerCallbackHandler * osgcallbackhandler_
Definition: visboxdragger.h:102
Open Scene Graph.
Definition: visannot.h:29
#define mCreateDataObj(clss)
Definition: visdata.h:209
RefMan< const visBase::Transformation > transform_
Definition: visboxdragger.h:95
Definition: visobject.h:72
osgGeo::TabBoxDragger * osgboxdragger_
Definition: visboxdragger.h:100

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019