CLevel::CLevel(char *file)
{
FILE *F;
F=fopen(file,"r+");
fscanf_s(F,"%d",&poly_count);
polygons=new CPolygon*[poly_count];
for(int i=0; i < poly_count; i++)
{
fscanf_s(F,"%d",&v_count);
int *vertex_array=new int[v_count]; // kreiram integer niz jel iz fajla citam broj elemenata, ne znam ga unapred
for(int j=0; j < v_count*2; j++)
{
fscanf_s(F,"%d",&vertex_array[j]); // iz fajla ucitavam vrednosti u taj niz
}
polygons[i]=new CPolygon(v_count,vertex_array); //taj niz prosledjujem konstruktoru klase poligon
delete[] vertex_array; // niz mi vise nije potreban i brisem ga..., ovde nastaje problem, ako ovog nema, onda radi kod, al se kasnije zapuca.
}
}
////////
//konstruktor klase CPolygon
////////
CPolygon::CPolygon(int n,int *i)
{
vertex=new CVector[n];
for(int br=0; br < n*2;br++)
{
int df=br+1;
vertex[0+br/2]=CVector(i[br],i[df]); // ovo je vazno, jel prosledjujem vrednosti vertex_arraya (lokalna varijabla i), po vrenosti a ne po adresi, i zato bi trebalo da mogu da obrisem taj pointer
br++;
}
// probo sam da ovde izbrisem i, to jest da ga oslobodim. al mi dodje na isto.
}