// this file contain the structure for the file reading of 3dm files. // class image, class points, class planes; typedef struct{ float x,y,z; }coordinate; class points { public : int no_points; coordinate * co_ord; points(int n) { no_points=n; co_ord = (coordinate *)new coordinate[n]; } ~points(){ if (co_ord) delete co_ord;} void set_co_ordinate(int index,float x,float y,float z) { (co_ord+index)->x=x; (co_ord+index)->y=y; (co_ord+index)->z=z; } coordinate *get_co_ordinate(int ind){return co_ord+ind;} }; class plan_points{ public: int count_points,*index_points,count; plan_points(){} void init_plane(int n) { count_points=count=n; index_points=new int[count_points]; } set_points(int n) { if(count>0){ *(index_points+(count_points - count))=n-1; count--;} } }; class objects{ public : int no_planes,no_points; points *set; plan_points *start; ifstream infile; objects(char *fname) { infile.open(fname); if(!infile){cout<<"Error!!"<>c; while(c!='*')infile>>c; infile.getline(str,80); infile>>totpoints>>totplanes; no_planes=totplanes;no_points=totpoints; set= new points(totpoints); for(int i=0;i>x>>y>>z; if(fabs(x)>f) f=fabs(x); if(fabs(y)>f) f=fabs(y); if(fabs(z)>f) f=fabs(z); set->set_co_ordinate(i,x,y,z); } start=new plan_points[totplanes]; for(int i=0;i>no;(start+i)->init_plane(no); for(int j=0;j>temp; (start+i)->set_points(temp); } } infile.close(); cout<<"-- file read!!!"<count_points;j++) { float x,y,z; x=((set->co_ord)+(*(((start+i)->index_points)+j)))->x; y=((set->co_ord)+(*(((start+i)->index_points)+j)))->y; z=((set->co_ord)+(*(((start+i)->index_points)+j)))->z; // cout<"<"<=0.80) r=r-0.59; if(g>=0.80) g=g-0.59; if(b>=0.80) b=b-0.59; } glTranslatef(0.0,0.0,0.0); } };