char Buffer[MAX_PATH]
float ***geometry;
float ***Ngeometry;
float ***Cgeometry;
float ***Tgeometry;
int numfaces;
void LoadModel()
{
fstream scenefile;
scenefile.open(Scene,ios::in | ios::out);
scenefile >> Buffer;
numfaces = atoi(Buffer);
geometry = new GLfloat**[numfaces];
Ngeometry = new GLfloat**[numfaces];
Cgeometry = new GLfloat**[numfaces];
Tgeometry = new GLfloat**[numfaces];
for(int x = 0; x < numfaces; x++)
{
geometry[x] = new GLfloat*[3];
Cgeometry[x] = new GLfloat*[3];
Ngeometry[x] = new GLfloat*[3];
Tgeometry[x] = new GLfloat*[3];
for(int y = 0; y < 3; y++)
{
geometry[x][y] = new GLfloat[3];
Ngeometry[x][y] = new GLfloat[3];
Cgeometry[x][y] = new GLfloat[3];
Tgeometry[x][y] = new GLfloat[3];
scenefile >> Buffer;
geometry[x][y][0] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
geometry[x][y][1] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
geometry[x][y][2] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Ngeometry[x][y][0] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Ngeometry[x][y][1] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Ngeometry[x][y][2] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Cgeometry[x][y][0] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Cgeometry[x][y][1] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Cgeometry[x][y][2] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Tgeometry[x][y][0] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Tgeometry[x][y][1] = (GLfloat)atof(Buffer);
scenefile >> Buffer;
Tgeometry[x][y][2] = (GLfloat)atof(Buffer);
}
}
}
void UnLoadModel()
{
// this is where i need my deletion code but i have no clue
// ive tried stuff like
//delete [] **geometry; in nested for statements to delete each
//tier of memory allocation but i get errors
}
thanks if anyone can help me with this, the book i have doesnt
go into much detail about deleting memory from pointers to pointers
!!My bRaiN is FiLLEd With HappY Juice!!
dynamic memory deletion
my question today is about dynamic memory allocation, i have been reading this book which describes a little about it but since im using pointers to pointers to pionters and need to delete the memory i dont know whats going on with it. heres my code,
I guess you can do something like this for every object
I would just stay away of doing it this way, maybe is just me but is a lot easier to have everything in an array of structures. It's a lot more readable as well...
[edited by - JohnyB on January 15, 2004 5:45:27 AM]
void UnLoadModel(){ int i, j; for( i = 0;i < numfaces; i++ ) { for( j = 0;j < 3;j++ ) { delete [] geometry[i][j]; } delete [] geometry[i]; } delete [] geometry; geometry=NULL;}
I would just stay away of doing it this way, maybe is just me but is a lot easier to have everything in an array of structures. It's a lot more readable as well...
[edited by - JohnyB on January 15, 2004 5:45:27 AM]
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement