OpendTect  6.6
viswelldisplay.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 ________________________________________________________________________
10 
11 
12 -*/
13 
14 
15 #include "vissurveymod.h"
16 #include "visobject.h"
17 #include "vissurvobj.h"
18 #include "viswell.h"
19 #include "multiid.h"
20 #include "ranges.h"
21 #include "welllogdisp.h"
22 #include "factory.h"
23 
24 namespace visBase
25 {
26  class MarkerSet;
27  class EventCatcher;
28  class EventInfo;
29  class Transformation;
30 }
31 
32 namespace Well
33 {
34  class Data;
35  class DisplayProperties;
36  class LoadReqs;
37  class Log;
38  class LogDisplayPars;
39  class Track;
40 }
41 
42 namespace visSurvey
43 {
44 class Scene;
45 
53 {
54 public:
58  "WellDisplay",
59  toUiString(sFactoryKeyword()) )
60 
61  bool setMultiID(const MultiID&);
62  MultiID getMultiID() const { return wellid_; }
63 
64  //track
65  void fillTrackParams(visBase::Well::TrackParams&);
66 
67  bool wellTopNameShown() const;
68  void showWellTopName(bool);
69  bool wellBotNameShown() const;
70  void showWellBotName(bool);
72 
73  //markers
74  void fillMarkerParams(visBase::Well::MarkerParams&);
75 
76  bool canShowMarkers() const;
77  bool markersShown() const;
78  void showMarkers(bool);
79  bool markerNameShown() const;
80  void showMarkerName(bool);
81  int markerScreenSize() const;
83 
84  //logs
85  void fillLogParams(visBase::Well::LogParams&,
86  visBase::Well::Side side);
87 
88  const OD::LineStyle* lineStyle() const;
90  bool hasColor() const { return true; }
91  Color getColor() const;
92  void setLogData(visBase::Well::LogParams&,bool);
98  void setOneLogDisplayed(bool);
103  int getLogLineWidth() const;
105  bool logsShown() const;
106  void showLogs(bool);
107  bool logNameShown() const;
108  void showLogName(bool);
109 
110  void setResolution(int res,TaskRunner*);
111  int getResolution() const;
112  int nrResolutions() const;
114 
118 
121  //only used for user-made wells
122  void addKnownPos();
124  IOPar& iop ) const
125  { return SurveyObject::getMousePosInfo(ei,iop);}
127  Coord3&,BufferString& val,
128  BufferString& info) const;
129  NotifierAccess* getManipulationNotifier() { return &changed_; }
130  bool hasChanged() const { return needsave_; }
131  bool isHomeMadeWell() const { return picksallowed_; }
132  void setChanged( bool yn ) { needsave_ = yn; }
133  void setupPicking(bool);
136  Well::Data* getWD() const;
138  bool needsConversionToTime() const;
139 
140  bool allowsPicks() const { return true; }
141 
144 
145  virtual void fillPar(IOPar&) const;
146  virtual bool usePar(const IOPar&);
147  virtual void setPixelDensity(float);
148  const char* errMsg() const { return errmsg_.str(); }
149  const visBase::Well* getWell() const { return well_; }
150 
151 protected:
153 
159  void setLogProperties(visBase::Well::LogParams&);
160  void pickCB(CallBacker* cb=0);
162  void saveDispProp( const Well::Data* wd );
164  float,bool) const;
165  bool upscaleLogs(const Well::Data& wd,
166  Well::Log& logdata,
167  Well::Log* logfill,
168  visBase::Well::LogParams&) const;
170  void addPick(const visBase::EventInfo&,int);
171 
173 
183 
186 
188 
191  bool needsave_;
194  const bool zistime_;
195  const bool zinfeet_;
196  static const char* sKeyEarthModelID;
197  static const char* sKeyWellID;
198 };
199 
200 } // namespace visSurvey
201 
202 
visSurvey::WellDisplay::markersShown
bool markersShown() const
visSurvey::WellDisplay::removePick
void removePick(const visBase::EventInfo &)
visSurvey::WellDisplay::wellTopNameShown
bool wellTopNameShown() const
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
OD::LineStyle
Definition: draw.h:118
visSurvey::WellDisplay::fillTrackParams
void fillTrackParams(visBase::Well::TrackParams &)
visSurvey::WellDisplay::getWellCoords
TypeSet< Coord3 > getWellCoords() const
visSurvey::WellDisplay::timetrack_
Well::Track * timetrack_
Definition: viswelldisplay.h:181
visSurvey::WellDisplay::saveDispProp
void saveDispProp(const Well::Data *wd)
visSurvey::WellDisplay::zinfeet_
const bool zinfeet_
Definition: viswelldisplay.h:195
visSurvey::WellDisplay::getZAxisTransform
const ZAxisTransform * getZAxisTransform() const
visSurvey::WellDisplay::setLogColor
void setLogColor(const Color &, visBase::Well::Side)
Well::LogDisplayPars
Log display parameters.
Definition: welllogdisp.h:28
visSurvey::WellDisplay::onelogdisplayed_
bool onelogdisplayed_
Definition: viswelldisplay.h:192
visSurvey::WellDisplay::fillLogParams
void fillLogParams(visBase::Well::LogParams &, visBase::Well::Side side)
visSurvey::WellDisplay::WellDisplay
WellDisplay()
visSurvey::WellDisplay::setMarkerScreenSize
void setMarkerScreenSize(int)
visSurvey::WellDisplay::sKeyWellID
static const char * sKeyWellID
Definition: viswelldisplay.h:197
factory.h
Well::Data
The holder of all data concerning a certain well.
Definition: welldata.h:121
visSurvey::WellDisplay::~WellDisplay
~WellDisplay()
visSurvey::WellDisplay::getManipulationNotifier
NotifierAccess * getManipulationNotifier()
Definition: viswelldisplay.h:129
visSurvey::WellDisplay::fullRedraw
void fullRedraw(CallBacker *)
visSurvey::WellDisplay
Used for displaying welltracks, markers and logs.
Definition: viswelldisplay.h:53
visSurvey::WellDisplay::isHomeMadeWell
bool isHomeMadeWell() const
Definition: viswelldisplay.h:131
visSurvey::WellDisplay::pickCB
void pickCB(CallBacker *cb=0)
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
visSurvey::WellDisplay::displayCenterLog
void displayCenterLog()
visSurvey::WellDisplay::fillMarkerParams
void fillMarkerParams(visBase::Well::MarkerParams &)
visSurvey::WellDisplay::setLogInfo
void setLogInfo(BufferString &, BufferString &, float, bool) const
visBase
Definition: visannot.h:43
visSurvey::WellDisplay::getResolution
int getResolution() const
visSurvey::WellDisplay::logsnumber_
int logsnumber_
Definition: viswelldisplay.h:189
visBase::Well
Base class for well display.
Definition: viswell.h:45
visSurvey::WellDisplay::hasColor
bool hasColor() const
Definition: viswelldisplay.h:90
visSurvey::WellDisplay::setChanged
void setChanged(bool yn)
Definition: viswelldisplay.h:132
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visSurvey::WellDisplay::getMousePosInfo
void getMousePosInfo(const visBase::EventInfo &ei, IOPar &iop) const
Definition: viswelldisplay.h:123
visSurvey::WellDisplay::errMsg
const char * errMsg() const
Definition: viswelldisplay.h:148
visSurvey::WellDisplay::changed_
Notifier< WellDisplay > changed_
Definition: viswelldisplay.h:187
visSurvey::WellDisplay::logsShown
bool logsShown() const
visSurvey::WellDisplay::getWD
Well::Data * getWD() const
visSurvey::WellDisplay::pseudotrack_
Well::Track * pseudotrack_
Definition: viswelldisplay.h:180
visSurvey::SurveyObject
Base class for all 'Display' objects.
Definition: vissurvobj.h:58
visSurvey::WellDisplay::sKeyEarthModelID
static const char * sKeyEarthModelID
Definition: viswelldisplay.h:196
visBase::VisualObjectImpl
VisualObjectImpl
Definition: visobject.h:127
visSurvey::WellDisplay::eventcatcher_
visBase::EventCatcher * eventcatcher_
Definition: viswelldisplay.h:177
visBase::EventCatcher
Definition: visevent.h:87
visSurvey::WellDisplay::getWell
const visBase::Well * getWell() const
Definition: viswelldisplay.h:149
visBase::MarkerSet
MarkerSet is a set of basic pickmarker with a constant size on screen. Size and shape are settable.
Definition: vismarkerset.h:36
visSurvey::WellDisplay::setWell
void setWell(visBase::Well *)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visBase::Well::Side
Side
Definition: viswell.h:53
Repos::Data
@ Data
Definition: repos.h:24
visSurvey::WellDisplay::setLogData
void setLogData(visBase::Well::LogParams &, bool)
visSurvey::WellDisplay::markerset_
visBase::MarkerSet * markerset_
Definition: viswelldisplay.h:178
visSurvey::WellDisplay::wellBotNameShown
bool wellBotNameShown() const
visSurvey::WellDisplay::well_
visBase::Well * well_
Definition: viswelldisplay.h:179
visobject.h
visSurvey::WellDisplay::zistime_
const bool zistime_
Definition: viswelldisplay.h:194
visSurvey::WellDisplay::setLogLineWidth
void setLogLineWidth(int, visBase::Well::Side)
visSurvey::WellDisplay::setDisplayTransformForPicks
void setDisplayTransformForPicks(const mVisTrans *)
visSurvey::WellDisplay::logColor
const Color & logColor(visBase::Well::Side) const
welllogdisp.h
visSurvey::WellDisplay::getColor
Color getColor() const
visSurvey::WellDisplay::updateMarkers
void updateMarkers(CallBacker *)
visSurvey::WellDisplay::mousepressid_
int mousepressid_
Definition: viswelldisplay.h:190
visSurvey::WellDisplay::dataTransformCB
void dataTransformCB(CallBacker *)
multiid.h
visSurvey::WellDisplay::getWD
Well::Data * getWD(const Well::LoadReqs &) const
ZAxisTransform
Base class for z-axis transforms.
Definition: zaxistransform.h:37
visSurvey::WellDisplay::upscaleLogs
bool upscaleLogs(const Well::Data &wd, Well::Log &logdata, Well::Log *logfill, visBase::Well::LogParams &) const
Well::Track
Well track.
Definition: welltrack.h:29
Well
Definition: directionalsurvey.h:20
visSurvey::SurveyObject::getMousePosInfo
virtual void getMousePosInfo(const visBase::EventInfo &, Coord3 &xyzpos, BufferString &val, BufferString &info) const
Definition: vissurvobj.h:250
visSurvey::WellDisplay::mousepressposition_
Coord3 mousepressposition_
Definition: viswelldisplay.h:174
OD::String::str
const char * str() const
Definition: odstring.h:47
visSurvey::WellDisplay::showWellTopName
void showWellTopName(bool)
visSurvey::WellDisplay::setLogProperties
void setLogProperties(visBase::Well::LogParams &)
visSurvey::WellDisplay::nrResolutions
int nrResolutions() const
NotifierAccess
Interface class for Notifier. See comments there.
Definition: notify.h:22
visBase::EventInfo
Definition: visevent.h:44
visSurvey::WellDisplay::getTrackPos
void getTrackPos(const Well::Data *, TypeSet< Coord3 > &)
TaskRunner
Class that can execute a task.
Definition: task.h:170
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
visSurvey::WellDisplay::displayLog
void displayLog(Well::LogDisplayPars *, int)
File::Log
@ Log
Definition: file.h:122
visSurvey::WellDisplay::getDisplayTransformation
const mVisTrans * getDisplayTransformation() const
visSurvey::WellDisplay::wd_
Well::Data * wd_
Definition: viswelldisplay.h:182
visSurvey::WellDisplay::hasChanged
bool hasChanged() const
Definition: viswelldisplay.h:130
visSurvey::WellDisplay::addPick
void addPick(const visBase::EventInfo &, int)
mVisTrans
#define mVisTrans
Definition: visdata.h:28
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
visSurvey::WellDisplay::wellid_
MultiID wellid_
Definition: viswelldisplay.h:176
vissurvobj.h
visSurvey::WellDisplay::needsConversionToTime
bool needsConversionToTime() const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
visSurvey::WellDisplay::showKnownPositions
void showKnownPositions()
visSurvey::WellDisplay::allowsPicks
bool allowsPicks() const
Definition: viswelldisplay.h:140
Well::Log
Well log.
Definition: welllog.h:44
Well::DisplayProperties
Display properties of a well.
Definition: welldisp.h:39
visSurvey::WellDisplay::setZAxisTransform
bool setZAxisTransform(ZAxisTransform *, TaskRunner *)
visSurvey::WellDisplay::getLogWidth
float getLogWidth(visBase::Well::Side) const
visSurvey::WellDisplay::setupPicking
void setupPicking(bool)
visSurvey::WellDisplay::usePar
virtual bool usePar(const IOPar &)
visSurvey::WellDisplay::needsave_
bool needsave_
Definition: viswelldisplay.h:191
visSurvey::WellDisplay::canShowMarkers
bool canShowMarkers() const
visSurvey::WellDisplay::setLogDisplay
void setLogDisplay(visBase::Well::Side)
visSurvey::WellDisplay::setOneLogDisplayed
void setOneLogDisplayed(bool)
visSurvey::WellDisplay::setDisplayTransformation
void setDisplayTransformation(const mVisTrans *)
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
Well::LoadReqs
Definition: wellman.h:40
visSurvey::WellDisplay::displayLeftLog
void displayLeftLog()
visSurvey::WellDisplay::markerScreenSize
int markerScreenSize() const
visSurvey::WellDisplay::showMarkers
void showMarkers(bool)
visSurvey::WellDisplay::markerNameShown
bool markerNameShown() const
visSurvey::WellDisplay::setPixelDensity
virtual void setPixelDensity(float)
visSurvey::WellDisplay::addPick
void addPick(Coord3)
visSurvey::WellDisplay::showWellBotName
void showWellBotName(bool)
visSurvey
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
visSurvey::WellDisplay::showLogName
void showLogName(bool)
visSurvey::WellDisplay::setLogWidth
void setLogWidth(float, visBase::Well::Side)
visSurvey::WellDisplay::showMarkerName
void showMarkerName(bool)
visSurvey::WellDisplay::fillPar
virtual void fillPar(IOPar &) const
visSurvey::WellDisplay::mDefaultFactoryInstantiation
mDefaultFactoryInstantiation(visSurvey::SurveyObject, WellDisplay, "WellDisplay", toUiString(sFactoryKeyword())) bool setMultiID(const MultiID &)
viswell.h
visSurvey::WellDisplay::dispprop_
Well::DisplayProperties * dispprop_
Definition: viswelldisplay.h:172
visSurvey::WellDisplay::getMousePosInfo
void getMousePosInfo(const visBase::EventInfo &pos, Coord3 &, BufferString &val, BufferString &info) const
visSurvey::WellDisplay::setLineStyle
void setLineStyle(const OD::LineStyle &)
visSurvey::WellDisplay::getResolutionName
BufferString getResolutionName(int res) const
ranges.h
Interval< float >
visSurvey::WellDisplay::lineStyle
const OD::LineStyle * lineStyle() const
visSurvey::WellDisplay::calcClippedRange
void calcClippedRange(float, Interval< float > &, int)
visSurvey::WellDisplay::picksallowed_
bool picksallowed_
Definition: viswelldisplay.h:193
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
visSurvey::WellDisplay::setResolution
void setResolution(int res, TaskRunner *)
visSurvey::WellDisplay::logNameShown
bool logNameShown() const
visSurvey::WellDisplay::showLogs
void showLogs(bool)
visSurvey::WellDisplay::datatransform_
ZAxisTransform * datatransform_
Definition: viswelldisplay.h:184
visSurvey::WellDisplay::transformation_
const mVisTrans * transformation_
Definition: viswelldisplay.h:175
visSurvey::WellDisplay::getLogLineWidth
int getLogLineWidth() const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
visSurvey::WellDisplay::restoreDispProp
void restoreDispProp()
visSurvey::WellDisplay::displayRightLog
void displayRightLog()
visSurvey::WellDisplay::setSceneEventCatcher
void setSceneEventCatcher(visBase::EventCatcher *)
visSurvey::WellDisplay::welldataDelNotify
void welldataDelNotify(CallBacker *cb=0)
visSurvey::WellDisplay::addKnownPos
void addKnownPos()
TypeSet< Coord3 >

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