OpendTect-6_4  6.4
visdepthtabplanedragger.h
Go to the documentation of this file.
1 #ifndef visdepthtabplanedragger_h
2 #define visdepthtabplanedragger_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Kristofer Tingdahl
9  Date: 4-11-2002
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "visbasemod.h"
17 #include "ranges.h"
18 #include "visobject.h"
19 
20 
21 namespace osgGeo { class TabPlaneDragger; }
22 namespace osg { class Switch; }
23 
24 
25 class Coord3;
26 
27 namespace visBase
28 {
29 
30 class PlaneDraggerCallbackHandler;
31 
37 {
38  friend class PlaneDraggerCallbackHandler;
39 
40 public:
43  void removeScaleTabs();
47  void setCenter( const Coord3&, bool alldims = true );
52  Coord3 center() const;
53 
54  void setSize( const Coord3&, bool alldims=true );
59  Coord3 size() const;
60 
61  void setDim(int dim);
67  int getDim() const;
68 
69  void setSpaceLimits( const Interval<float>& x,
70  const Interval<float>& y,
71  const Interval<float>& z );
72  void getSpaceLimits( Interval<float>& x,
73  Interval<float>& y,
74  Interval<float>& z ) const;
75 
76  void setWidthLimits( const Interval<float>& x,
77  const Interval<float>& y,
78  const Interval<float>& z );
79  void getWidthLimits( Interval<float>& x,
80  Interval<float>& y,
81  Interval<float>& z ) const;
82 
83  void setDisplayTransformation( const mVisTrans* );
84  const mVisTrans* getDisplayTransformation() const;
85 
86  void showDraggerBorder(bool yn=true);
87  bool isDraggerBorderShown() const;
88 
89  void showPlane(bool yn=true);
90  bool isPlaneShown() const;
91 
92  void setTransDragKeys(bool depth,int keys);
98  int getTransDragKeys(bool depth) const;
103  void setDragCtrlSpacing(const StepInterval<float>&,
104  const StepInterval<float>&,
105  const StepInterval<float>&);
106 
107  Notifier<DepthTabPlaneDragger> started;
108  Notifier<DepthTabPlaneDragger> motion;
109  Notifier<DepthTabPlaneDragger> changed;
110  Notifier<DepthTabPlaneDragger> finished;
111 
112 protected:
113  ~DepthTabPlaneDragger();
114 
115  void setOsgMatrix(const Coord3& worldscale,
116  const Coord3& worldtrans);
117 
118  void initOsgDragger();
119 
120  int dim_;
121  TypeSet<Coord3> centers_;
122  TypeSet<Coord3> sizes_;
123 
124  RefMan<const mVisTrans> transform_;
125 
126  osgGeo::TabPlaneDragger* osgdragger_;
127  osg::Switch* osgdraggerplane_;
128  PlaneDraggerCallbackHandler* osgcallbackhandler_;
129 
130  Interval<float> widthranges_[3];
131  Interval<float> spaceranges_[3];
132  StepInterval<float> dragctrlspacing_[3];
133 };
134 
135 };
136 
137 #endif
#define mExpClass(module)
Definition: commondefs.h:160
A collection of geoscientific extensions to OpenSceneGraph.
Definition: visannot.h:38
Interval of values.
Definition: commontypes.h:31
Definition: callback.h:254
Set of (small) copyable elements.
Definition: commontypes.h:30
#define mVisTrans
Definition: visdata.h:31
Interval with step.
Definition: commontypes.h:33
Definition: visdepthtabplanedragger.h:36
A cartesian coordinate in 3D space.
Definition: coord.h:72
static DepthTabPlaneDragger * create()
Definition: visdepthtabplanedragger.h:41
Definition: visannot.h:43
Open Scene Graph.
Definition: visannot.h:29
#define mCreateDataObj(clss)
Definition: visdata.h:209
Definition: visobject.h:72
Definition: ptrman.h:168

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