19 sprintf(m_Path,
"prova");
51 Cat.
Area.
XMin = (rand() % 1000) * 500.;
52 Cat.
Area.
YMin = ((rand() ^ 0xffdba324) % 1000) * 500.;
80 sprintf(TempPath,
"prova.rwc");
81 if (iIO->Write(0, (BYTE *)&Cat, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
83 printf(
"Error Writing",
"Debug", MB_ICONERROR | MB_OK);
91 if (iIO->Read(0, (BYTE *)(&pReadCat), &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
93 printf(
"Error Reading",
"Debug", MB_ICONERROR | MB_OK);
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++)
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);
110 if (pReadCat) CoTaskMemFree(pReadCat);
112 if (Cat.pFragmentIndices)
delete [] Cat.pFragmentIndices;
113 if (Cat.Config.pConfigs)
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;
127 for (fi = 0; fi < Cat.Area.YViews; )
129 Frag.
Hdr.
ID = Cat.Hdr.ID;
139 for (i = 0; i < Cat.Area.XViews; i++)
147 for (k = 0; k < 2; k++)
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;
187 T.
pPoints[
p].
X = (rand() % 101 - 99) * .01;
188 T.
pPoints[
p].
Y = (rand() % 101 - 99) * .01;
201 sprintf(TempPath,
"%s.rwd.%08X", m_Path, fi + 1);
202 if (iIO->Write(0, (BYTE *)&Frag, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
204 printf(
"Error Writing",
"Debug", MB_ICONERROR | MB_OK);
209 if (iIO->Read(0, (BYTE *)&pReadFrag, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
211 printf(
"Error Reading",
"Debug", MB_ICONERROR | MB_OK);
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++)
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++)
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++)
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);
252 if (pReadFrag->Fragment.pViews[i].pTracks[k][j].pPoints) printf(
"Inconsistency in points section!",
"Debug", MB_ICONERROR | MB_OK);
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);
264 if (pReadFrag) CoTaskMemFree(pReadFrag);
268 for (i = 0; i < Frag.Fragment.CountOfViews; i++)
270 for (k = 0; k < 2; k++)
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])
275 for (j = 0; j < Frag.Fragment.pViews[i].TCount[k]; j++)
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;
280 delete [] Frag.Fragment.pViews[i].pTracks[k];
284 delete [] Frag.Fragment.pViews;
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;
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++)
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++)
325 strcpy(Cat.Config.pConfigs[i].Config.pItems + j *
327 strcpy(Cat.Config.pConfigs[i].Config.pItems + j *
333 sprintf(TempPath,
"prova2.rwc");
334 if (iIO2->Write2(0, (BYTE *)&Cat, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
336 printf(
"Error Writing",
"Debug", MB_ICONERROR | MB_OK);
341 if (iIO2->Read2(0, (BYTE *)(&pReadCat), &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
343 printf(
"Error Reading",
"Debug", MB_ICONERROR | MB_OK);
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++)
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);
360 if (pReadCat) CoTaskMemFree(pReadCat);
362 if (Cat.pFragmentIndices)
delete [] Cat.pFragmentIndices;
363 if (Cat.Config.pConfigs)
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;
377 for (fi = 0; fi < Cat.Area.YViews; )
379 Frag2.
Hdr.
ID = Cat.Hdr.ID;
389 for (i = 0; i < Cat.Area.XViews; i++)
397 for (k = 0; k < 2; k++)
420 T.
Grains = 8 + rand() % 4;
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;
429 T.
Sigma = rand() % 1000 * 0.0001;
437 T.
pGrains[
p].
X = (rand() % 101 - 99) * .01;
438 T.
pGrains[
p].
Y = (rand() % 101 - 99) * .01;
452 sprintf(TempPath,
"%s2.rwd.%08X", m_Path, fi + 1);
453 if (iIO2->Write2(0, (BYTE *)&Frag2, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
455 printf(
"Error Writing",
"Debug", MB_ICONERROR | MB_OK);
460 if (iIO2->Read2(0, (BYTE *)&pReadFrag2, &ExtErrorInfo, (UCHAR *)TempPath) != S_OK)
462 printf(
"Error Reading",
"Debug", MB_ICONERROR | MB_OK);
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++)
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++)
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++)
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);
502 if (pReadFrag2->Fragment.pViews[i].pTracks[k][j].pGrains) printf(
"Inconsistency in points section!",
"Debug", MB_ICONERROR | MB_OK);
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);
514 if (pReadFrag2) CoTaskMemFree(pReadFrag2);
518 for (i = 0; i < Frag2.Fragment.CountOfViews; i++)
520 for (k = 0; k < 2; k++)
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])
525 for (j = 0; j < Frag2.Fragment.pViews[i].TCount[k]; j++)
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;
530 delete [] Frag2.Fragment.pViews[i].pTracks[k];
534 delete [] Frag2.Fragment.pViews;
545 cout <<
"Back conversion not implemented for this OS" <<endl;
#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
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
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
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::@28 Hdr
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
Identifier ID
Definition: vscan_ds.h:67
struct IO_VS_Catalog::@30 Config
int XViews
Definition: vscan_ds.h:76
int Fragments
Definition: vscan_ds.h:77
float XMax
Definition: vscan_ds.h:74
struct IO_VS_Catalog::@29 Area
int YViews
Definition: vscan_ds.h:76
int * pFragmentIndices
Definition: vscan_ds.h:87
Definition: vscan_ds.h:106
Identifier ID
Definition: vscan_ds.h:113
unsigned char Reserved[256]
Definition: vscan_ds.h:116
IO_Header Type
Definition: vscan_ds.h:112
struct IO_VS_Fragment2::@32 Hdr
VS_Fragment2 Fragment
Definition: vscan_ds.h:115
Definition: vscan_ds.h:92
Identifier ID
Definition: vscan_ds.h:99
struct IO_VS_Fragment::@31 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
float Z
Definition: TVectors.h:11
float X
Definition: TVectors.h:9
float Y
Definition: TVectors.h:10
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