OpendTect  6.6
visprestackdisplay.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: Yuancheng Liu
8  Date: May 2007
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "mousecursor.h"
15 #include "vissurveymod.h"
16 #include "vissurvobj.h"
17 #include "visobject.h"
18 #include "iopar.h"
19 
20 class IOObj;
21 class SeisPSReader;
22 
23 namespace PreStack { class ProcessManager; }
24 namespace visBase
25 {
26  class DepthTabPlaneDragger;
27  class FaceSet;
28  class FlatViewer;
29 }
30 
31 namespace visSurvey
32 {
33 
34 class PlaneDataDisplay;
35 class Seis2DDisplay;
36 
37 
40 {
41 public:
42 
46  "PreStackDisplay",
47  toUiString(sFactoryKeyword()) );
48 
49  void allowShading(bool yn);
50  void setMultiID(const MultiID& mid);
52  bool isInlCrl() const { return true; }
53  bool isOrientationInline() const;
54  const Coord getBaseDirection() const;
56  bool oncurrentline=true) const;
57 
58  //for 3D only at present
60 
61  bool is3DSeis() const;
62  virtual DataPack::ID getDataPackID(int i=0) const;
63 
64  visBase::FlatViewer* flatViewer() { return flatviewer_; }
65  const visBase::FlatViewer* flatViewer() const { return flatviewer_; }
66  PreStack::ProcessManager& procMgr() { return preprocmgr_; }
67 
68  //3D case
69  bool setPosition(const BinID&);
70  const BinID& getPosition() const;
74 
76  NotifierAccess* getMovementNotifier() { return &draggermoving;}
77  const BinID draggerPosition() const { return draggerpos_; }
78 
79  bool hasPosModeManipulator() const { return true; }
80 
81  //2D case
83  bool setSeis2DData(const IOObj* ioobj);
84  bool setSeis2DDisplay(Seis2DDisplay*,int trcnr);
85  void setTraceNr(int trcnr);
86  int traceNr() const { return trcnr_; }
88 
89  bool displayAutoWidth() const { return autowidth_; }
90  void displaysAutoWidth(bool yn);
91  bool displayOnPositiveSide() const {return posside_;}
92  void displaysOnPositiveSide(bool yn);
93  float getFactor() { return factor_; }
94  void setFactor(float scale);
95  float getWidth() { return width_; }
96  void setWidth(float width);
97  BinID getBinID() const { return bid_; }
98  virtual MultiID getMultiID() const { return mid_; }
99 
100  const MouseCursor* getMouseCursor() const { return &mousecursor_; }
101  virtual void getMousePosInfo( const visBase::EventInfo& ei,
102  IOPar& iop ) const
103  { SurveyObject::getMousePosInfo(ei,iop); }
104  virtual void getMousePosInfo(const visBase::EventInfo&,
105  Coord3&,
106  BufferString& val,
107  BufferString& info) const;
110  int whichobj );
111 
112 
113  void fillPar(IOPar&) const;
114  bool usePar(const IOPar&);
115  bool updateDisplay() { return updateData(); }
116 
117  static const char* sKeyParent() { return "Parent"; }
118  static const char* sKeyFactor() { return "Factor"; }
119  static const char* sKeyWidth() { return "Width"; }
120  static const char* sKeyAutoWidth() { return "AutoWidth"; }
121  static const char* sKeySide() { return "ShowSide"; }
122 
123 protected:
131  bool updateData();
132  int getNearTraceNr(int) const;
133  BinID getNearBinID(const BinID& pos) const;
134 
137 
145 
149  int trcnr_;
153 
154  bool posside_;
156  float factor_;
157  float width_;
160 
164 };
165 
166 } // namespace visSurvey
167 
visSurvey::PreStackDisplay::mid_
MultiID mid_
Definition: visprestackdisplay.h:146
visSurvey::PreStackDisplay::hasPosModeManipulator
bool hasPosModeManipulator() const
Definition: visprestackdisplay.h:79
visSurvey::PreStackDisplay::planedragger_
visBase::DepthTabPlaneDragger * planedragger_
Definition: visprestackdisplay.h:142
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
visSurvey::PreStackDisplay::sKeyAutoWidth
static const char * sKeyAutoWidth()
Definition: visprestackdisplay.h:120
visSurvey::PreStackDisplay::finishedCB
void finishedCB(CallBacker *)
visSurvey::PreStackDisplay::allowShading
void allowShading(bool yn)
visSurvey::PreStackDisplay::basedirection_
Coord basedirection_
Definition: visprestackdisplay.h:150
visSurvey::PreStackDisplay::getMovementNotifier
NotifierAccess * getMovementNotifier()
Definition: visprestackdisplay.h:76
visSurvey::PreStackDisplay::seis2dpos_
Coord seis2dpos_
Definition: visprestackdisplay.h:151
visSurvey::PreStackDisplay
Definition: visprestackdisplay.h:40
visSurvey::PreStackDisplay::preProcess
DataPack::ID preProcess()
visSurvey::PreStackDisplay::setSeis2DDisplay
bool setSeis2DDisplay(Seis2DDisplay *, int trcnr)
visSurvey::Seis2DDisplay
Used for displaying a 2D line.
Definition: visseis2ddisplay.h:40
visSurvey::PreStackDisplay::draggermoving
Notifier< PreStackDisplay > draggermoving
Definition: visprestackdisplay.h:75
visSurvey::PreStackDisplay::getMousePosInfo
virtual void getMousePosInfo(const visBase::EventInfo &ei, IOPar &iop) const
Definition: visprestackdisplay.h:101
visSurvey::PreStackDisplay::setSeis2DData
bool setSeis2DData(const IOObj *ioobj)
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
visSurvey::PreStackDisplay::getSectionDisplay
const PlaneDataDisplay * getSectionDisplay() const
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
visSurvey::PreStackDisplay::sectionMovedCB
void sectionMovedCB(CallBacker *)
visSurvey::PreStackDisplay::getMultiID
virtual MultiID getMultiID() const
Definition: visprestackdisplay.h:98
visBase
Definition: visannot.h:43
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visSurvey::PreStackDisplay::getSectionDisplay
PlaneDataDisplay * getSectionDisplay()
visSurvey::PreStackDisplay::setDisplayTransformation
void setDisplayTransformation(const mVisTrans *)
visSurvey::PreStackDisplay::displaysAutoWidth
void displaysAutoWidth(bool yn)
visSurvey::PreStackDisplay::sKeyFactor
static const char * sKeyFactor()
Definition: visprestackdisplay.h:118
visSurvey::SurveyObject
Base class for all 'Display' objects.
Definition: vissurvobj.h:58
visSurvey::PreStackDisplay::getObjectName
BufferString getObjectName() const
visSurvey::PreStackDisplay::getFactor
float getFactor()
Definition: visprestackdisplay.h:93
visBase::VisualObjectImpl
VisualObjectImpl
Definition: visobject.h:127
visSurvey::PreStackDisplay::isInlCrl
bool isInlCrl() const
Definition: visprestackdisplay.h:52
visBase::EventCatcher
Definition: visevent.h:87
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visSurvey::PreStackDisplay::updateDisplay
bool updateDisplay()
Definition: visprestackdisplay.h:115
visSurvey::PreStackDisplay::displaysOnPositiveSide
void displaysOnPositiveSide(bool yn)
visSurvey::PreStackDisplay::getSeis2DDisplay
const Seis2DDisplay * getSeis2DDisplay() const
visobject.h
mousecursor.h
visSurvey::PreStackDisplay::flatviewer_
visBase::FlatViewer * flatviewer_
Definition: visprestackdisplay.h:143
visSurvey::PreStackDisplay::~PreStackDisplay
~PreStackDisplay()
visSurvey::PreStackDisplay::getTraceRange
StepInterval< int > getTraceRange(const BinID &, bool oncurrentline=true) const
visSurvey::PreStackDisplay::getDataPackID
virtual DataPack::ID getDataPackID(int i=0) const
visSurvey::PreStackDisplay::setPosition
bool setPosition(const BinID &)
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< int >
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
visSurvey::PreStackDisplay::getNearBinID
BinID getNearBinID(const BinID &pos) const
visSurvey::PreStackDisplay::setFactor
void setFactor(float scale)
visSurvey::PreStackDisplay::eventcatcher_
visBase::EventCatcher * eventcatcher_
Definition: visprestackdisplay.h:140
visSurvey::SurveyObject::getMousePosInfo
virtual void getMousePosInfo(const visBase::EventInfo &, Coord3 &xyzpos, BufferString &val, BufferString &info) const
Definition: vissurvobj.h:250
visBase::FlatViewer
Definition: visflatviewer.h:29
visSurvey::PreStackDisplay::mDefaultFactoryInstantiation
mDefaultFactoryInstantiation(visSurvey::SurveyObject, PreStackDisplay, "PreStackDisplay", toUiString(sFactoryKeyword()))
visSurvey::PreStackDisplay::is3DSeis
bool is3DSeis() const
visSurvey::PreStackDisplay::sKeyParent
static const char * sKeyParent()
Definition: visprestackdisplay.h:117
visSurvey::PreStackDisplay::seis2DMovedCB
void seis2DMovedCB(CallBacker *)
PreStack::ProcessManager
Orgainizes a number of PreStack::Processors into a chain which can be processed.
Definition: prestackprocessor.h:140
visSurvey::PreStackDisplay::getWidth
float getWidth()
Definition: visprestackdisplay.h:95
visSurvey::PreStackDisplay::flatViewer
visBase::FlatViewer * flatViewer()
Definition: visprestackdisplay.h:64
visSurvey::PreStackDisplay::section_
PlaneDataDisplay * section_
Definition: visprestackdisplay.h:147
NotifierAccess
Interface class for Notifier. See comments there.
Definition: notify.h:22
visSurvey::PreStackDisplay::displayOnPositiveSide
bool displayOnPositiveSide() const
Definition: visprestackdisplay.h:91
visSurvey::PreStackDisplay::getPosition
const BinID & getPosition() const
visSurvey::PreStackDisplay::setTraceNr
void setTraceNr(int trcnr)
visSurvey::PreStackDisplay::draggerpos_
BinID draggerpos_
Definition: visprestackdisplay.h:139
visBase::EventInfo
Definition: visevent.h:44
visSurvey::PreStackDisplay::lineName
BufferString lineName() const
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
visSurvey::PreStackDisplay::setSectionDisplay
void setSectionDisplay(PlaneDataDisplay *)
visSurvey::PreStackDisplay::PreStackDisplay
PreStackDisplay()
IOObj
Definition: ioobj.h:58
visSurvey::PreStackDisplay::procMgr
PreStack::ProcessManager & procMgr()
Definition: visprestackdisplay.h:66
visSurvey::PreStackDisplay::sKeyWidth
static const char * sKeyWidth()
Definition: visprestackdisplay.h:119
visSurvey::PreStackDisplay::bid_
BinID bid_
Definition: visprestackdisplay.h:138
visSurvey::PreStackDisplay::dataChangedCB
void dataChangedCB(CallBacker *)
visSurvey::PreStackDisplay::preprocmgr_
PreStack::ProcessManager & preprocmgr_
Definition: visprestackdisplay.h:144
PreStack
Definition: synthseis.h:35
visSurvey::PreStackDisplay::mousecursor_
MouseCursor mousecursor_
Definition: visprestackdisplay.h:141
mVisTrans
#define mVisTrans
Definition: visdata.h:28
visSurvey::PreStackDisplay::usePar
bool usePar(const IOPar &)
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
visSurvey::PreStackDisplay::seis2dstoppos_
Coord seis2dstoppos_
Definition: visprestackdisplay.h:152
visSurvey::PlaneDataDisplay
Used for displaying an inline, crossline or timeslice.
Definition: visplanedatadisplay.h:42
vissurvobj.h
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
visSurvey::PreStackDisplay::draggerPosition
const BinID draggerPosition() const
Definition: visprestackdisplay.h:77
visSurvey::PreStackDisplay::getBinID
BinID getBinID() const
Definition: visprestackdisplay.h:97
visSurvey::PreStackDisplay::factor_
float factor_
Definition: visprestackdisplay.h:156
DataPack::ID
int ID
Definition: datapack.h:37
visSurvey::PreStackDisplay::posside_
bool posside_
Definition: visprestackdisplay.h:154
visSurvey::PreStackDisplay::flatViewer
const visBase::FlatViewer * flatViewer() const
Definition: visprestackdisplay.h:65
visSurvey::PreStackDisplay::draggerMotion
void draggerMotion(CallBacker *)
visSurvey::PreStackDisplay::zrg_
Interval< float > zrg_
Definition: visprestackdisplay.h:159
visSurvey::PreStackDisplay::getMouseCursor
const MouseCursor * getMouseCursor() const
Definition: visprestackdisplay.h:100
SeisPSReader
reads from a prestack seismic data store.
Definition: seispsread.h:34
visSurvey::PreStackDisplay::autowidth_
bool autowidth_
Definition: visprestackdisplay.h:155
visSurvey::PreStackDisplay::otherObjectsMoved
void otherObjectsMoved(const ObjectSet< const SurveyObject > &, int whichobj)
visSurvey::PreStackDisplay::movefinished_
Notifier< PreStackDisplay > movefinished_
Definition: visprestackdisplay.h:163
MouseCursor
Definition of a mouse cursor, can be either a predefined shape (from the enum, or a file....
Definition: mousecursor.h:26
visSurvey::PreStackDisplay::updateMouseCursorCB
void updateMouseCursorCB(CallBacker *)
visBase::DepthTabPlaneDragger
Definition: visdepthtabplanedragger.h:36
visSurvey::PreStackDisplay::isOrientationInline
bool isOrientationInline() const
visSurvey
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
visSurvey::PreStackDisplay::displayAutoWidth
bool displayAutoWidth() const
Definition: visprestackdisplay.h:89
iopar.h
visSurvey::PreStackDisplay::fillPar
void fillPar(IOPar &) const
visSurvey::PreStackDisplay::trcnr_
int trcnr_
Definition: visprestackdisplay.h:149
visSurvey::PreStackDisplay::setMultiID
void setMultiID(const MultiID &mid)
visSurvey::PreStackDisplay::reader_
SeisPSReader * reader_
Definition: visprestackdisplay.h:161
visSurvey::PreStackDisplay::ioobj_
IOObj * ioobj_
Definition: visprestackdisplay.h:162
visSurvey::PreStackDisplay::traceNr
int traceNr() const
Definition: visprestackdisplay.h:86
Interval< float >
visSurvey::PreStackDisplay::offsetrange_
Interval< float > offsetrange_
Definition: visprestackdisplay.h:158
visSurvey::PreStackDisplay::setWidth
void setWidth(float width)
visSurvey::PreStackDisplay::updateData
bool updateData()
visSurvey::PreStackDisplay::width_
float width_
Definition: visprestackdisplay.h:157
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
visSurvey::PreStackDisplay::seis2d_
Seis2DDisplay * seis2d_
Definition: visprestackdisplay.h:148
visSurvey::PreStackDisplay::setSceneEventCatcher
void setSceneEventCatcher(visBase::EventCatcher *)
visSurvey::PreStackDisplay::getMousePosInfo
virtual void getMousePosInfo(const visBase::EventInfo &, Coord3 &, BufferString &val, BufferString &info) const
visSurvey::PreStackDisplay::sKeySide
static const char * sKeySide()
Definition: visprestackdisplay.h:121
visSurvey::PreStackDisplay::getBaseDirection
const Coord getBaseDirection() const
visSurvey::PreStackDisplay::getNearTraceNr
int getNearTraceNr(int) const

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