OpendTect  6.3
attribprobelayer.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: Satyaki Maitra
8  Date: September 2016
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "attributeenginemod.h"
14 #include "probe.h"
15 #include "datapack.h"
16 #include "attribsel.h"
17 #include "coltabmapper.h"
18 #include "coltabsequence.h"
19 
20 class SeisIOObjInfo;
21 
22 mExpClass(AttributeEngine) AttribProbeLayer : public ProbeLayer
23 {
24 public:
25 
28 
29  enum DispType { VD, Wiggle, RGB };
30 
34 
35  const char* layerType() const;
36  void fillPar(IOPar&) const;
37  bool usePar(const IOPar&);
38 
39  bool hasData() const
40  { return !attribdpid_.isInvalid(); }
41  virtual void invalidateData();
43  { return DataPackMgr::SeisID(); }
44 
45  mImplSimpleMonitoredGet( selSpec,Attrib::SelSpec,attrspec_)
46  mImplSimpleMonitoredGet( dataPackID,DataPack::ID,attribdpid_)
47  mImplSimpleMonitoredGet( dispType,DispType,disptype_)
48  mImplSimpleMonitoredGet( selectedComponent,int,selcomp_)
49 
50  const Sequence& sequence() const;
51  void setSequence(const Sequence&);
52  Mapper& mapper() { return *mapper_; }
53  const Mapper& mapper() const { return *mapper_; }
54  void setSelSpec(const Attrib::SelSpec&);
55  int nrAvialableComponents() const;
56  void setSelectedComponent(int);
57  void setDataPackID(DataPack::ID);
58  virtual bool useDisplayPars();
59  virtual void saveDisplayPars();
60 
61  static ProbeLayer* createFrom(const IOPar&);
62  static void initClass();
63 
64  static ChangeType cDataChange() { return 2; }
65  static ChangeType cColSeqChange() { return 3; }
66  static ChangeType cMapperChange() { return 4; }
67  static ChangeType cSelCompChange() { return 5; }
68 
69  static const char* sFactoryKey();
70  static const char* sAttribDataPackID();
71  static const char* sAttribColTabName();
72 
73 protected:
74 
75  SeisIOObjInfo* gtSeisInfo() const;
80  int selcomp_;
83 
84  void handleDataPackChange();
85 
86 };
#define mExpClass(module)
Definition: commondefs.h:157
Definition: probe.h:26
int ChangeType
Definition: monitorable.h:80
Info on IOObj for seismics.
Definition: seisioobjinfo.h:29
bool hasData() const
Definition: attribprobelayer.h:39
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
ColTab::Mapper Mapper
Definition: attribprobelayer.h:27
static ID SeisID()
Cube/Block (N1xN2xN3) data: 3.
static ChangeType cColSeqChange()
Definition: attribprobelayer.h:65
#define mImplSimpleMonitoredGet(fnnm, typ, memb)
Defines simple MT-safe copyable member get.
Definition: monitor.h:21
Maps data values to color sequence positions: [0,1].
Definition: coltabmapper.h:33
#define mDeclMonitorableAssignment(clss)
like mDeclAbstractMonitorableAssignment but for non-abstract subclasses. Implements the clone() metho...
Definition: monitor.h:111
ColTab::Sequence Sequence
Definition: attribprobelayer.h:26
Definition: groupedid.h:40
RefMan< Mapper > mapper_
Definition: attribprobelayer.h:82
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Attrib::SelSpec & attrspec_
Definition: attribprobelayer.h:76
DataPack::ID attribdpid_
Definition: attribprobelayer.h:78
ConstRefMan< Sequence > colseq_
Definition: attribprobelayer.h:81
static ChangeType cSelCompChange()
Definition: attribprobelayer.h:67
Definition: attribprobelayer.h:22
DispType disptype_
Definition: attribprobelayer.h:77
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
int selcomp_
Definition: attribprobelayer.h:80
const Mapper & mapper() const
Definition: attribprobelayer.h:53
DispType
Definition: attribprobelayer.h:29
void saveDisplayPars(const IOPar &)
virtual DataPack::MgrID getDataPackManagerID() const
Definition: attribprobelayer.h:42
ConstRefMan< DataPack > attrdp_
Definition: attribprobelayer.h:79
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:43
static ChangeType cDataChange()
Definition: attribprobelayer.h:64
Definition: groupedid.h:41
static ChangeType cMapperChange()
Definition: attribprobelayer.h:66
static void initClass()
Definition: ptrman.h:200
Definition: attribprobelayer.h:29

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