UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
VSTypes.h
1 /* VSTypes.h $Revision: 1.1 $ $Date: 2000/03/23 18:31:02 $ */
2 
3 #ifndef __VSTypes_h
4 
5 #define __VSTypes_h
6 
7 #include <mix/Types.h>
8 #include "trbuf.h"
9 
10 /*************************************************************
11  * Types and constant for trace viewing by ZtTraceView.
12  *************************************************************/
13 typedef enum
14 {
15  plcColorCoding,
16  plcAmplCoding
17 } PlcDrawingMode;
18 
19 typedef enum
20 {
21  plcNoFill,
22  plcFillPositive,
23  plcFillNegative,
24  plcFillBoth,
25  plcColorPoint
26 } PlcFillMode;
27 
28 typedef enum
29 {
30  plcTrace,
31  plcGlobal,
32  plcAGC
33 } PlcScaling;
34 
35 typedef enum
36 {
37  plcFitSection,
38  plcParameter
39 } PlcSpasing;
40 
41 typedef enum
42 {
43  plcVisiblePositive,
44  plcVisibleNegative,
45  plcVisibleBoth
46 } PlcVisibleAmpl;
47 
48 typedef enum
49 {
50  plcNoNorm, /* no normalization */
51  plcExpNorm, /* exponent normalization */
52  plcAvgARU, /* ARU with normalization by Aavg */
53  plcMaxARU /* ARU with normalization by Amax */
54 } PlcNormMode;
55 
56 typedef enum
57 {
58  plcViewVSP, /* Y-axis - coordinate, X-axis time */
59  plcViewCDP /* X-axis - coordinate, Y-axis time */
60 } PlcTraceView;
61 
62 
63 /* Mask of parameters */
64 #define tvDrawingMode (1<<0) /* amplitude coding or color coding */
65 #define tvColorAmpl (1<<1) /* amplitude coding monochrome or colored */
66 #define tvFillAmpl (1<<2) /* no fill, fill up, fill down or fill both */
67 #define tvPixelsPerKey (1<<3) /* how many pixels in one unit of key */
68 #define tvPixelsPerAmpl (1<<4) /* how many pixels for amplitude oscillation */
69 #define tvNormMode (1<<5) /* mode of trace normalization */
70 #define tvARUGap (1<<6) /* width of ARU gap in ms */
71 #define tvFading (1<<7) /* correction of trace absorption */
72 #define tvStartThd (1<<8) /* start treshold of visible amplitudes, % */
73 #define tvZeroThd (1<<9) /* usual threshold of visible amplitudes, % */
74 #define tvVisibleAmpl (1<<10) /* drawing top or/and bottom part of trace */
75 #define tvTraceView (1<<11) /* trace view mode CDP-like or VSP-like */
76 
77 class TracesView;
78 
79 typedef struct
80 {
81  PlcDrawingMode drawing_mode;
82  Logic color_ampl;
83  PlcFillMode fill_ampl;
84  float pixels_per_key;
85  float pixels_per_ampl;
86  PlcNormMode norm_mode;
87  float aru_gap;
88  float fading;
89  float start_thd;
90  float zero_thd;
91  PlcVisibleAmpl visible_ampl;
92  TraceView trace_view;
93 
94 } ZParamsOfTV;
95 
96 typedef struct
97 { TrBuf *ts; /* Struct TrSet */
98  TraceView t_dir; /* направление оси времени трасс */
99  PlcSpasing spasing; /* method drawing of Data */
100  Rect area; /* region for drawing */
101  float tbn; /* начальное общее время, мс */
102  float ten; /* конечное общее время, мс */
103  float t_beg; /* время первого отсчета в трассе, мс */
104  float dt; /* шаг дискретизации, мс */
105  int scount; /* количество отсчетов в теле трассы */
106  int trcount; /* count of traces in index table */
107  int infile_h; /* file descriptor */
108  int hdr_file; /* length of header for file */
109  int hdr_trace; /* length of header for trace */
110  int lng_body; /* length of body for trace */
111  int lng_trace; /* length trace */
112  int fd_type; /* Base data 1 - IBM, 2 - PC, 3 - SUN */
113  int fr_type; /* Sample format 1 - R4, 2 - I4, 3 - I2 */
115 
116 typedef struct
117 {
118  PlcFillMode fill_mode;
119  PlcVisibleAmpl viz_ampl;
120  PlcScaling scaling;
121  ColorPixel color;
122  Bool color_mode; /* true - рисовка в цвете */
123  int amax; /* максимальное отклонение, pixel */
124  int trst; /* количество трасс на 1 см */
125  int lngv; /* индекс первой трассы на экране */
126  int global; /* количество исключаемых трасс */
127  int gain_db;
128  int main_gain;
129  float gain; /* коеф. нормировки */
130  float astep;
131  float tstep; /* шаг в пикселах между трассами */
132  float t_beg_plot; /* начальное время рисовки, мс */
133  float tbp; /* начальное полезное время, мс */
134  float tep; /* конечное полезное время, мс */
135  float waru; /* length window ARU msec */
136 } TraceParams;
137 
138 #define ftrts (1<<0)
139 #define ftrtdir (1<<1)
140 #define ftrspasing (1<<2)
141 #define ftrtbn (1<<3)
142 #define ftrten (1<<4)
143 #define ftrtbeg (1<<5)
144 #define ftrtstep (1<<6)
145 #define ftrdt (1<<7)
146 #define ftrscount (1<<8)
147 #define ftrtrcount (1<<9)
148 #define ftrarea (1<<10)
149 
150 #define trfillmode (1<<0)
151 #define trvizampl (1<<1)
152 #define trscaling (1<<2)
153 #define trcolor (1<<3)
154 #define trcolormode (1<<4)
155 #define tramax (1<<5)
156 #define trtstep (1<<6)
157 #define trtrst (1<<7)
158 #define trgain (1<<8)
159 #define trgain_m (1<<9)
160 #define trgain_d (1<<10)
161 #define trlngv (1<<11)
162 #define trglobal (1<<12)
163 #define trastep (1<<13)
164 #define trtbegplot (1<<14)
165 #define trtbp (1<<15)
166 #define trtep (1<<16)
167 #define trwaru (1<<17)
168 
169 #define dHcab (1<<0)
170 #define dNMGL (1<<1)
171 #define dNTR (1<<2)
172 #define dVERS (1<<3)
173 #define dNSP (1<<4)
174 #define dCOMP (1<<5)
175 #define dMANUAL (1<<6)
176 
177 typedef struct
178 { TrBuf *ts; /* Struct TrBuf */
179  PlcTraceView t_dir; /* направление оси времени трасс */
180 } UserData;
181 
182 typedef struct
183 { int index;
184  int index_ts;
185  int pos;
186 } LS_TR;
187 
188 typedef struct
189 { void *next;
190  TraceParams Trpr;
191 } ZOOM;
192 
193 typedef struct
194 { int index;
195  float Hcab;
196  float Time1;
197  float Time2;
198 } TM;
199 
200 typedef struct
201 { int nuzl;
202  int size;
203  TM *ptm;
204 } TIME;
205 
206 #endif /* PlcTypes.h */
Definition: VSTypes.h:116
Definition: VSTypes.h:79
Definition: trbuf.h:5
Definition: VSTypes.h:177
Definition: VSTypes.h:182
Definition: VSTypes.h:193
Definition: VSTypes.h:200
Definition: trbuf.h:19
Definition: VSTypes.h:96
Definition: VSTypes.h:188