FEDRA emulsion software from the OPERA Collaboration
test.cpp File Reference

Functions

char * RandomString (int len)
 
int Test ()
 

Function Documentation

◆ RandomString()

char * RandomString ( int  len)
2{
3 char* Temp = new char[len];
4 Temp = "";
5 while (len-- > 0) Temp += (rand() % 26 + 'A');
6 return Temp;
7}

◆ Test()

int Test ( )
12 {
13#ifdef _WINDOWS
14
15 int jkl=0;
16
17 char TempPath[256];
18 char m_Path[256];
19 sprintf(m_Path, "prova");
20
21 UINT m_Fragments = 1;
22 UINT m_MaxTracks = 4;
23 UINT m_MinTracks = 1;
24 UINT m_Views = 2;
25
26 UINT ExtErrorInfo;
27 IO_VS_Catalog Cat;
28 IO_VS_Fragment Frag;
29 IO_VS_Fragment2 Frag2;
30 int i, j, k, fi;
31
32 ISySalDataIO* iIO;
33 ISySalDataIO2* iIO2;
34 CoInitialize(NULL);
35 CoCreateInstance(CLSID_SySalDataIO, NULL, CLSCTX_INPROC_SERVER,
36 IID_ISySalDataIO, (void **)&iIO);
37 iIO->QueryInterface(IID_ISySalDataIO2, (void**)&iIO2);
38
39/* BEGIN CATALOG TEST */
40
41 Cat.Hdr.ID.Part[0] = 1234;
42 Cat.Hdr.ID.Part[1] = 5678;
43 Cat.Hdr.ID.Part[2] = 9101112;
44 Cat.Hdr.ID.Part[3] = 13141516;
47 for (i = 0; i < sizeof(Cat.Reserved); i++) Cat.Reserved[i] = i;
48 Cat.Area.Fragments = m_Fragments;
49 Cat.Area.XViews = m_Views;
50 Cat.Area.YViews = m_Fragments;
51 Cat.Area.XMin = (rand() % 1000) * 500.;
52 Cat.Area.YMin = ((rand() ^ 0xffdba324) % 1000) * 500.;
53 Cat.Area.XStep = 330.f;
54 Cat.Area.YStep = 330.f;
55 Cat.Area.XMax = Cat.Area.XMin + Cat.Area.XViews * (Cat.Area.XStep + 1);
56 Cat.Area.YMax = Cat.Area.YMax + Cat.Area.YViews * (Cat.Area.YStep + 1);
57 Cat.pFragmentIndices = new int[Cat.Area.XViews * Cat.Area.YViews];
58 for (i = 0; i < (Cat.Area.XViews * Cat.Area.YViews); i++)
59 Cat.pFragmentIndices[i] = i / Cat.Area.XViews + 1;
60 Cat.Config.CountOfConfigs = rand() % 8;
62 for (i = 0; i < Cat.Config.CountOfConfigs; i++)
63 {
66 Cat.Config.pConfigs[i].Config.CountOfItems = rand() % 32;
68 new char[Cat.Config.pConfigs[i].Config.CountOfItems *
70 for (j = 0; j < Cat.Config.pConfigs[i].Config.CountOfItems; j++)
71 {
72 strcpy(Cat.Config.pConfigs[i].Config.pItems + j *
74 strcpy(Cat.Config.pConfigs[i].Config.pItems + j *
77 };
78 };
79
80 sprintf(TempPath,"prova.rwc");
81 if (iIO->Write(0, (BYTE *)&Cat, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
82 {
83 printf("Error Writing", "Debug", MB_ICONERROR | MB_OK);
84 };
85 //TempPath.ReleaseBuffer();
86
87cout << jkl++ ;
88
89IO_VS_Catalog *pReadCat = 0;
90
91 if (iIO->Read(0, (BYTE *)(&pReadCat), &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
92 {
93 printf("Error Reading", "Debug", MB_ICONERROR | MB_OK);
94 };
95 //TempPath.ReleaseBuffer();
96
97 if (memcmp(&Cat.Area, &pReadCat->Area, sizeof(Cat.Area))) printf("Area section different!", "Debug", MB_ICONERROR | MB_OK);
98 if (memcmp(&Cat.Hdr, &pReadCat->Hdr, sizeof(Cat.Hdr))) printf("Header section different!", "Debug", MB_ICONERROR | MB_OK);
99 if (memcmp(&Cat.Reserved, &pReadCat->Reserved, sizeof(Cat.Reserved))) printf("Reserved section different!", "Debug", MB_ICONERROR | MB_OK);
100 if (memcmp(Cat.pFragmentIndices, pReadCat->pFragmentIndices, sizeof(int) * Cat.Area.XViews * Cat.Area.YViews)) printf("Fragment index section different!", "Debug", MB_ICONERROR | MB_OK);
101 if (memcmp(&Cat.Config.CountOfConfigs, &pReadCat->Config.CountOfConfigs, sizeof(Cat.Config.CountOfConfigs))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
102 for (i = 0; i < Cat.Config.CountOfConfigs; i++)
103 {
104 if (memcmp(&Cat.Config.pConfigs[i].ClassName, &pReadCat->Config.pConfigs[i].ClassName, sizeof(Cat.Config.pConfigs[i].ClassName))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
105 if (memcmp(&Cat.Config.pConfigs[i].Config.Name, &pReadCat->Config.pConfigs[i].Config.Name, sizeof(Cat.Config.pConfigs[i].Config.Name))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
106 if (memcmp(&Cat.Config.pConfigs[i].Config.CountOfItems, &pReadCat->Config.pConfigs[i].Config.CountOfItems, sizeof(Cat.Config.pConfigs[i].Config.CountOfItems))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
107 if (memcmp(Cat.Config.pConfigs[i].Config.pItems, pReadCat->Config.pConfigs[i].Config.pItems, Cat.Config.pConfigs[i].Config.CountOfItems * (SYSAL_MAXCONFIG_ENTRY_NAME_LEN + SYSAL_MAXCONFIG_ENTRY_VALUE_LEN))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
108 };
109
110 if (pReadCat) CoTaskMemFree(pReadCat);
111
112 if (Cat.pFragmentIndices) delete [] Cat.pFragmentIndices;
113 if (Cat.Config.pConfigs)
114 {
115 for (i = 0; i < Cat.Config.CountOfConfigs; i++)
116 if (Cat.Config.pConfigs[i].Config.pItems)
117 delete [] Cat.Config.pConfigs[i].Config.pItems;
118 delete [] Cat.Config.pConfigs;
119 };
120
121// DeleteFile(m_Path);
122
123/* END CATALOG TEST */
124
125/* BEGIN FRAGMENT TEST */
126
127 for (fi = 0; fi < Cat.Area.YViews; )
128 {
129 Frag.Hdr.ID = Cat.Hdr.ID;
132 for (i = 0; i < sizeof(Frag.Reserved); i++) Frag.Reserved[i] = i;
133 Frag.Fragment.CountOfViews = Cat.Area.XViews;
135 Frag.Fragment.FitCorrectionDataSize = ((rand() % 4) >> 1) ? 16 : 0;
136 Frag.Fragment.StartView = fi * Cat.Area.XViews;
137 Frag.Fragment.Index = fi + 1;
138 Frag.Fragment.pViews = new VS_View[Cat.Area.XViews];
139 for (i = 0; i < Cat.Area.XViews; i++)
140 {
141 Frag.Fragment.pViews[i].TileX = i;
142 Frag.Fragment.pViews[i].TileY = fi;
143 Frag.Fragment.pViews[i].RelevantZs.TopExt = 125.f + (rand() % 16) * .5f;
147 for (k = 0; k < 2; k++)
148 {
149 Frag.Fragment.pViews[i].X[k] = Cat.Area.XStep * Frag.Fragment.pViews[i].TileX + (rand() % 101 - 50) * .02;
150 Frag.Fragment.pViews[i].Y[k] = Cat.Area.YStep * Frag.Fragment.pViews[i].TileY + (rand() % 101 - 50) * .02;
151 Frag.Fragment.pViews[i].MapX[k] = Frag.Fragment.pViews[i].X[k];
152 Frag.Fragment.pViews[i].MapY[k] = Frag.Fragment.pViews[i].Y[k];
153 Frag.Fragment.pViews[i].ImageMat[k][0][0] = Frag.Fragment.pViews[i].ImageMat[k][1][1] = 1.;
154 Frag.Fragment.pViews[i].ImageMat[k][0][1] = Frag.Fragment.pViews[i].ImageMat[k][1][0] = 0.;
155 Frag.Fragment.pViews[i].Layers[k].Count = 12;
156 Frag.Fragment.pViews[i].Layers[k].pZs = new float[Frag.Fragment.pViews[i].Layers[k].Count];
157 for (j = 0; j < Frag.Fragment.pViews[i].Layers[k].Count; j++)
158 Frag.Fragment.pViews[i].Layers[k].pZs[j] = (k ? Frag.Fragment.pViews[i].RelevantZs.BottomInt : Frag.Fragment.pViews[i].RelevantZs.TopExt) - j * 25.f / 11.f ;
159 Frag.Fragment.pViews[i].Status[k] = rand() % 3;
160 Frag.Fragment.pViews[i].TCount[k] = rand() % (m_MaxTracks - m_MinTracks) + m_MinTracks;
161 Frag.Fragment.pViews[i].pTracks[k] = Frag.Fragment.pViews[i].TCount[k] ? new Track[Frag.Fragment.pViews[i].TCount[k]] : 0;
162 for (j = 0; j < Frag.Fragment.pViews[i].TCount[k]; j++)
163 {
164 Track &T = Frag.Fragment.pViews[i].pTracks[k][j];
165 T.Field = i;
166 T.PointsN = 8 + rand() % 4;
168 T.FirstZ = T.LastZ + T.PointsN * 25.f / 11.f;
169 T.Intercept.X = rand() % (int)Cat.Area.XStep - Cat.Area.XStep * 0.5f;
170 T.Intercept.Y = rand() % (int)Cat.Area.YStep - Cat.Area.YStep * 0.5f;
172 T.Slope.X = (rand() % 1001 - 500) * .001f;
173 T.Slope.Y = (rand() % 1001 - 500) * .001f;
174 T.Slope.Z = 1.f;
175 T.InterceptErrors.X = (rand() % 10) * .1f;
176 T.InterceptErrors.Y = (rand() % 10) * .1f;
177 T.InterceptErrors.X = (rand() % 10) * .01f;
178 T.SlopeErrors.X = (rand() % 10) * .0001f;
179 T.SlopeErrors.Y = (rand() % 10) * .0001f;
180 T.SlopeErrors.Z = 0.;
181 T.Sigma = hypot(T.InterceptErrors.X, T.InterceptErrors.Y);
182 T.Valid = true;
183 T.pPoints = new TVector[T.PointsN];
184 int p;
185 for (p = 0; p < T.PointsN; p++)
186 {
187 T.pPoints[p].X = (rand() % 101 - 99) * .01;
188 T.pPoints[p].Y = (rand() % 101 - 99) * .01;
189 T.pPoints[p].Z = Frag.Fragment.pViews[i].Layers[k].pZs[p];
190 };
192 {
193 T.pCorrection = new BYTE[Frag.Fragment.FitCorrectionDataSize];
194 for (p = 0; p < Frag.Fragment.FitCorrectionDataSize; T.pCorrection[p++] = rand() % 256);
195 }
196 else T.pCorrection = 0;
197 };
198 };
199 };
200
201 sprintf(TempPath,"%s.rwd.%08X", m_Path, fi + 1);
202 if (iIO->Write(0, (BYTE *)&Frag, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
203 {
204 printf("Error Writing", "Debug", MB_ICONERROR | MB_OK);
205 };
206 //TempPath.ReleaseBuffer();
207
208 IO_VS_Fragment *pReadFrag = 0;
209 if (iIO->Read(0, (BYTE *)&pReadFrag, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
210 {
211 printf("Error Reading", "Debug", MB_ICONERROR | MB_OK);
212 };
213 //TempPath.ReleaseBuffer();
214
215 if (memcmp(&Frag.Hdr, &pReadFrag->Hdr, sizeof(Frag.Hdr))) printf("Header section different!", "Debug", MB_ICONERROR | MB_OK);
216 if (memcmp(&Frag.Reserved, &pReadFrag->Reserved, sizeof(Frag.Reserved))) printf("Reserved section different!", "Debug", MB_ICONERROR | MB_OK);
217 if (memcmp(&Frag.Fragment.CodingMode, &pReadFrag->Fragment.CodingMode, sizeof(Frag.Fragment.CodingMode))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
218 if (memcmp(&Frag.Fragment.CountOfViews, &pReadFrag->Fragment.CountOfViews, sizeof(Frag.Fragment.CountOfViews))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
219 if (memcmp(&Frag.Fragment.FitCorrectionDataSize, &pReadFrag->Fragment.FitCorrectionDataSize, sizeof(Frag.Fragment.FitCorrectionDataSize))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
220 if (memcmp(&Frag.Fragment.Index, &pReadFrag->Fragment.Index, sizeof(Frag.Fragment.Index))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
221 if (memcmp(&Frag.Fragment.StartView, &pReadFrag->Fragment.StartView, sizeof(Frag.Fragment.StartView))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
222 for (i = 0; i < Frag.Fragment.CountOfViews; i++)
223 {
224 if (memcmp(&Frag.Fragment.pViews[i].RelevantZs, &pReadFrag->Fragment.pViews[i].RelevantZs, sizeof(Frag.Fragment.pViews[i].RelevantZs))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
225 if (memcmp(&Frag.Fragment.pViews[i].X, &pReadFrag->Fragment.pViews[i].X, sizeof(Frag.Fragment.pViews[i].X))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
226 if (memcmp(&Frag.Fragment.pViews[i].Y, &pReadFrag->Fragment.pViews[i].Y, sizeof(Frag.Fragment.pViews[i].Y))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
227 if (memcmp(&Frag.Fragment.pViews[i].TileX, &pReadFrag->Fragment.pViews[i].TileX, sizeof(Frag.Fragment.pViews[i].TileX))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
228 if (memcmp(&Frag.Fragment.pViews[i].TileY, &pReadFrag->Fragment.pViews[i].TileY, sizeof(Frag.Fragment.pViews[i].TileY))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
229 if (memcmp(&Frag.Fragment.pViews[i].TCount, &pReadFrag->Fragment.pViews[i].TCount, sizeof(Frag.Fragment.pViews[i].TCount))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
230 if (memcmp(&Frag.Fragment.pViews[i].Status, &pReadFrag->Fragment.pViews[i].Status, sizeof(Frag.Fragment.pViews[i].Status))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
231 for (k = 0; k < 2; k++)
232 {
233 if (memcmp(&Frag.Fragment.pViews[i].Layers[k].Count, &pReadFrag->Fragment.pViews[i].Layers[k].Count, sizeof(Frag.Fragment.pViews[i].Layers[k].Count))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
234 if (memcmp(Frag.Fragment.pViews[i].Layers[k].pZs, pReadFrag->Fragment.pViews[i].Layers[k].pZs, sizeof(float) * Frag.Fragment.pViews[i].Layers[k].Count)) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
235 for (j = 0; j < Frag.Fragment.pViews[i].TCount[k]; j++)
236 {
237 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].Field, &pReadFrag->Fragment.pViews[i].pTracks[k][j].Field, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].Field))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
238 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].PointsN, &pReadFrag->Fragment.pViews[i].pTracks[k][j].PointsN, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].PointsN))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
239 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].Intercept, &pReadFrag->Fragment.pViews[i].pTracks[k][j].Intercept, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].Intercept))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
240 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].InterceptErrors, &pReadFrag->Fragment.pViews[i].pTracks[k][j].InterceptErrors, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].InterceptErrors))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
241 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].Slope, &pReadFrag->Fragment.pViews[i].pTracks[k][j].Slope, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].Slope))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
242 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].SlopeErrors, &pReadFrag->Fragment.pViews[i].pTracks[k][j].SlopeErrors, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].SlopeErrors))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
243 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].FirstZ, &pReadFrag->Fragment.pViews[i].pTracks[k][j].FirstZ, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].FirstZ))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
244 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].LastZ, &pReadFrag->Fragment.pViews[i].pTracks[k][j].LastZ, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].LastZ))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
245 if (memcmp(&Frag.Fragment.pViews[i].pTracks[k][j].Sigma, &pReadFrag->Fragment.pViews[i].pTracks[k][j].Sigma, sizeof(Frag.Fragment.pViews[i].pTracks[k][j].Sigma))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
246 if (!pReadFrag->Fragment.pViews[i].pTracks[k][j].Valid) printf("Inconsistency in track section!", "Debug", MB_ICONERROR | MB_OK);
247 if ((Frag.Fragment.pViews[i].pTracks[k][j].pCorrection == 0) ^ (pReadFrag->Fragment.pViews[i].pTracks[k][j].pCorrection == 0)) printf("Inconsistency in track section!", "Debug", MB_ICONERROR | MB_OK);
248 if (Frag.Fragment.pViews[i].pTracks[k][j].pCorrection)
249 if (memcmp(Frag.Fragment.pViews[i].pTracks[k][j].pCorrection, pReadFrag->Fragment.pViews[i].pTracks[k][j].pCorrection, Frag.Fragment.FitCorrectionDataSize)) printf("Correction section different!", "Debug", MB_ICONERROR | MB_OK);
250 if (Frag.Fragment.CodingMode == VS_COMPRESSION_GRAIN_SUPPRESSION)
251 {
252 if (pReadFrag->Fragment.pViews[i].pTracks[k][j].pPoints) printf("Inconsistency in points section!", "Debug", MB_ICONERROR | MB_OK);
253 }
254 else
255 {
256 if ((Frag.Fragment.pViews[i].pTracks[k][j].pPoints == 0) ^ (pReadFrag->Fragment.pViews[i].pTracks[k][j].pPoints == 0)) printf("Inconsistency in points section!", "Debug", MB_ICONERROR | MB_OK);
257 if (Frag.Fragment.pViews[i].pTracks[k][j].pPoints)
258 if (memcmp(Frag.Fragment.pViews[i].pTracks[k][j].pPoints, pReadFrag->Fragment.pViews[i].pTracks[k][j].pPoints, sizeof(TVector) * Frag.Fragment.pViews[i].pTracks[k][j].PointsN)) printf("Points section different!", "Debug", MB_ICONERROR | MB_OK);
259 };
260 };
261 };
262 };
263
264 if (pReadFrag) CoTaskMemFree(pReadFrag);
265
266// DeleteFile(m_Path);
267
268 for (i = 0; i < Frag.Fragment.CountOfViews; i++)
269 {
270 for (k = 0; k < 2; k++)
271 {
272 if (Frag.Fragment.pViews[i].Layers[k].pZs) delete [] Frag.Fragment.pViews[i].Layers[k].pZs;
273 if (Frag.Fragment.pViews[i].pTracks[k])
274 {
275 for (j = 0; j < Frag.Fragment.pViews[i].TCount[k]; j++)
276 {
277 if (Frag.Fragment.pViews[i].pTracks[k][j].pPoints) delete [] Frag.Fragment.pViews[i].pTracks[k][j].pPoints;
278 if (Frag.Fragment.pViews[i].pTracks[k][j].pCorrection) delete [] Frag.Fragment.pViews[i].pTracks[k][j].pCorrection;
279 };
280 delete [] Frag.Fragment.pViews[i].pTracks[k];
281 };
282 };
283 };
284 delete [] Frag.Fragment.pViews;
285
286 };
287
288/* END FRAGMENT TEST */
289
290/* ----- NEW ------------------------------------------------------- */
291
292/* BEGIN CATALOG TEST */
293
294 Cat.Hdr.ID.Part[0] = 2457;
295 Cat.Hdr.ID.Part[1] = 1386;
296 Cat.Hdr.ID.Part[2] = 2329894;
297 Cat.Hdr.ID.Part[3] = 4309943;
298 Cat.Hdr.Type.InfoType = VS_HEADER_BYTES | VS_CATALOG_SECTION;
299 Cat.Hdr.Type.HeaderFormat = VS_HEADER_TYPE;
300 for (i = 0; i < sizeof(Cat.Reserved); i++) Cat.Reserved[i] = i;
301 Cat.Area.Fragments = m_Fragments;
302 Cat.Area.XViews = m_Views;
303 Cat.Area.YViews = m_Fragments;
304 Cat.Area.XMin = (rand() % 1000) * 500.;
305 Cat.Area.YMin = ((rand() ^ 0xffdba324) % 1000) * 500.;
306 Cat.Area.XStep = 330.f;
307 Cat.Area.YStep = 330.f;
308 Cat.Area.XMax = Cat.Area.XMin + Cat.Area.XViews * (Cat.Area.XStep + 1);
309 Cat.Area.YMax = Cat.Area.YMax + Cat.Area.YViews * (Cat.Area.YStep + 1);
310 Cat.pFragmentIndices = new int[Cat.Area.XViews * Cat.Area.YViews];
311 for (i = 0; i < (Cat.Area.XViews * Cat.Area.YViews); i++)
312 Cat.pFragmentIndices[i] = i / Cat.Area.XViews + 1;
313 Cat.Config.CountOfConfigs = rand() % 8;
314 Cat.Config.pConfigs = Cat.Config.CountOfConfigs ? new VS_Config[Cat.Config.CountOfConfigs] : 0;
315 for (i = 0; i < Cat.Config.CountOfConfigs; i++)
316 {
317 strcpy(Cat.Config.pConfigs[i].ClassName, RandomString(16));
318 strcpy(Cat.Config.pConfigs[i].Config.Name, RandomString(16));
319 Cat.Config.pConfigs[i].Config.CountOfItems = rand() % 32;
320 Cat.Config.pConfigs[i].Config.pItems = Cat.Config.pConfigs[i].Config.CountOfItems ?
321 new char[Cat.Config.pConfigs[i].Config.CountOfItems *
323 for (j = 0; j < Cat.Config.pConfigs[i].Config.CountOfItems; j++)
324 {
325 strcpy(Cat.Config.pConfigs[i].Config.pItems + j *
327 strcpy(Cat.Config.pConfigs[i].Config.pItems + j *
330 };
331 };
332
333 sprintf(TempPath,"prova2.rwc");
334 if (iIO2->Write2(0, (BYTE *)&Cat, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
335 {
336 printf("Error Writing", "Debug", MB_ICONERROR | MB_OK);
337 };
338 //TempPath.ReleaseBuffer();
339
340 pReadCat = 0;
341 if (iIO2->Read2(0, (BYTE *)(&pReadCat), &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
342 {
343 printf("Error Reading", "Debug", MB_ICONERROR | MB_OK);
344 };
345 //TempPath.ReleaseBuffer();
346
347 if (memcmp(&Cat.Area, &pReadCat->Area, sizeof(Cat.Area))) printf("Area section different!", "Debug", MB_ICONERROR | MB_OK);
348 if (memcmp(&Cat.Hdr, &pReadCat->Hdr, sizeof(Cat.Hdr))) printf("Header section different!", "Debug", MB_ICONERROR | MB_OK);
349 if (memcmp(&Cat.Reserved, &pReadCat->Reserved, sizeof(Cat.Reserved))) printf("Reserved section different!", "Debug", MB_ICONERROR | MB_OK);
350 if (memcmp(Cat.pFragmentIndices, pReadCat->pFragmentIndices, sizeof(int) * Cat.Area.XViews * Cat.Area.YViews)) printf("Fragment index section different!", "Debug", MB_ICONERROR | MB_OK);
351 if (memcmp(&Cat.Config.CountOfConfigs, &pReadCat->Config.CountOfConfigs, sizeof(Cat.Config.CountOfConfigs))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
352 for (i = 0; i < Cat.Config.CountOfConfigs; i++)
353 {
354 if (memcmp(&Cat.Config.pConfigs[i].ClassName, &pReadCat->Config.pConfigs[i].ClassName, sizeof(Cat.Config.pConfigs[i].ClassName))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
355 if (memcmp(&Cat.Config.pConfigs[i].Config.Name, &pReadCat->Config.pConfigs[i].Config.Name, sizeof(Cat.Config.pConfigs[i].Config.Name))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
356 if (memcmp(&Cat.Config.pConfigs[i].Config.CountOfItems, &pReadCat->Config.pConfigs[i].Config.CountOfItems, sizeof(Cat.Config.pConfigs[i].Config.CountOfItems))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
357 if (memcmp(Cat.Config.pConfigs[i].Config.pItems, pReadCat->Config.pConfigs[i].Config.pItems, Cat.Config.pConfigs[i].Config.CountOfItems * (SYSAL_MAXCONFIG_ENTRY_NAME_LEN + SYSAL_MAXCONFIG_ENTRY_VALUE_LEN))) printf("Config section different!", "Debug", MB_ICONERROR | MB_OK);
358 };
359
360 if (pReadCat) CoTaskMemFree(pReadCat);
361
362 if (Cat.pFragmentIndices) delete [] Cat.pFragmentIndices;
363 if (Cat.Config.pConfigs)
364 {
365 for (i = 0; i < Cat.Config.CountOfConfigs; i++)
366 if (Cat.Config.pConfigs[i].Config.pItems)
367 delete [] Cat.Config.pConfigs[i].Config.pItems;
368 delete [] Cat.Config.pConfigs;
369 };
370
371// DeleteFile(m_Path);
372
373/* END CATALOG TEST */
374
375/* BEGIN FRAGMENT TEST */
376
377 for (fi = 0; fi < Cat.Area.YViews; )
378 {
379 Frag2.Hdr.ID = Cat.Hdr.ID;
382 for (i = 0; i < sizeof(Frag2.Reserved); i++) Frag2.Reserved[i] = i;
383 Frag2.Fragment.CountOfViews = Cat.Area.XViews;
385 Frag2.Fragment.FitCorrectionDataSize = 0;//((rand() % 4) >> 1) ? 16 : 0;
386 Frag2.Fragment.StartView = fi * Cat.Area.XViews;
387 Frag2.Fragment.Index = fi + 1;
388 Frag2.Fragment.pViews = new VS_View2[Cat.Area.XViews];
389 for (i = 0; i < Cat.Area.XViews; i++)
390 {
391 Frag2.Fragment.pViews[i].TileX = i;
392 Frag2.Fragment.pViews[i].TileY = fi;
393 Frag2.Fragment.pViews[i].RelevantZs.TopExt = 125.f + (rand() % 16) * .5f;
394 Frag2.Fragment.pViews[i].RelevantZs.TopInt = Frag2.Fragment.pViews[i].RelevantZs.TopExt - 25.f;
397 for (k = 0; k < 2; k++)
398 {
399 Frag2.Fragment.pViews[i].X[k] = Cat.Area.XStep * Frag2.Fragment.pViews[i].TileX + (rand() % 101 - 50) * .02;
400 Frag2.Fragment.pViews[i].Y[k] = Cat.Area.YStep * Frag2.Fragment.pViews[i].TileY + (rand() % 101 - 50) * .02;
401 Frag2.Fragment.pViews[i].MapX[k] = Frag2.Fragment.pViews[i].X[k];
402 Frag2.Fragment.pViews[i].MapY[k] = Frag2.Fragment.pViews[i].Y[k];
403 Frag2.Fragment.pViews[i].ImageMat[k][0][0] = Frag2.Fragment.pViews[i].ImageMat[k][1][1] = 1.;
404 Frag2.Fragment.pViews[i].ImageMat[k][0][1] = Frag2.Fragment.pViews[i].ImageMat[k][1][0] = 0.;
405 Frag2.Fragment.pViews[i].Layers[k].Count = 12;
407 for (j = 0; j < Frag2.Fragment.pViews[i].Layers[k].Count; j++)
408 {
409 Frag2.Fragment.pViews[i].Layers[k].pLayerInfo[j].Clusters = 500 + rand() % 1000;
410 Frag2.Fragment.pViews[i].Layers[k].pLayerInfo[j].Z = (k ? Frag2.Fragment.pViews[i].RelevantZs.BottomInt : Frag2.Fragment.pViews[i].RelevantZs.TopExt) - j * 25.f / 11.f ;
411 }
412 Frag2.Fragment.pViews[i].Status[k] = rand() % 3;
413 Frag2.Fragment.pViews[i].TCount[k] = rand() % (m_MaxTracks - m_MinTracks) + m_MinTracks;
414 Frag2.Fragment.pViews[i].pTracks[k] = Frag2.Fragment.pViews[i].TCount[k] ? new Track2[Frag2.Fragment.pViews[i].TCount[k]] : 0;
415 for (j = 0; j < Frag2.Fragment.pViews[i].TCount[k]; j++)
416 {
417 Track2 &T = Frag2.Fragment.pViews[i].pTracks[k][j];
418 T.Field = i;
419 T.AreaSum = 0;
420 T.Grains = 8 + rand() % 4;
422 T.FirstZ = T.LastZ + T.Grains * 25.f / 11.f;
423 T.Intercept.X = rand() % (int)Cat.Area.XStep - Cat.Area.XStep * 0.5f;
424 T.Intercept.Y = rand() % (int)Cat.Area.YStep - Cat.Area.YStep * 0.5f;
426 T.Slope.X = (rand() % 1001 - 500) * .001f;
427 T.Slope.Y = (rand() % 1001 - 500) * .001f;
428 T.Slope.Z = 1.f;
429 T.Sigma = rand() % 1000 * 0.0001;
430 T.Valid = true;
431 T.pGrains = new Grain[T.Grains];
432 int p;
433 for (p = 0; p < T.Grains; p++)
434 {
435 T.pGrains[p].Area = 4 + rand() % 30;
436 T.AreaSum += T.pGrains[p].Area;
437 T.pGrains[p].X = (rand() % 101 - 99) * .01;
438 T.pGrains[p].Y = (rand() % 101 - 99) * .01;
439 T.pGrains[p].Z = Frag2.Fragment.pViews[i].Layers[k].pLayerInfo[p].Z;
440 };
441// if (Frag2.Fragment.FitCorrectionDataSize)
442// {
443// T.pCorrection = new BYTE[Frag2.Fragment.FitCorrectionDataSize];
444// for (p = 0; p < Frag2.Fragment.FitCorrectionDataSize; T.pCorrection[p++] = rand() % 256);
445// }
446// else
447 T.pCorrection = 0;
448 };
449 };
450 };
451
452 sprintf(TempPath,"%s2.rwd.%08X", m_Path, fi + 1);
453 if (iIO2->Write2(0, (BYTE *)&Frag2, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
454 {
455 printf("Error Writing", "Debug", MB_ICONERROR | MB_OK);
456 };
457 //TempPath.ReleaseBuffer();
458
459 IO_VS_Fragment2 *pReadFrag2 = 0;
460 if (iIO2->Read2(0, (BYTE *)&pReadFrag2, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
461 {
462 printf("Error Reading", "Debug", MB_ICONERROR | MB_OK);
463 };
464 //TempPath.ReleaseBuffer();
465
466 if (memcmp(&Frag2.Hdr, &pReadFrag2->Hdr, sizeof(Frag2.Hdr))) printf("Header section different!", "Debug", MB_ICONERROR | MB_OK);
467 if (memcmp(&Frag2.Reserved, &pReadFrag2->Reserved, sizeof(Frag2.Reserved))) printf("Reserved section different!", "Debug", MB_ICONERROR | MB_OK);
468 if (memcmp(&Frag2.Fragment.CodingMode, &pReadFrag2->Fragment.CodingMode, sizeof(Frag2.Fragment.CodingMode))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
469 if (memcmp(&Frag2.Fragment.CountOfViews, &pReadFrag2->Fragment.CountOfViews, sizeof(Frag2.Fragment.CountOfViews))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
470 if (memcmp(&Frag2.Fragment.FitCorrectionDataSize, &pReadFrag2->Fragment.FitCorrectionDataSize, sizeof(Frag2.Fragment.FitCorrectionDataSize))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
471 if (memcmp(&Frag2.Fragment.Index, &pReadFrag2->Fragment.Index, sizeof(Frag2.Fragment.Index))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
472 if (memcmp(&Frag2.Fragment.StartView, &pReadFrag2->Fragment.StartView, sizeof(Frag2.Fragment.StartView))) printf("Fragment section different!", "Debug", MB_ICONERROR | MB_OK);
473 for (i = 0; i < Frag2.Fragment.CountOfViews; i++)
474 {
475 if (memcmp(&Frag2.Fragment.pViews[i].RelevantZs, &pReadFrag2->Fragment.pViews[i].RelevantZs, sizeof(Frag2.Fragment.pViews[i].RelevantZs))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
476 if (memcmp(&Frag2.Fragment.pViews[i].X, &pReadFrag2->Fragment.pViews[i].X, sizeof(Frag2.Fragment.pViews[i].X))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
477 if (memcmp(&Frag2.Fragment.pViews[i].Y, &pReadFrag2->Fragment.pViews[i].Y, sizeof(Frag2.Fragment.pViews[i].Y))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
478 if (memcmp(&Frag2.Fragment.pViews[i].TileX, &pReadFrag2->Fragment.pViews[i].TileX, sizeof(Frag2.Fragment.pViews[i].TileX))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
479 if (memcmp(&Frag2.Fragment.pViews[i].TileY, &pReadFrag2->Fragment.pViews[i].TileY, sizeof(Frag2.Fragment.pViews[i].TileY))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
480 if (memcmp(&Frag2.Fragment.pViews[i].TCount, &pReadFrag2->Fragment.pViews[i].TCount, sizeof(Frag2.Fragment.pViews[i].TCount))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
481 if (memcmp(&Frag2.Fragment.pViews[i].Status, &pReadFrag2->Fragment.pViews[i].Status, sizeof(Frag2.Fragment.pViews[i].Status))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
482 for (k = 0; k < 2; k++)
483 {
484 if (memcmp(&Frag2.Fragment.pViews[i].Layers[k].Count, &pReadFrag2->Fragment.pViews[i].Layers[k].Count, sizeof(Frag2.Fragment.pViews[i].Layers[k].Count))) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
485 if (memcmp(Frag2.Fragment.pViews[i].Layers[k].pLayerInfo, pReadFrag2->Fragment.pViews[i].Layers[k].pLayerInfo, sizeof(VS_View::t_Layers) * Frag2.Fragment.pViews[i].Layers[k].Count)) printf("View section different!", "Debug", MB_ICONERROR | MB_OK);
486 for (j = 0; j < Frag2.Fragment.pViews[i].TCount[k]; j++)
487 {
488 if (memcmp(&Frag2.Fragment.pViews[i].pTracks[k][j].Field, &pReadFrag2->Fragment.pViews[i].pTracks[k][j].Field, sizeof(Frag2.Fragment.pViews[i].pTracks[k][j].Field))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
489 if (memcmp(&Frag2.Fragment.pViews[i].pTracks[k][j].AreaSum, &pReadFrag2->Fragment.pViews[i].pTracks[k][j].AreaSum, sizeof(Frag2.Fragment.pViews[i].pTracks[k][j].AreaSum))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
490 if (memcmp(&Frag2.Fragment.pViews[i].pTracks[k][j].Grains, &pReadFrag2->Fragment.pViews[i].pTracks[k][j].Grains, sizeof(Frag2.Fragment.pViews[i].pTracks[k][j].Grains))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
491 if (memcmp(&Frag2.Fragment.pViews[i].pTracks[k][j].Intercept, &pReadFrag2->Fragment.pViews[i].pTracks[k][j].Intercept, sizeof(Frag2.Fragment.pViews[i].pTracks[k][j].Intercept))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
492 if (memcmp(&Frag2.Fragment.pViews[i].pTracks[k][j].Slope, &pReadFrag2->Fragment.pViews[i].pTracks[k][j].Slope, sizeof(Frag2.Fragment.pViews[i].pTracks[k][j].Slope))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
493 if (memcmp(&Frag2.Fragment.pViews[i].pTracks[k][j].FirstZ, &pReadFrag2->Fragment.pViews[i].pTracks[k][j].FirstZ, sizeof(Frag2.Fragment.pViews[i].pTracks[k][j].FirstZ))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
494 if (memcmp(&Frag2.Fragment.pViews[i].pTracks[k][j].LastZ, &pReadFrag2->Fragment.pViews[i].pTracks[k][j].LastZ, sizeof(Frag2.Fragment.pViews[i].pTracks[k][j].LastZ))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
495 if (memcmp(&Frag2.Fragment.pViews[i].pTracks[k][j].Sigma, &pReadFrag2->Fragment.pViews[i].pTracks[k][j].Sigma, sizeof(Frag2.Fragment.pViews[i].pTracks[k][j].Sigma))) printf("Track section different!", "Debug", MB_ICONERROR | MB_OK);
496 if (!pReadFrag2->Fragment.pViews[i].pTracks[k][j].Valid) printf("Inconsistency in track section!", "Debug", MB_ICONERROR | MB_OK);
497 if ((Frag2.Fragment.pViews[i].pTracks[k][j].pCorrection == 0) ^ (pReadFrag2->Fragment.pViews[i].pTracks[k][j].pCorrection == 0)) printf("Inconsistency in track section!", "Debug", MB_ICONERROR | MB_OK);
498 if (Frag2.Fragment.pViews[i].pTracks[k][j].pCorrection)
499 if (memcmp(Frag2.Fragment.pViews[i].pTracks[k][j].pCorrection, pReadFrag2->Fragment.pViews[i].pTracks[k][j].pCorrection, Frag2.Fragment.FitCorrectionDataSize)) printf("Correction section different!", "Debug", MB_ICONERROR | MB_OK);
500 if (Frag2.Fragment.CodingMode == VS_COMPRESSION_GRAIN_SUPPRESSION)
501 {
502 if (pReadFrag2->Fragment.pViews[i].pTracks[k][j].pGrains) printf("Inconsistency in points section!", "Debug", MB_ICONERROR | MB_OK);
503 }
504 else
505 {
506 if ((Frag2.Fragment.pViews[i].pTracks[k][j].pGrains == 0) ^ (pReadFrag2->Fragment.pViews[i].pTracks[k][j].pGrains == 0)) printf("Inconsistency in points section!", "Debug", MB_ICONERROR | MB_OK);
507 if (Frag2.Fragment.pViews[i].pTracks[k][j].pGrains)
508 if (memcmp(Frag2.Fragment.pViews[i].pTracks[k][j].pGrains, pReadFrag2->Fragment.pViews[i].pTracks[k][j].pGrains, sizeof(TVector) * Frag2.Fragment.pViews[i].pTracks[k][j].Grains)) printf("Points section different!", "Debug", MB_ICONERROR | MB_OK);
509 };
510 };
511 };
512 };
513
514 if (pReadFrag2) CoTaskMemFree(pReadFrag2);
515
516// DeleteFile(m_Path);
517
518 for (i = 0; i < Frag2.Fragment.CountOfViews; i++)
519 {
520 for (k = 0; k < 2; k++)
521 {
522 if (Frag2.Fragment.pViews[i].Layers[k].pLayerInfo) delete [] Frag2.Fragment.pViews[i].Layers[k].pLayerInfo;
523 if (Frag2.Fragment.pViews[i].pTracks[k])
524 {
525 for (j = 0; j < Frag2.Fragment.pViews[i].TCount[k]; j++)
526 {
527 if (Frag2.Fragment.pViews[i].pTracks[k][j].pGrains) delete [] Frag2.Fragment.pViews[i].pTracks[k][j].pGrains;
528 if (Frag2.Fragment.pViews[i].pTracks[k][j].pCorrection) delete [] Frag2.Fragment.pViews[i].pTracks[k][j].pCorrection;
529 };
530 delete [] Frag2.Fragment.pViews[i].pTracks[k];
531 };
532 };
533 };
534 delete [] Frag2.Fragment.pViews;
535
536 };
537
538/* END FRAGMENT TEST */
539
540
541 iIO2->Release();
542 iIO->Release();
543 return true;
544#else
545 cout <<"Back conversion not implemented for this OS" <<endl;
546 return false;
547#endif
548}
#define SYSAL_MAXCONFIG_ENTRY_VALUE_LEN
Definition: Config.h:6
#define SYSAL_MAXCONFIG_ENTRY_NAME_LEN
Definition: Config.h:5
interface ISySalDataIO ISySalDataIO
Definition: SySalDataIO.h:48
interface ISySalDataIO2 ISySalDataIO2
Definition: SySalDataIO.h:54
EXTERN_C const CLSID CLSID_SySalDataIO
Definition: SySalDataIO.h:887
EXTERN_C const IID IID_ISySalDataIO2
Definition: SySalDataIO.h:726
EXTERN_C const IID IID_ISySalDataIO
Definition: SySalDataIO.h:574
Definition: Track.h:10
float Sigma
Definition: Track.h:17
TVector Slope
Definition: Track.h:16
TVector SlopeErrors
Definition: Track.h:21
unsigned PointsN
Definition: Track.h:12
TVector * pPoints
Definition: Track.h:13
BYTE * pCorrection
Definition: Track.h:14
float FirstZ
Definition: Track.h:18
boolean Valid
Definition: Track.h:22
float LastZ
Definition: Track.h:19
TVector InterceptErrors
Definition: Track.h:20
int Field
Definition: Track.h:11
TVector Intercept
Definition: Track.h:15
strcpy(cmd,"cp Shower.root Shower2.root")
#define NULL
Definition: nidaqmx.h:84
Definition: Struct.h:33
float Y
Definition: Track2.h:13
unsigned short Area
Definition: Track2.h:11
float Z
Definition: Track2.h:14
float X
Definition: Track2.h:12
WORD HeaderFormat
Definition: id.h:15
BYTE InfoType
Definition: id.h:14
Definition: vscan_ds.h:60
float YMax
Definition: vscan_ds.h:74
int CountOfConfigs
Definition: vscan_ds.h:84
float YMin
Definition: vscan_ds.h:74
unsigned char Reserved[256]
Definition: vscan_ds.h:88
float XStep
Definition: vscan_ds.h:75
struct IO_VS_Catalog::@27 Area
float XMin
Definition: vscan_ds.h:74
float YStep
Definition: vscan_ds.h:75
IO_Header Type
Definition: vscan_ds.h:66
VS_Config * pConfigs
Definition: vscan_ds.h:85
struct IO_VS_Catalog::@28 Config
Identifier ID
Definition: vscan_ds.h:67
int XViews
Definition: vscan_ds.h:76
int Fragments
Definition: vscan_ds.h:77
float XMax
Definition: vscan_ds.h:74
int YViews
Definition: vscan_ds.h:76
int * pFragmentIndices
Definition: vscan_ds.h:87
struct IO_VS_Catalog::@26 Hdr
Definition: vscan_ds.h:106
Identifier ID
Definition: vscan_ds.h:113
unsigned char Reserved[256]
Definition: vscan_ds.h:116
struct IO_VS_Fragment2::@30 Hdr
IO_Header Type
Definition: vscan_ds.h:112
VS_Fragment2 Fragment
Definition: vscan_ds.h:115
Definition: vscan_ds.h:92
Identifier ID
Definition: vscan_ds.h:99
struct IO_VS_Fragment::@29 Hdr
VS_Fragment Fragment
Definition: vscan_ds.h:101
IO_Header Type
Definition: vscan_ds.h:98
unsigned char Reserved[256]
Definition: vscan_ds.h:102
int Part[4]
Definition: AcqPlateChanger.h:32
long CountOfItems
Definition: Config.h:11
char * pItems
Definition: Config.h:12
char Name[SYSAL_MAXCONFIG_NAME_LEN]
Definition: Config.h:10
Definition: TVectors.h:8
float Z
Definition: TVectors.h:11
float X
Definition: TVectors.h:9
float Y
Definition: TVectors.h:10
Definition: Track2.h:18
int Field
Definition: Track2.h:19
float Sigma
Definition: Track2.h:26
BYTE * pCorrection
Definition: Track2.h:23
TVector Slope
Definition: Track2.h:25
float LastZ
Definition: Track2.h:28
unsigned Grains
Definition: Track2.h:20
float FirstZ
Definition: Track2.h:27
unsigned AreaSum
Definition: Track2.h:21
boolean Valid
Definition: Track2.h:29
Grain * pGrains
Definition: Track2.h:22
TVector Intercept
Definition: Track2.h:24
Definition: vscan_ds.h:34
char ClassName[SYSAL_MAX_CONN_NAME_LEN]
Definition: vscan_ds.h:35
SySalConfig Config
Definition: vscan_ds.h:36
int FitCorrectionDataSize
Definition: vscan_ds.h:54
int StartView
Definition: vscan_ds.h:52
VS_View2 * pViews
Definition: vscan_ds.h:56
int Index
Definition: vscan_ds.h:51
int CountOfViews
Definition: vscan_ds.h:53
int CodingMode
Definition: vscan_ds.h:55
VS_View * pViews
Definition: vscan_ds.h:46
int CodingMode
Definition: vscan_ds.h:45
int Index
Definition: vscan_ds.h:41
int FitCorrectionDataSize
Definition: vscan_ds.h:44
int CountOfViews
Definition: vscan_ds.h:43
int StartView
Definition: vscan_ds.h:42
Definition: VSRawData.h:48
int Clusters
Definition: VSRawData.h:49
float Z
Definition: VSRawData.h:50
int Count
Definition: VSRawData.h:54
struct t_LayerInfo * pLayerInfo
Definition: VSRawData.h:55
float TopInt
Definition: VSRawData.h:43
float TopExt
Definition: VSRawData.h:42
float BottomExt
Definition: VSRawData.h:45
float BottomInt
Definition: VSRawData.h:44
Definition: VSRawData.h:35
float Y[2]
Definition: VSRawData.h:37
float MapX[2]
Definition: VSRawData.h:38
Track2 * pTracks[2]
Definition: VSRawData.h:59
float X[2]
Definition: VSRawData.h:37
float MapY[2]
Definition: VSRawData.h:38
float ImageMat[2][2][2]
Definition: VSRawData.h:39
int TCount[2]
Definition: VSRawData.h:58
int TileY
Definition: VSRawData.h:36
struct VS_View2::t_Layers2 Layers[2]
unsigned char Status[2]
Definition: VSRawData.h:57
struct VS_View2::t_RelevantZs2 RelevantZs
int TileX
Definition: VSRawData.h:36
Definition: VSRawData.h:25
float * pZs
Definition: VSRawData.h:27
int Count
Definition: VSRawData.h:26
float BottomExt
Definition: VSRawData.h:22
float TopExt
Definition: VSRawData.h:19
float TopInt
Definition: VSRawData.h:20
float BottomInt
Definition: VSRawData.h:21
Definition: VSRawData.h:12
int TileX
Definition: VSRawData.h:13
int TileY
Definition: VSRawData.h:13
Track * pTracks[2]
Definition: VSRawData.h:31
struct VS_View::t_Layers Layers[2]
float MapY[2]
Definition: VSRawData.h:15
float MapX[2]
Definition: VSRawData.h:15
float X[2]
Definition: VSRawData.h:14
struct VS_View::t_RelevantZs RelevantZs
float Y[2]
Definition: VSRawData.h:14
float ImageMat[2][2][2]
Definition: VSRawData.h:16
unsigned char Status[2]
Definition: VSRawData.h:29
int TCount[2]
Definition: VSRawData.h:30
p
Definition: testBGReduction_AllMethods.C:8
char * RandomString(int len)
Definition: test.cpp:1
#define VS_COMPRESSION_NULL
Definition: vscan_ds.h:28
#define VS_CATALOG_SECTION
Definition: vscan_ds.h:15
#define VS_FRAGMENT_SECTION
Definition: vscan_ds.h:20
const int VS_COMPRESSION_GRAIN_SUPPRESSION
Definition: vscan_ds.linux.h:35
const int VS_OLD_HEADER_TYPE
Definition: vscan_ds.linux.h:27
const int VS_HEADER_TYPE
Definition: vscan_ds.linux.h:28
const int VS_HEADER_BYTES
Definition: vscan_ds.linux.h:25