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

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