OpendTect  6.6
visboxdragger.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: N. Hemstra
8  Date: August 2002
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "visbasemod.h"
16 #include "visobject.h"
17 #include "position.h"
18 
19 
20 namespace osgGeo { class TabBoxDragger; }
21 namespace osg { class ShapeDrawable; }
22 
23 
24 
25 namespace visBase
26 {
27 
28 class BoxDraggerCallbackHandler;
29 
31 {
32 public:
33  friend class BoxDraggerCallbackHandler;
34 
35  static BoxDragger* create()
37 
38  void setCenter(const Coord3&);
39  Coord3 center() const;
40 
41  void setWidth(const Coord3&);
42  Coord3 width() const;
43 
44  void setBoxTransparency(float);
46  void showScaleTabs(bool);
47 
48  void setSpaceLimits(const Interval<float>&,
49  const Interval<float>&,
50  const Interval<float>&);
51 
52  void setWidthLimits(const Interval<float>& x,
53  const Interval<float>& y,
54  const Interval<float>& z );
55 
56  void showDraggerBorder(bool yn=true);
57  bool isDraggerBorderShown() const;
58 
59  bool selectable() const { return selectable_; }
60  void setSelectable(bool yn) { selectable_ = yn; }
61 
64 
65  void setPlaneTransDragKeys(bool depth,int keys);
73  int getPlaneTransDragKeys(bool depth) const;
82  const StepInterval<float>&,
83  const StepInterval<float>&);
84 
85 
90 
91 protected:
93 
95 
96  void setOsgMatrix(const Coord3& worldscale,
97  const Coord3& worldtrans);
98 
99  osgGeo::TabBoxDragger* osgboxdragger_;
100  osg::ShapeDrawable* osgdraggerbox_;
101  BoxDraggerCallbackHandler* osgcallbackhandler_;
102 
103  Interval<float> widthranges_[3];
104  Interval<float> spaceranges_[3];
105 
106  StepInterval<float> dragctrlspacing_[3];
107 
110 };
111 
112 };
113 
ConstRefMan< mVisTrans >
visBase::BoxDragger::setOsgMatrix
void setOsgMatrix(const Coord3 &worldscale, const Coord3 &worldtrans)
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
visBase::BoxDragger::setDragCtrlSpacing
void setDragCtrlSpacing(const StepInterval< float > &, const StepInterval< float > &, const StepInterval< float > &)
visBase::BoxDragger
Definition: visboxdragger.h:31
visBase::BoxDragger::getDisplayTransformation
const visBase::Transformation * getDisplayTransformation() const
visBase
Definition: visannot.h:43
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
osg
Open Scene Graph.
Definition: visannot.h:29
visBase::BoxDragger::started
Notifier< BoxDragger > started
Definition: visboxdragger.h:86
visBase::BoxDragger::setSelectable
void setSelectable(bool yn)
Definition: visboxdragger.h:60
visBase::BoxDragger::getPlaneTransDragKeys
int getPlaneTransDragKeys(bool depth) const
visBase::BoxDragger::selectable_
bool selectable_
Definition: visboxdragger.h:108
visBase::BoxDragger::transform_
ConstRefMan< visBase::Transformation > transform_
Definition: visboxdragger.h:94
visBase::BoxDragger::osgcallbackhandler_
BoxDraggerCallbackHandler * osgcallbackhandler_
Definition: visboxdragger.h:101
visobject.h
visBase::BoxDragger::motion
Notifier< BoxDragger > motion
Definition: visboxdragger.h:87
visBase::BoxDragger::osgdraggerbox_
osg::ShapeDrawable * osgdraggerbox_
Definition: visboxdragger.h:100
visBase::BoxDragger::setDisplayTransformation
void setDisplayTransformation(const visBase::Transformation *)
visBase::BoxDragger::~BoxDragger
~BoxDragger()
StepInterval< float >
visBase::BoxDragger::create
static BoxDragger * create()
Definition: visboxdragger.h:35
visBase::BoxDragger::useindepthtransforresize_
bool useindepthtransforresize_
Definition: visboxdragger.h:109
visBase::BoxDragger::useInDepthTranslationForResize
void useInDepthTranslationForResize(bool)
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
visBase::BoxDragger::isInDepthTranslationUsedForResize
bool isInDepthTranslationUsedForResize() const
visBase::BoxDragger::finished
Notifier< BoxDragger > finished
Definition: visboxdragger.h:89
visBase::BoxDragger::changed
Notifier< BoxDragger > changed
Definition: visboxdragger.h:88
visBase::BoxDragger::setPlaneTransDragKeys
void setPlaneTransDragKeys(bool depth, int keys)
position.h
mVisTrans
#define mVisTrans
Definition: visdata.h:28
visBase::BoxDragger::osgboxdragger_
osgGeo::TabBoxDragger * osgboxdragger_
Definition: visboxdragger.h:99
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
Interval
Interval of values.
Definition: commontypes.h:30

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