OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "vissurveymod.h"
16 #include "vissurvobj.h"
17 #include "visobject.h"
18 
19 namespace visBase
20 {
21  class TextureChannels;
22  class TextureChannel2RGBA;
23 };
24 
25 namespace ColTab { class MapperSetup; 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 
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,const Attrib::SelSpec&);
68  void setSelSpecs(int attrib,
70  void clearTextures();
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  const TypeSet<float>* getHistogram(int) const;
81  int getColTabID(int) const;
82 
84  int version) const;
89  bool canSetColTabSequence() const;
91  TaskRunner*);
92 
93  bool canHaveMultipleTextures() const { return true; }
94  int nrTextures(int attrib) const;
95  void selectTexture(int attrib, int texture );
96  int selectedTexture(int attrib) const;
97 
98  void fillPar(IOPar&) const;
99  bool usePar(const IOPar&);
100  virtual bool canBDispOn2DViewer() const { return true; }
102  { return channels_; }
104  Pos::GeomID geomid=-1) const;
105 
106  const char* errMsg() const { return errmsg_.str(); }
107 
108 protected:
109 
112  void getValueString(const Coord3&,
113  BufferString&) const;
115  virtual bool getCacheValue(int attrib,int version,
116  const Coord3&,float&) const = 0;
118 
120  virtual void addCache() = 0;
121  virtual void removeCache(int) = 0;
122  virtual void swapCache(int,int) = 0;
123  virtual void emptyCache(int) = 0;
124  virtual bool hasCache(int) const = 0;
125  virtual bool init();
126 
128 
130 
131 private:
135 
136  static const char* sKeySequence();
137  static const char* sKeyMapper();
138  static const char* sKeyResolution();
139  static const char* sKeyTextTrans();
140 };
141 
142 } // namespace visSurvey
143 
visSurvey::MultiTextureSurveyObject::setColTabSequence
void setColTabSequence(int, const ColTab::Sequence &, TaskRunner *)
visSurvey::MultiTextureSurveyObject::setAttribTransparency
void setAttribTransparency(int, unsigned char)
visSurvey::MultiTextureSurveyObject::~MultiTextureSurveyObject
~MultiTextureSurveyObject()
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
visSurvey::MultiTextureSurveyObject::as_
ObjectSet< TypeSet< Attrib::SelSpec > > as_
Definition: vismultiattribsurvobj.h:132
visSurvey::MultiTextureSurveyObject::clearTextures
void clearTextures()
visSurvey::MultiTextureSurveyObject::onoffstatus_
bool onoffstatus_
Definition: vismultiattribsurvobj.h:134
visBase::TextureChannel2RGBA
Definition: vistexturechannel2rgba.h:36
visSurvey::MultiTextureSurveyObject::canEnableTextureInterpolation
bool canEnableTextureInterpolation() const
Definition: vismultiattribsurvobj.h:101
visSurvey::MultiTextureSurveyObject::getSelSpec
const Attrib::SelSpec * getSelSpec(int attrib, int version=0) const
visSurvey::MultiTextureSurveyObject::setChannels2RGBA
bool setChannels2RGBA(visBase::TextureChannel2RGBA *)
visSurvey::MultiTextureSurveyObject::getColTabMapperSetup
const ColTab::MapperSetup * getColTabMapperSetup(int) const
visSurvey::MultiTextureSurveyObject::removeAttrib
bool removeAttrib(int attrib)
visSurvey::MultiTextureSurveyObject::getColTabMapperSetup
const ColTab::MapperSetup * getColTabMapperSetup(int attrib, int version) const
visSurvey::MultiTextureSurveyObject::getSelSpecs
const TypeSet< Attrib::SelSpec > * getSelSpecs(int attrib) const
visSurvey::MultiTextureSurveyObject::nrAttribs
int nrAttribs() const
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
ColTab
Color Table
Definition: coltab.h:22
visSurvey::MultiTextureSurveyObject
Definition: vismultiattribsurvobj.h:37
visSurvey::MultiTextureSurveyObject::selectedTexture
int selectedTexture(int attrib) const
visBase
Definition: visannot.h:43
visSurvey::MultiTextureSurveyObject::swapCache
virtual void swapCache(int, int)=0
ColTab::MapperSetup
Setup class for colortable Mapper.
Definition: coltabmapper.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
visSurvey::MultiTextureSurveyObject::sKeyMapper
static const char * sKeyMapper()
visSurvey::MultiTextureSurveyObject::usePar
bool usePar(const IOPar &)
visSurvey::MultiTextureSurveyObject::canHaveMultipleAttribs
bool canHaveMultipleAttribs() const
visSurvey::SurveyObject
Base class for all 'Display' objects.
Definition: vissurvobj.h:58
visBase::VisualObjectImpl
VisualObjectImpl
Definition: visobject.h:127
visSurvey::MultiTextureSurveyObject::hasCache
virtual bool hasCache(int) const =0
visSurvey::MultiTextureSurveyObject::channels_
visBase::TextureChannels * channels_
Definition: vismultiattribsurvobj.h:127
visobject.h
visSurvey::MultiTextureSurveyObject::turnOn
bool turnOn(bool yn)
visSurvey::MultiTextureSurveyObject::enableAttrib
void enableAttrib(int attrib, bool yn)
visSurvey::MultiTextureSurveyObject::sKeyTextTrans
static const char * sKeyTextTrans()
visSurvey::MultiTextureSurveyObject::setResolution
virtual void setResolution(int, TaskRunner *)=0
visSurvey::MultiTextureSurveyObject::isOn
bool isOn() const
visSurvey::MultiTextureSurveyObject::resolution_
int resolution_
Definition: vismultiattribsurvobj.h:129
visSurvey::MultiTextureSurveyObject::canDisplayInteractively
bool canDisplayInteractively(Pos::GeomID geomid=-1) const
ColTab::Sequence
Maps from [0,1] -> Color.
Definition: coltabsequence.h:37
visSurvey::MultiTextureSurveyObject::canAddAttrib
bool canAddAttrib(int nrattribstoadd=1) const
visBase::TextureChannels
Definition: vistexturechannels.h:50
visSurvey::MultiTextureSurveyObject::errMsg
const char * errMsg() const
Definition: vismultiattribsurvobj.h:106
visSurvey::MultiTextureSurveyObject::setSelSpec
void setSelSpec(int, const Attrib::SelSpec &)
OD::String::str
const char * str() const
Definition: odstring.h:47
visSurvey::MultiTextureSurveyObject::getAttribTransparency
unsigned char getAttribTransparency(int) const
visSurvey::MultiTextureSurveyObject::getHistogram
const TypeSet< float > * getHistogram(int) const
visSurvey::MultiTextureSurveyObject::canSetColTabSequence
bool canSetColTabSequence() const
visSurvey::MultiTextureSurveyObject::getResolution
int getResolution() const
visSurvey::MultiTextureSurveyObject::addCache
virtual void addCache()=0
visSurvey::MultiTextureSurveyObject::setColTabMapperSetup
void setColTabMapperSetup(int, const ColTab::MapperSetup &, TaskRunner *)
visSurvey::MultiTextureSurveyObject::allowShading
virtual void allowShading(bool)
visSurvey::MultiTextureSurveyObject::isAttribEnabled
bool isAttribEnabled(int attrib) const
visSurvey::MultiTextureSurveyObject::sKeySequence
static const char * sKeySequence()
visSurvey::MultiTextureSurveyObject::swapAttribs
bool swapAttribs(int attrib0, int attrib1)
visSurvey::MultiTextureSurveyObject::canRemoveAttrib
bool canRemoveAttrib() const
TaskRunner
Class that can execute a task.
Definition: task.h:170
visSurvey::MultiTextureSurveyObject::getChannels
visBase::TextureChannels * getChannels() const
Definition: vismultiattribsurvobj.h:51
visSurvey::MultiTextureSurveyObject::enableTextureInterpolation
void enableTextureInterpolation(bool)
visSurvey::MultiTextureSurveyObject::addAttrib
bool addAttrib()
visSurvey::MultiTextureSurveyObject::fillPar
void fillPar(IOPar &) const
visSurvey::MultiTextureSurveyObject::getValueString
void getValueString(const Coord3 &, BufferString &) const
Coord is in ztransformed space.
visSurvey::MultiTextureSurveyObject::init
virtual bool init()
visSurvey::MultiTextureSurveyObject::textureInterpolationEnabled
bool textureInterpolationEnabled() const
visSurvey::MultiTextureSurveyObject::canBDispOn2DViewer
virtual bool canBDispOn2DViewer() const
Definition: vismultiattribsurvobj.h:100
visSurvey::MultiTextureSurveyObject::MultiTextureSurveyObject
MultiTextureSurveyObject()
vissurvobj.h
visSurvey::MultiTextureSurveyObject::getColTabID
int getColTabID(int) const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
visSurvey::MultiTextureSurveyObject::emptyCache
virtual void emptyCache(int)=0
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
visSurvey::MultiTextureSurveyObject::nrTextures
int nrTextures(int attrib) const
visSurvey::MultiTextureSurveyObject::sKeyResolution
static const char * sKeyResolution()
visSurvey
Used for displaying a polyline, preview for a random line created throught well path.
Definition: visarrowdisplay.h:20
visSurvey::MultiTextureSurveyObject::isAngle
bool isAngle(int attrib) const
visSurvey::MultiTextureSurveyObject::getColTabSequence
const ColTab::Sequence * getColTabSequence(int) const
visSurvey::MultiTextureSurveyObject::removeCache
virtual void removeCache(int)=0
visSurvey::MultiTextureSurveyObject::setSelSpecs
void setSelSpecs(int attrib, const TypeSet< Attrib::SelSpec > &)
visSurvey::MultiTextureSurveyObject::isShown
bool isShown() const
visSurvey::MultiTextureSurveyObject::enabletextureinterp_
bool enabletextureinterp_
Definition: vismultiattribsurvobj.h:133
visSurvey::MultiTextureSurveyObject::canHaveMultipleTextures
bool canHaveMultipleTextures() const
Definition: vismultiattribsurvobj.h:93
visSurvey::MultiTextureSurveyObject::getChannels2RGBA
visBase::TextureChannel2RGBA * getChannels2RGBA()
visSurvey::MultiTextureSurveyObject::setAngleFlag
void setAngleFlag(int attrib, bool yn)
visSurvey::MultiTextureSurveyObject::nrResolutions
virtual int nrResolutions() const =0
Attrib::SelSpec
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
visSurvey::MultiTextureSurveyObject::getCacheValue
virtual bool getCacheValue(int attrib, int version, const Coord3 &, float &) const =0
Coord is in attribute space.
visSurvey::MultiTextureSurveyObject::updateMainSwitch
void updateMainSwitch()
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
Pos::GeomID
Index_Type GeomID
Definition: commontypes.h:87
TypeSet< Attrib::SelSpec >
visSurvey::MultiTextureSurveyObject::selectTexture
void selectTexture(int attrib, int texture)

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