// VC11.cpp : définit le point d'entrée pour l'application console. // VC8b.cpp : définit le point d'entrée pour l'application console. // #include "stdafx.h" #include #include #include #include #include "stdio.h" #include "stdlib.h" #include FILE *fp1; FILE *fp2; std::string; //Variable int i,h,nb_step_X,nb_step_Y,nb_step_Z,j,k,dd,n; long lenr,numf,numx,numy,recl; float xmin,xmax,ymin,ymax,zmin,zmax,x1,x2,y1,y2,z1,z2,xi,yi,zi,ai,bi,ci,fi; struct inf2 { float X, Y, Z ; float A, B, C, F ; }info2[10000000]; struct juj2 { float X, Y, Z ; float A, B, C, F ; }juju2[10000000]; struct moy { float X, Y, Z ; float A, B, C, F ; }moy2[10000000]; int precision = 1; //mm float aa[10000000]; float bb[10000000]; float uu[10000000]; float zz[10000000]; int main() { errno_t err; //Read from data file if((err=fopen_s(&fp1,"C:\\Sample\\raysdetector.dis","rb"))!=0)exit(-1); fseek(fp1,28,0); fread(&recl,sizeof(recl),1,fp1); lenr=recl/256/4; fseek(fp1,28+24,0); fread(&numf,4,1,fp1); fseek(fp1,3*28+16,0); fread(&ymin,4,1,fp1); fread(&ymax,4,1,fp1); fread(&numy,4,1,fp1); fseek(fp1,4*28+16,0); fread(&xmin,4,1,fp1); fread(&xmax,4,1,fp1); fread(&numx,4,1,fp1); FILE* fichier3 = NULL; fichier3 = fopen("C:\\Sample\\header.txt", "a+"); //fprintf(fichier3,"%i \ ", recl); //fprintf(fichier3,"%i \ ", numf); //fprintf(fichier3,"%f \ ", ymin); //fprintf(fichier3,"%f \ ", ymax); fprintf(fichier3,"%i \ ", numy); //fprintf(fichier3,"%f \ ", xmin); //fprintf(fichier3,"%f \ ", xmax); //fprintf(fichier3,"%i \n ", numx); fclose(fichier3); fread(&info2[0].X,4,1,fp1); xmin=info2[0].X; xmax=xmin; fread(&info2[0].Y,4,1,fp1); ymin=info2[0].Y; ymax=ymin; fread(&info2[0].Z,4,1,fp1); zmin=info2[0].Z; zmax=zmin; fread(&info2[0].A,4,1,fp1); fread(&info2[0].B,4,1,fp1); fread(&info2[0].C,4,1,fp1); fread(&info2[0].F,4,1,fp1); numx=-numy; //numx=100; for (long i=1;i (info2[i].X)) { xmin= info2[i].X; }else {} fread(&info2[i].Y,4,1,fp1); if (ymax < (info2[i].Y)) { ymax= info2[i].Y; } else {} if (ymin > (info2[i].Y)) { ymin= info2[i].Y; } else {} fread(&info2[i].Z,4,1,fp1); if (zmax < (info2[i].Z)) { zmax= info2[i].Z; } else {} if (zmin > (info2[i].Z)) { zmin= info2[i].Z; }else {} fread(&info2[i].A,4,1,fp1); fread(&info2[i].B,4,1,fp1); fread(&info2[i].C,4,1,fp1); fread(&info2[i].F,4,1,fp1); } //build the step for smaller grid nb_step_Y=int((ymax-ymin+2)/precision); nb_step_X=int((xmax-xmin+2)/precision); nb_step_Z=int((zmax-zmin+2)/precision); //build the array with the lines by smaller grid n=0; for (long k=0;k