OpendTect  6.6
visfaultsetdisplay.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  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "vissurveymod.h"
16 #include "vismultiattribsurvobj.h"
17 
18 #include "emposid.h"
19 #include "explfaultsticksurface.h"
20 #include "ranges.h"
21 
22 class DataPointSet;
23 class ZAxisTransform;
24 
25 namespace visBase
26 {
27  class EventCatcher;
28  class GeomIndexedShape;
29  class Transformation;
30  class PolyLine3D;
31  class DrawStyle;
32 }
33 
34 namespace EM { class FaultSet3D; }
35 namespace Geometry
36 {
37  class ExplPlaneIntersection;
38  class FaultStickSurface;
39 }
40 
41 template <class T > class Array2D;
42 
43 namespace visSurvey
44 {
45 class HorizonDisplay;
46 
54 public:
56 
59  "FaultSetDisplay",
60  toUiString(sFactoryKeyword()));
61 
62 
64  bool isInlCrl() const { return false; }
65 
66  virtual int nrResolutions() const;
67  virtual void setResolution(int,TaskRunner*);
68 
70  { return SurveyObject::RandomPos; }
72  void getRandomPosCache(int,DataPointSet&) const;
73  void setRandomPosData(int,const DataPointSet*,
74  TaskRunner*);
75 
76  bool hasColor() const { return true; }
77  bool usesColor() const;
78  Color getColor() const;
79  void setColor(Color);
80  bool allowMaterialEdit() const { return true; }
82 
83  void useTexture( bool yn, bool trigger );
84  bool usesTexture() const;
85  bool showsTexture() const;
86  bool canShowTexture() const;
87 
88  void setDepthAsAttrib(int);
89  void enableAttrib(int attrib,bool yn);
90  bool hasSingleColorFallback() const { return true; }
91 
94 
96 
99 
100  void displayPanels(bool);
101  bool arePanelsDisplayed() const;
103 
106 
107  void setScene(Scene*);
108 
109  bool canRemoveSelection() const {return false;}
110 
113 
114  void displayIntersections(bool yn);
117 
121 
124 
125  const OD::LineStyle* lineStyle() const;
127  virtual void getMousePosInfo(const visBase::EventInfo& ei,
128  IOPar& iop ) const
129  { return MultiTextureSurveyObject
130  ::getMousePosInfo(ei,iop); }
132  Coord3& xyzpos,BufferString& val,
133  BufferString& info) const;
134 
135  bool allowsPicks() const {return false;}
136  bool isVerticalPlane() const {return false;}
137  bool canBDispOn2DViewer() const {return false;}
138  int addDataPack(const DataPointSet&) const ;
139  bool setDataPackID(int attrib,DataPack::ID,
140  TaskRunner*);
141  DataPack::ID getDataPackID(int attrib) const;
143  { return DataPackMgr::PointID(); }
144 
146  const ObjectSet<const SurveyObject>& objs,
147  int whichobj)
148  { otherObjectsMoved( objs, whichobj ); }
149 
152  virtual void setPixelDensity(float dpi);
153  virtual void setAttribTransparency(int,unsigned char);
154 
155  virtual bool addAttrib();
156  virtual bool removeAttrib(int attrib);
157  virtual bool swapAttribs(int a0,int a1);
158 
159  const TypeSet<float>* getHistogram(int) const;
160 
162  int version) const;
165 
166  bool canSetColTabSequence() const;
168  TaskRunner*);
169 
172 
173  virtual void fillPar(IOPar&) const;
174  virtual bool usePar(const IOPar&);
175 
177 
178 protected:
179 
180  virtual ~FaultSetDisplay();
183  int whichobj);
184  int getFaultID(const visBase::EventInfo&) const;
185  void setRandomPosDataInternal(int attrib,
186  const DataPointSet*,
187  int column,
188  TaskRunner*);
193 
195 
196  virtual bool getCacheValue(int attrib,int version,
197  const Coord3&,float&) const;
198  virtual void addCache();
199  virtual void removeCache(int);
200  virtual void swapCache(int,int);
201  virtual void emptyCache(int);
202  virtual bool hasCache(int) const;
203 
207 
208  void updateHorizonIntersections( int whichobj,
210 
211  Coord3 disp2world(const Coord3& displaypos) const;
212 
214 
215  ZAxisTransform* zaxistransform_ = nullptr;
216  int voiid_;
217 
220 
225 
228 
230 
234 
236 
238 
242 
244 
245  EM::FaultSet3D* faultset_ = nullptr;
246 
248 
251 
252  const mVisTrans* displaytransform_ = nullptr;
253  visBase::EventCatcher* eventcatcher_ = nullptr;
254 
255  static const char* sKeyTriProjection();
256  static const char* sKeyEarthModelID();
257  static const char* sKeyDisplayPanels();
258  static const char* sKeyDisplayIntersections();
259  static const char* sKeyDisplayHorIntersections();
260  static const char* sKeyLineStyle();
261  static const char* sKeyUseTexture();
262  static const char* sKeyZValues();
263 };
264 
265 };
visSurvey::FaultSetDisplay::setSceneEventCatcher
void setSceneEventCatcher(visBase::EventCatcher *)
visSurvey::FaultSetDisplay::sKeyDisplayHorIntersections
static const char * sKeyDisplayHorIntersections()
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
visSurvey::FaultSetDisplay::setColor
void setColor(Color)
OD::LineStyle
Definition: draw.h:118
visSurvey::FaultSetDisplay::doOtherObjectsMoved
void doOtherObjectsMoved(const ObjectSet< const SurveyObject > &objs, int whichobj)
Definition: visfaultsetdisplay.h:145
visSurvey::FaultSetDisplay::sKeyDisplayIntersections
static const char * sKeyDisplayIntersections()
emposid.h
visSurvey::FaultSetDisplay::triangulateAlg
void triangulateAlg(mFltTriProj)
visSurvey::FaultSetDisplay::getDataPackMgrID
DataPackMgr::ID getDataPackMgrID() const
Definition: visfaultsetdisplay.h:142
visSurvey::FaultSetDisplay::usePar
virtual bool usePar(const IOPar &)
visSurvey::FaultSetDisplay::allowsPicks
bool allowsPicks() const
Definition: visfaultsetdisplay.h:135
visSurvey::FaultSetDisplay::planeids_
TypeSet< int > planeids_
Definition: visfaultsetdisplay.h:224
visSurvey::FaultSetDisplay::disp2world
Coord3 disp2world(const Coord3 &displaypos) const
visSurvey::FaultSetDisplay::setPixelDensity
virtual void setPixelDensity(float dpi)
visSurvey::FaultSetDisplay::setColTabSequence
void setColTabSequence(int, const ColTab::Sequence &, TaskRunner *)
visSurvey::FaultSetDisplay::getDataPackID
DataPack::ID getDataPackID(int attrib) const
visSurvey::FaultSetDisplay::isInlCrl
bool isInlCrl() const
Definition: visfaultsetdisplay.h:64
visSurvey::FaultSetDisplay::usesTexture
bool usesTexture() const
mFltTriProj
#define mFltTriProj
Definition: explfaultsticksurface.h:33
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
visSurvey::FaultSetDisplay::sKeyZValues
static const char * sKeyZValues()
visSurvey::FaultSetDisplay::horshapes_
ObjectSet< Geometry::ExplFaultStickSurface > horshapes_
Definition: visfaultsetdisplay.h:227
visSurvey::FaultSetDisplay::updateIntersectionDisplay
void updateIntersectionDisplay()
visSurvey::FaultSetDisplay::swapAttribs
virtual bool swapAttribs(int a0, int a1)
visSurvey::MultiTextureSurveyObject
Definition: vismultiattribsurvobj.h:37
visSurvey::FaultSetDisplay::setAttribTransparency
virtual void setAttribTransparency(int, unsigned char)
File::toUiString
Export_Basic uiString toUiString(ViewStyle)
visSurvey::FaultSetDisplay::mDefaultFactoryInstantiation
mDefaultFactoryInstantiation(visSurvey::SurveyObject, FaultSetDisplay, "FaultSetDisplay", toUiString(sFactoryKeyword()))
Geometry
Definition: arraytesselator.h:21
visBase
Definition: visannot.h:43
visSurvey::FaultSetDisplay::nrResolutions
virtual int nrResolutions() const
visSurvey::FaultSetDisplay::useTexture
void useTexture(bool yn, bool trigger)
visSurvey::FaultSetDisplay::getFaultID
int getFaultID(const visBase::EventInfo &) const
ColTab::MapperSetup
Setup class for colortable Mapper.
Definition: coltabmapper.h:35
visSurvey::FaultSetDisplay::hasColor
bool hasColor() const
Definition: visfaultsetdisplay.h:76
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visSurvey::FaultSetDisplay::addDataPack
int addDataPack(const DataPointSet &) const
visSurvey::FaultSetDisplay::displaymodechange
Notifier< FaultSetDisplay > displaymodechange
Definition: visfaultsetdisplay.h:123
visSurvey::FaultSetDisplay::sKeyDisplayPanels
static const char * sKeyDisplayPanels()
visSurvey::FaultSetDisplay::canDisplayHorizonIntersections
bool canDisplayHorizonIntersections() const
visSurvey::FaultSetDisplay::datapackids_
TypeSet< DataPack::ID > datapackids_
Definition: visfaultsetdisplay.h:237
visSurvey::FaultSetDisplay::nontexturecol_
Color nontexturecol_
Definition: visfaultsetdisplay.h:240
visSurvey::FaultSetDisplay::setOnlyAtSectionsDisplay
void setOnlyAtSectionsDisplay(bool)
DataPackMgr::ID
int ID
Each Mgr has its own ID.
Definition: datapack.h:139
visSurvey::FaultSetDisplay::getFaultDisplayedPlane
const visBase::GeomIndexedShape * getFaultDisplayedPlane(int) const
visSurvey::SurveyObject
Base class for all 'Display' objects.
Definition: vissurvobj.h:58
visBase::EventCatcher
Definition: visevent.h:87
visSurvey::FaultSetDisplay::canSetColTabSequence
bool canSetColTabSequence() const
visSurvey::FaultSetDisplay::setDisplayTransformation
void setDisplayTransformation(const mVisTrans *)
visSurvey::FaultSetDisplay::displayHorizonIntersections
void displayHorizonIntersections(bool yn)
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
visSurvey::FaultSetDisplay::addAttrib
virtual bool addAttrib()
visSurvey::FaultSetDisplay::usesColor
bool usesColor() const
visSurvey::FaultSetDisplay::setColTabMapperSetup
void setColTabMapperSetup(int, const ColTab::MapperSetup &, TaskRunner *)
visSurvey::FaultSetDisplay::horintersectids_
TypeSet< int > horintersectids_
Definition: visfaultsetdisplay.h:231
visSurvey::FaultSetDisplay::swapCache
virtual void swapCache(int, int)
visSurvey::SurveyObject::AttribFormat
AttribFormat
Definition: vissurvobj.h:175
visSurvey::FaultSetDisplay::updateHorizonIntersectionDisplay
void updateHorizonIntersectionDisplay()
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
visSurvey::FaultSetDisplay::getCacheValue
virtual bool getCacheValue(int attrib, int version, const Coord3 &, float &) const
Coord is in attribute space.
visSurvey::FaultSetDisplay::removeAttrib
virtual bool removeAttrib(int attrib)
visSurvey::FaultSetDisplay::getZAxisTransform
const ZAxisTransform * getZAxisTransform() const
visSurvey::FaultSetDisplay::~FaultSetDisplay
virtual ~FaultSetDisplay()
explfaultsticksurface.h
visSurvey::FaultSetDisplay::setEMObjectID
bool setEMObjectID(const EM::ObjectID &)
visSurvey::FaultSetDisplay::setDepthAsAttrib
void setDepthAsAttrib(int)
visSurvey::FaultSetDisplay::sKeyUseTexture
static const char * sKeyUseTexture()
visSurvey::FaultSetDisplay::getEMObjectID
EM::ObjectID getEMObjectID() const
visSurvey::FaultSetDisplay::materialChange
NotifierAccess * materialChange()
visSurvey::FaultSetDisplay
Definition: visfaultsetdisplay.h:53
visSurvey::FaultSetDisplay::triangulateAlg
mFltTriProj triangulateAlg() const
visSurvey::FaultSetDisplay::canDisplayIntersections
bool canDisplayIntersections() const
visSurvey::FaultSetDisplay::horintersections_
ObjectSet< visBase::GeomIndexedShape > horintersections_
Definition: visfaultsetdisplay.h:226
visSurvey::FaultSetDisplay::setRandomPosDataInternal
void setRandomPosDataInternal(int attrib, const DataPointSet *, int column, TaskRunner *)
visSurvey::FaultSetDisplay::setLineRadius
void setLineRadius(visBase::GeomIndexedShape *)
DataPointSet
Set of data points with group selection.
Definition: datapointset.h:48
visSurvey::FaultSetDisplay::allowMaterialEdit
bool allowMaterialEdit() const
Definition: visfaultsetdisplay.h:80
ZAxisTransform
Base class for z-axis transforms.
Definition: zaxistransform.h:37
ColTab::Sequence
Maps from [0,1] -> Color.
Definition: coltabsequence.h:37
visSurvey::FaultSetDisplay::hasCache
virtual bool hasCache(int) const
visSurvey::FaultSetDisplay::dataTransformCB
void dataTransformCB(CallBacker *)
visSurvey::FaultSetDisplay::setResolution
virtual void setResolution(int, TaskRunner *)
visSurvey::FaultSetDisplay::sKeyEarthModelID
static const char * sKeyEarthModelID()
visSurvey::FaultSetDisplay::canBDispOn2DViewer
bool canBDispOn2DViewer() const
Definition: visfaultsetdisplay.h:137
visSurvey::FaultSetDisplay::sKeyLineStyle
static const char * sKeyLineStyle()
visSurvey::SurveyObject::getMousePosInfo
virtual void getMousePosInfo(const visBase::EventInfo &, Coord3 &xyzpos, BufferString &val, BufferString &info) const
Definition: vissurvobj.h:250
visSurvey::FaultSetDisplay::enableAttrib
void enableAttrib(int attrib, bool yn)
visSurvey::FaultSetDisplay::channelset_
ObjectSet< visBase::TextureChannels > channelset_
Definition: visfaultsetdisplay.h:229
visSurvey::FaultSetDisplay::intersectionobjs_
ObjectSet< const SurveyObject > intersectionobjs_
Definition: visfaultsetdisplay.h:223
visSurvey::FaultSetDisplay::getDisplayTransformation
const mVisTrans * getDisplayTransformation() const
NotifierAccess
Interface class for Notifier. See comments there.
Definition: notify.h:22
vismultiattribsurvobj.h
visSurvey::FaultSetDisplay::updateSingleColor
void updateSingleColor()
visSurvey::FaultSetDisplay::getRandomPos
void getRandomPos(DataPointSet &, TaskRunner *) const
visSurvey::FaultSetDisplay::removeCache
virtual void removeCache(int)
visSurvey::FaultSetDisplay::canRemoveSelection
bool canRemoveSelection() const
Definition: visfaultsetdisplay.h:109
visBase::EventInfo
Definition: visevent.h:44
visBase::GeomIndexedShape
Definition: visgeomindexedshape.h:40
TaskRunner
Class that can execute a task.
Definition: task.h:170
visSurvey::FaultSetDisplay::addCache
virtual void addCache()
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
visSurvey::FaultSetDisplay::matChangeCB
void matChangeCB(CallBacker *)
visSurvey::FaultSetDisplay::updatePanelDisplay
void updatePanelDisplay()
visSurvey::Scene
Database for 3D objects.
Definition: vissurvscene.h:76
visSurvey::FaultSetDisplay::mODTextTranslationClass
mODTextTranslationClass(FaultSetDisplay)
visSurvey::FaultSetDisplay::areHorizonIntersectionsDisplayed
bool areHorizonIntersectionsDisplayed() const
visSurvey::FaultSetDisplay::explicitpanels_
ObjectSet< Geometry::ExplFaultStickSurface > explicitpanels_
Definition: visfaultsetdisplay.h:219
visSurvey::FaultSetDisplay::otherobjects_
bool otherobjects_
Definition: visfaultsetdisplay.h:250
visSurvey::FaultSetDisplay::explicitintersections_
ObjectSet< Geometry::ExplPlaneIntersection > explicitintersections_
Definition: visfaultsetdisplay.h:222
visSurvey::FaultSetDisplay::validtexture_
bool validtexture_
Definition: visfaultsetdisplay.h:239
visSurvey::FaultSetDisplay::otherObjectsMoved
void otherObjectsMoved(const ObjectSet< const SurveyObject > &, int whichobj)
mVisTrans
#define mVisTrans
Definition: visdata.h:28
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
visSurvey::FaultSetDisplay::showsTexture
bool showsTexture() const
visSurvey::FaultSetDisplay::colorchange
Notifier< FaultSetDisplay > colorchange
Definition: visfaultsetdisplay.h:122
visSurvey::FaultSetDisplay::getColor
Color getColor() const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
visSurvey::FaultSetDisplay::texturedataset_
ObjectSet< ObjectSet< Array2D< float > > > texturedataset_
Definition: visfaultsetdisplay.h:247
visSurvey::FaultSetDisplay::mouseCB
void mouseCB(CallBacker *)
visSurvey::FaultSetDisplay::intersectiondisplays_
ObjectSet< visBase::GeomIndexedShape > intersectiondisplays_
Definition: visfaultsetdisplay.h:221
visSurvey::FaultSetDisplay::setLineStyle
void setLineStyle(const OD::LineStyle &)
visSurvey::FaultSetDisplay::emChangeCB
void emChangeCB(CallBacker *)
visSurvey::FaultSetDisplay::setScene
void setScene(Scene *)
DataPack::ID
int ID
Definition: datapack.h:37
visSurvey::FaultSetDisplay::updateDisplay
void updateDisplay()
visSurvey::FaultSetDisplay::emptyCache
virtual void emptyCache(int)
visSurvey::FaultSetDisplay::drawstyle_
visBase::DrawStyle * drawstyle_
Definition: visfaultsetdisplay.h:249
EM::ObjectID
od_int32 ObjectID
Definition: emposid.h:23
visSurvey::FaultSetDisplay::mousepos_
Coord3 mousepos_
Definition: visfaultsetdisplay.h:235
visSurvey::FaultSetDisplay::getRandomPosCache
void getRandomPosCache(int, DataPointSet &) const
visSurvey::FaultSetDisplay::voiid_
int voiid_
Definition: visfaultsetdisplay.h:216
visSurvey::FaultSetDisplay::areIntersectionsDisplayed
bool areIntersectionsDisplayed() const
visSurvey::FaultSetDisplay::getMultiID
MultiID getMultiID() const
visSurvey::FaultSetDisplay::displayedOnlyAtSections
bool displayedOnlyAtSections() const
visSurvey::FaultSetDisplay::lineStyle
const OD::LineStyle * lineStyle() const
visSurvey::FaultSetDisplay::hasSingleColorFallback
bool hasSingleColorFallback() const
Definition: visfaultsetdisplay.h:90
visSurvey::SurveyObject::RandomPos
@ RandomPos
Definition: vissurvobj.h:175
visSurvey::FaultSetDisplay::isVerticalPlane
bool isVerticalPlane() const
Definition: visfaultsetdisplay.h:136
visSurvey
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
visSurvey::FaultSetDisplay::displaypanels_
bool displaypanels_
Definition: visfaultsetdisplay.h:243
visSurvey::FaultSetDisplay::getMousePosInfo
virtual void getMousePosInfo(const visBase::EventInfo &ei, IOPar &iop) const
Definition: visfaultsetdisplay.h:127
visSurvey::FaultSetDisplay::usestexture_
bool usestexture_
Definition: visfaultsetdisplay.h:241
visSurvey::FaultSetDisplay::canShowTexture
bool canShowTexture() const
visSurvey::FaultSetDisplay::getColTabMapperSetup
const ColTab::MapperSetup * getColTabMapperSetup(int attrib, int version) const
visSurvey::FaultSetDisplay::getAttributeFormat
SurveyObject::AttribFormat getAttributeFormat(int) const
Definition: visfaultsetdisplay.h:69
visSurvey::FaultSetDisplay::arePanelsDisplayed
bool arePanelsDisplayed() const
visSurvey::FaultSetDisplay::setZAxisTransform
bool setZAxisTransform(ZAxisTransform *, TaskRunner *)
visSurvey::FaultSetDisplay::fillPar
virtual void fillPar(IOPar &) const
visSurvey::FaultSetDisplay::arePanelsDisplayedInFull
bool arePanelsDisplayedInFull() const
visSurvey::FaultSetDisplay::setRandomPosData
void setRandomPosData(int, const DataPointSet *, TaskRunner *)
visSurvey::FaultSetDisplay::getMousePosInfo
void getMousePosInfo(const visBase::EventInfo &, Coord3 &xyzpos, BufferString &val, BufferString &info) const
ranges.h
visSurvey::FaultSetDisplay::paneldisplays_
ObjectSet< visBase::GeomIndexedShape > paneldisplays_
Definition: visfaultsetdisplay.h:218
visSurvey::FaultSetDisplay::displayhorintersections_
bool displayhorintersections_
Definition: visfaultsetdisplay.h:233
visSurvey::FaultSetDisplay::FaultSetDisplay
FaultSetDisplay()
visSurvey::FaultSetDisplay::emFaultSet
EM::FaultSet3D * emFaultSet()
visSurvey::FaultSetDisplay::getHistogram
const TypeSet< float > * getHistogram(int) const
EM::FaultSet3D
3D FaultSet
Definition: emfaultset3d.h:27
visSurvey::FaultSetDisplay::displayPanels
void displayPanels(bool)
Color
Color is an RGB color object, with a transparancy. The storage is in a 4-byte integer,...
Definition: color.h:26
visBase::DrawStyle
Definition: visdrawstyle.h:33
visSurvey::FaultSetDisplay::sKeyTriProjection
static const char * sKeyTriProjection()
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
visSurvey::FaultSetDisplay::displayintersections_
bool displayintersections_
Definition: visfaultsetdisplay.h:232
Array2D
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:140
visSurvey::FaultSetDisplay::displayIntersections
void displayIntersections(bool yn)
DataPackMgr::PointID
static ID PointID()
Sets of 'unconnected' points: 2.
visSurvey::FaultSetDisplay::updateHorizonIntersections
void updateHorizonIntersections(int whichobj, const ObjectSet< const SurveyObject > &)
visSurvey::FaultSetDisplay::setDataPackID
bool setDataPackID(int attrib, DataPack::ID, TaskRunner *)
TypeSet< float >

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