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

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