OpendTect-6_4  6.4
vissower.h
Go to the documentation of this file.
1 #ifndef vissower_h
2 #define vissower_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: J.C. Glas
9  Date: December 2010
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 
17 #include "vissurveymod.h"
18 #include "emposid.h"
19 #include "keyenum.h"
20 #include "visobject.h"
21 
22 
23 class TrcKeySampling;
24 
25 namespace visBase { class PolyLine; };
26 
27 namespace visSurvey
28 {
29 
30 #define mCtrlLeftButton ( (OD::ButtonState) (OD::LeftButton+OD::ControlButton) )
31 
33 {
34 
35 public:
37  ~Sower();
38 
39  void setDisplayTransformation( const mVisTrans* );
40  void setEventCatcher( visBase::EventCatcher* );
41 
42  enum SowingMode { Lasering=-2, Erasing=-1, Idle=0,
43  Furrowing, FirstSowing, SequentSowing };
44 
45  SowingMode mode() { return mode_; }
46 
47  void reInitSettings();
48 
49  void reverseSowingOrder(bool yn=true);
50  void alternateSowingOrder(bool yn=true);
51  void intersow(bool yn=true);
52 
53  void setSequentSowMask(bool yn=true,
55  void setIfDragInvertMask(bool yn=true,
57  void setLaserMask(bool yn=true,
59  void setEraserMask(bool yn=true,
61 
62  bool moreToSow() const;
63  void stopSowing();
64 
65  Coord3 pivotPos() const;
66 
67  bool accept(const visBase::EventInfo&);
68 
69  bool activate(const Color&,const visBase::EventInfo&,
70  int underlyingobjid=-1,
71  const TrcKeySampling* workrange=0);
74 protected:
75 
76  bool isInWorkRange(const visBase::EventInfo&) const ;
77  void tieToWorkRange(const visBase::EventInfo&);
78  void calibrateEventInfo(visBase::EventInfo&);
79 
80  bool acceptMouse(const visBase::EventInfo&);
81  bool acceptTablet(const visBase::EventInfo&);
82  bool acceptLaser(const visBase::EventInfo&);
83  bool acceptEraser(const visBase::EventInfo&);
84 
85  EM::PosID getMarkerID(const visBase::EventInfo&) const;
86 
87  void reset();
88 
93  bool linelost_;
100 
103  bool intersow_;
104 
110 
112 
115 
117 };
118 
119 
120 
121 }; // namespace visSurvey
122 
123 #endif
#define mExpClass(module)
Definition: commondefs.h:160
const mVisTrans * transformation_
Definition: vissower.h:91
OD::ButtonState pressedbutstate_
Definition: vissower.h:105
OD::ButtonState ifdraginvertmask_
Definition: vissower.h:107
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
visBase::EventCatcher * eventcatcher_
Definition: vissower.h:90
#define mCtrlLeftButton
Definition: vissower.h:30
Definition: keyenum.h:27
EM::PosID curpid_
Definition: vissower.h:113
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
bool singleseeded_
Definition: vissower.h:111
int furrowstamp_
Definition: vissower.h:116
Definition: keyenum.h:23
int curpidstamp_
Definition: vissower.h:114
bool alternatesowingorder_
Definition: vissower.h:102
Definition: callback.h:254
visBase::PolyLine * sowingline_
Definition: vissower.h:92
bool intersow_
Definition: vissower.h:103
ButtonState
Definition: keyenum.h:20
VisualObjectImpl
Definition: visobject.h:128
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:27
bool reversesowingorder_
Definition: vissower.h:101
SowingMode mode()
Definition: vissower.h:45
#define mVisTrans
Definition: visdata.h:31
Definition: vispolyline.h:36
ObjectSet< visBase::EventInfo > eventlist_
Definition: vissower.h:95
OD::ButtonState lasermask_
Definition: vissower.h:108
A cartesian coordinate in 3D space.
Definition: coord.h:72
bool linelost_
Definition: vissower.h:93
Definition: visannot.h:43
TypeSet< int > bendpoints_
Definition: vissower.h:99
TrcKeySampling * workrange_
Definition: vissower.h:97
OD::ButtonState erasermask_
Definition: vissower.h:109
const visBase::VisualObjectImpl * editobject_
Definition: vissower.h:89
int underlyingobjid_
Definition: vissower.h:96
SowingMode mode_
Definition: vissower.h:94
Definition: visevent.h:44
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer, similar to Qt.
Definition: color.h:26
TypeSet< Coord > mousecoords_
Definition: vissower.h:98
Definition: visobject.h:72
Definition: vissower.h:32
Notifier< Sower > sowing
Definition: vissower.h:73
SowingMode
Definition: vissower.h:42
Definition: visevent.h:87
OD::ButtonState sequentsowmask_
Definition: vissower.h:106
Notifier< Sower > sowingend
Definition: vissower.h:72

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