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 20080 2009-12-15 15:57:52Z vlad $
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  Z_SV_ALL_AUTO
124 };
125 
126 
129 #define Z_SV_MIN_POLY_ORDER 0
130 
133 #define Z_SV_MAX_POLY_ORDER 3
134 
135 
141 class ZqbSVOptions
142 {
143 public:
144 
146  ZqbSVOptions ();
147 
149  ZqbSVOptions (const ZqbSVOptions& svo);
150 
151 
153  ZqbSVOptions& operator= (const ZqbSVOptions& svo);
154 
156  void setDefault ();
157 
159  void assign (const ZqbSVOptions& svo);
160 
162  void assignByMask (const ZqbSVOptions& svo,
163  int mask);
164 
165 
167  enum Mask {
168  DrawingMode = (1<<0),
169  ZeroDrawMode = (1<<1),
170  SpecZeroColor = (1<<2),
171  AlmostZeroThd = (1<<3),
172  PosDrawMode = (1<<4),
173  NegDrawMode = (1<<5),
174  GainCtrlMode = (1<<6),
175  AgcGap = (1<<7),
176  NormMode = (1<<8),
177  TraceView = (1<<9),
178  CutLevel = (1<<10),
179  ProfileAmax = (1<<11),
180  ColorMode = (1<<12),
181  CommonColor = (1<<13),
182  CommonPal = (1<<14),
183  PosAmplColor = (1<<15),
184  PosAmplPal = (1<<16),
185  NegAmplColor = (1<<17),
186  NegAmplPal = (1<<18),
187  UseAmplRange = (1<<19),
188  AmplRange = (1<<20),
189  EnsDrawMode = (1<<21),
190  EnsSplitDelta = (1<<22),
191  WiggleAmplGain = (1<<23),
192  WigglePolyOrder = (1<<24),
193  OverlapKoeff = (1<<25)
194  };
195 
196  /*
197  * Frequently used masks
198  */
199 
201  static int GainNormModes;
202 
204  static int WiggleControl;
205 
207  static int ColorSeismic;
208 
209 
210  /*
211  * Option themselves
212  */
213  ZqbDrawingMode m_eDrawingMode;
214  ZqbZeroDrawMode m_eZeroDrawMode;
215  QColor m_SpecZeroColor;
216  float m_fAlmostZeroThd;
217  ZqbAmplDrawMode m_ePosDrawMode;
218  ZqbAmplDrawMode m_eNegDrawMode;
219  ZqbGainCtrlMode m_eGainCtrlMode;
220  float m_fAgcGap;
221  ZqbNormMode m_eNormMode;
222  ZqbTraceView m_eTraceView;
223  float m_fCutLevel;
226  ZqbColorMode m_eColorMode;
227  QColor m_CommonColor;
229  QColor m_PosAmplColor;
231  QColor m_NegAmplColor;
233  bool m_bUseAmplRange;
234  float m_fAmplRange[2];
235  ZqbEnsDrawMode m_eEnsDrawMode;
236  float m_fEnsSplitDelta;
237  float m_fWiggleAmplGain;
238  int m_iWigglePolyOrder;
242  /*
243  * Special: don't manage & copy among objects. It should be
244  * assigned directly and released specially.
245  */
246  ZdFVectorFloat *m_pMACdistrib;
250 };
251 
252 
253 #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
float m_fOverlapKoeff
Definition: zqb_svoptions.hpp:224
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