UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
zqb_svoptions.hpp
1 /* zqb_svoptions.hpp */
2 /* $Id: zqb_svoptions.hpp,v 1.6 2009/02/02 09:03:31 vlad Exp $
3  based on ZSVOptions.H,v 3.8 2003/11/27 12:01:23 vlad Exp */
4 #ifndef __zqb_svoptions_hpp
5 #define __zqb_svoptions_hpp
6 
7 #include "zqb_abstr_trace.hpp"
8 #include "zqb_scaled_palette.hpp"
9 #include "zd_f_vector.hpp"
10 
11 
12 /***********************************************************************
13  *
14  * Seismic visualization options
15  *
16  ***********************************************************************/
17 
22 enum ZqbDrawingMode {
23 
24  Z_SV_MAP_CODING,
26  Z_SV_WIGGLE_CODING
28 };
29 
30 
35 enum ZqbZeroDrawMode {
36 
37  Z_SV_DONT_DRAW_ZERO,
38  Z_SV_SPEC_COLOR,
39  Z_SV_USUAL_COLOR
40 };
41 
42 
47 enum ZqbAmplDrawMode {
48 
49  Z_SV_DONT_DRAW,
50  Z_SV_THIN_LINE,
51  Z_SV_FILL_LEDGE
52 };
53 
54 
59 enum ZqbGainCtrlMode {
60 
61  Z_SV_NO_GAIN_CONTROL,
62  Z_SV_AGC
63 };
64 
65 
70 enum ZqbNormMode {
71 
72  Z_SV_TRACE_BASED,
73  Z_SV_ENS_BASED,
75  Z_SV_PROFILE_BASED,
76  Z_SV_COORD_BASED
78 };
79 
80 
85 enum ZqbTraceView {
86 
87  Z_SV_VIEW_VSP,
88  Z_SV_VIEW_S2D
89 };
90 
91 
96 enum ZqbColorMode {
97 
98  Z_SV_COMMON_COLOR,
99  Z_SV_COMMON_PALETTE,
100  Z_SV_POS_COLOR_NEG_COLOR,
101  Z_SV_POS_PALETTE_NEG_COLOR,
102  Z_SV_POS_COLOR_NEG_PALETTE,
103  Z_SV_POS_PALETTE_NEG_PALETTE
104 };
105 
114 enum ZqbEnsDrawMode {
115 
116  Z_SV_FIRST_ONLY,
119  Z_SV_MULTI_UNIFORM,
120  Z_SV_MULTI_COLORS,
121  Z_SV_MULTI_COLORS_THIN
122 };
123 
124 
127 #define Z_SV_MIN_POLY_ORDER 0
128 
131 #define Z_SV_MAX_POLY_ORDER 3
132 
133 
140 {
141 public:
142 
144  ZqbSVOptions ();
145 
147  ZqbSVOptions (const ZqbSVOptions& svo);
148 
149 
151  ZqbSVOptions& operator= (const ZqbSVOptions& svo);
152 
154  void setDefault ();
155 
157  void assign (const ZqbSVOptions& svo);
158 
160  void assignByMask (const ZqbSVOptions& svo,
161  int mask);
162 
163 
165  enum Mask {
166  DrawingMode = (1<<0),
167  ZeroDrawMode = (1<<1),
168  SpecZeroColor = (1<<2),
169  AlmostZeroThd = (1<<3),
170  PosDrawMode = (1<<4),
171  NegDrawMode = (1<<5),
172  GainCtrlMode = (1<<6),
173  AgcGap = (1<<7),
174  NormMode = (1<<8),
175  TraceView = (1<<9),
176  CutLevel = (1<<10),
177  ProfileAmax = (1<<11),
178  ColorMode = (1<<12),
179  CommonColor = (1<<13),
180  CommonPal = (1<<14),
181  PosAmplColor = (1<<15),
182  PosAmplPal = (1<<16),
183  NegAmplColor = (1<<17),
184  NegAmplPal = (1<<18),
185  UseAmplRange = (1<<19),
186  AmplRange = (1<<20),
187  EnsDrawMode = (1<<21),
188  EnsSplitDelta = (1<<22),
189  WiggleAmplGain = (1<<23),
190  WigglePolyOrder = (1<<24)
191  };
192 
193  /*
194  * Frequently used masks
195  */
196 
198  static int GainNormModes;
199 
201  static int WiggleControl;
202 
204  static int ColorSeismic;
205 
206 
207  /*
208  * Option themselves
209  */
210  ZqbDrawingMode m_eDrawingMode;
211  ZqbZeroDrawMode m_eZeroDrawMode;
214  ZqbAmplDrawMode m_ePosDrawMode;
215  ZqbAmplDrawMode m_eNegDrawMode;
216  ZqbGainCtrlMode m_eGainCtrlMode;
217  float m_fAgcGap;
218  ZqbNormMode m_eNormMode;
219  ZqbTraceView m_eTraceView;
220  float m_fCutLevel;
221  ZqbColorMode m_eColorMode;
222  QColor m_CommonColor;
224  QColor m_PosAmplColor;
226  QColor m_NegAmplColor;
229  float m_fAmplRange[2];
230  ZqbEnsDrawMode m_eEnsDrawMode;
237  /*
238  * Special: don't manage & copy among objects. It should be
239  * assigned directly and released specially.
240  */
241  ZdFVectorFloat *m_pMACdistrib;
245 };
246 
247 
248 #endif /* zqb_svoptions.hpp */
float m_fEnsSplitDelta
Definition: zqb_svoptions.hpp:231
bool m_bUseAmplRange
Definition: zqb_svoptions.hpp:228
QColor m_SpecZeroColor
Definition: zqb_svoptions.hpp:212
static int WiggleControl
Definition: zqb_svoptions.hpp:201
ZqbPalette m_NegAmplPal
Definition: zqb_svoptions.hpp:227
void setDefault()
ZqbAmplDrawMode m_eNegDrawMode
Definition: zqb_svoptions.hpp:215
ZqbPalette m_PosAmplPal
Definition: zqb_svoptions.hpp:225
int m_iWigglePolyOrder
Definition: zqb_svoptions.hpp:233
QColor m_PosAmplColor
Definition: zqb_svoptions.hpp:224
ZqbZeroDrawMode m_eZeroDrawMode
Definition: zqb_svoptions.hpp:211
static int GainNormModes
Definition: zqb_svoptions.hpp:198
float m_fAmplRange[2]
Definition: zqb_svoptions.hpp:229
void assignByMask(const ZqbSVOptions &svo, int mask)
ZqbTraceView m_eTraceView
Definition: zqb_svoptions.hpp:219
ZqbNormMode m_eNormMode
Definition: zqb_svoptions.hpp:218
float m_fAlmostZeroThd
Definition: zqb_svoptions.hpp:213
ZqbSVOptions & operator=(const ZqbSVOptions &svo)
ZqbAmplDrawMode m_ePosDrawMode
Definition: zqb_svoptions.hpp:214
Definition: zqb_svoptions.hpp:139
ZqbDrawingMode m_eDrawingMode
Definition: zqb_svoptions.hpp:210
QColor m_CommonColor
Definition: zqb_svoptions.hpp:222
static int ColorSeismic
Definition: zqb_svoptions.hpp:204
float m_fCutLevel
Definition: zqb_svoptions.hpp:220
Mask
Definition: zqb_svoptions.hpp:165
float m_fWiggleAmplGain
Definition: zqb_svoptions.hpp:232
ZqbGainCtrlMode m_eGainCtrlMode
Definition: zqb_svoptions.hpp:216
ZqbPalette m_CommonPal
Definition: zqb_svoptions.hpp:223
void assign(const ZqbSVOptions &svo)
ZqbEnsDrawMode m_eEnsDrawMode
Definition: zqb_svoptions.hpp:230
Definition: zqb_palette.hpp:17
ZdFVectorFloat * m_pMACdistrib
Definition: zqb_svoptions.hpp:241
ZqbColorMode m_eColorMode
Definition: zqb_svoptions.hpp:221
QColor m_NegAmplColor
Definition: zqb_svoptions.hpp:226
float m_fAgcGap
Definition: zqb_svoptions.hpp:217