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

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