OpendTect  6.3
vismultiattribsurvobj.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 #include "vissurveymod.h"
15 #include "vissurvobj.h"
16 #include "visobject.h"
17 #include "coltabmappersetup.h"
18 
19 namespace visBase
20 {
21  class TextureChannels;
22  class TextureChannel2RGBA;
23 };
24 
25 namespace ColTab { class Sequence; }
26 
27 namespace visSurvey
28 {
29 
36  , public SurveyObject
37 {
38 public:
39  bool turnOn(bool yn);
40  bool isOn() const;
41  bool isShown() const;
44 
45  virtual int nrResolutions() const = 0;
46  virtual void setResolution(int,TaskRunner*) = 0;
47  int getResolution() const;
48 
49  bool setChannels2RGBA(visBase::TextureChannel2RGBA*);
50  visBase::TextureChannel2RGBA* getChannels2RGBA();
51  visBase::TextureChannels* getChannels() const { return channels_; }
52 
53  bool canHaveMultipleAttribs() const;
54  bool canAddAttrib(int nrattribstoadd=1) const;
55  bool canRemoveAttrib() const;
56  int nrAttribs() const;
57  bool addAttrib();
58  bool removeAttrib(int attrib);
59  bool swapAttribs(int attrib0,int attrib1);
60  void setAttribTransparency(int,unsigned char);
61  unsigned char getAttribTransparency(int) const;
62  virtual void allowShading(bool);
63 
64  const Attrib::SelSpec* getSelSpec(int attrib,int version=0) const;
65  const TypeSet<Attrib::SelSpec>* getSelSpecs(int attrib) const;
66 
67  void setSelSpec(int attrib,const Attrib::SelSpec&);
68  void setSelSpecs(int attrib,
70  void clearTextures();
73  void enableTextureInterpolation(bool);
74  bool textureInterpolationEnabled() const;
75 
76  bool isAngle(int attrib) const;
77  void setAngleFlag(int attrib,bool yn);
78  void enableAttrib(int attrib,bool yn);
79  bool isAttribEnabled(int attrib) const;
80 
81  const ColTab::Mapper& getColTabMapper(int attrib) const;
82  void setColTabMapper(int,const ColTab::Mapper&,
83  TaskRunner*);
84  const ColTab::Sequence& getColTabSequence(int) const;
85  bool canSetColTabSequence() const;
86  void setColTabSequence(int,const ColTab::Sequence&,
87  TaskRunner*);
88 
89  bool canHaveMultipleTextures() const { return true; }
90  int nrTextures(int attrib) const;
91  void selectTexture(int attrib, int texture );
92  int selectedTexture(int attrib) const;
93 
94  void fillPar(IOPar&) const;
95  bool usePar(const IOPar&);
96  virtual bool canBDispOn2DViewer() const { return true; }
98  { return channels_; }
99  bool canDisplayInteractively(
100  Pos::GeomID geomid=-1) const;
101 
102  const uiString& errMsg() const { return errmsg_; }
103 
104 protected:
105 
108  void getValueString(const Coord3&,
109  BufferString&) const;
111  virtual bool getCacheValue(int attrib,int version,
112  const Coord3&,float&) const = 0;
114 
115  void updateMainSwitch();
116  virtual void addCache() = 0;
117  virtual void removeCache(int) = 0;
118  virtual void swapCache(int,int) = 0;
119  virtual void emptyCache(int) = 0;
120  virtual bool hasCache(int) const = 0;
121  virtual bool init();
122 
124 
126 
127 private:
128 
130 
133 
134  static const char* sKeySequence();
135  static const char* sKeyMapper();
136  static const char* sKeyResolution();
137  static const char* sKeyTextTrans();
138 };
139 
140 } // namespace visSurvey
#define mExpClass(module)
Definition: commondefs.h:157
void turnOn(int flag)
Overrides the envirnonment variable.
Definition: vistexturechannels.h:46
int resolution_
Definition: vismultiattribsurvobj.h:125
A series of color control points able to give an (interpolated) color for every position [0...
Definition: coltabsequence.h:37
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
bool init()
Definition: uistring.h:88
Maps data values to color sequence positions: [0,1].
Definition: coltabmapper.h:33
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:18
bool isAngle(DataType)
Definition: vistexturechannel2rgba.h:33
Set of pointers to objects.
Definition: commontypes.h:28
virtual bool canBDispOn2DViewer() const
Definition: vismultiattribsurvobj.h:96
3D point or vector
Definition: commontypes.h:57
VisualObjectImpl
Definition: visobject.h:123
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
bool isOn(int flag=0xffff)
Class that can execute a task.
Definition: task.h:193
bool canHaveMultipleTextures() const
Definition: vismultiattribsurvobj.h:89
bool onoffstatus_
Definition: vismultiattribsurvobj.h:132
bool enabletextureinterp_
Definition: vismultiattribsurvobj.h:131
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Definition: vismultiattribsurvobj.h:35
visBase::TextureChannels * channels_
Definition: vismultiattribsurvobj.h:123
Index_Type GeomID
Definition: commontypes.h:48
Definition: visannot.h:40
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
bool canEnableTextureInterpolation() const
Definition: vismultiattribsurvobj.h:97
BufferString errmsg_
Definition: horizontracker.h:117
Base class for all &#39;Display&#39; objects.
Definition: vissurvobj.h:54
Definition: coltab.h:20
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:43
const uiString & errMsg() const
Definition: vismultiattribsurvobj.h:102
visBase::TextureChannels * getChannels() const
Definition: vismultiattribsurvobj.h:51
ObjectSet< TypeSet< Attrib::SelSpec > > as_
Definition: vismultiattribsurvobj.h:129

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