ciao.
QUeste sono le strutture della mia classe:
codice:
struct VERTEX
{
GLfloat val[3];
};
struct NORMAL
{
GLfloat val[3];
};
struct INDEX
{
int nVertex;
int nNormalVertex;
};
struct FACE
{
INDEX *pIndex;
int nFaceNormal;
int nCount;
};
la classe classe ha 3 variabili membro:
codice:
m_vertexs = new VERTEX[MAX_VERTEXS];
m_faces = new FACE[MAX_FACES];
m_FaceNormals = new NORMAL[MAX_NORMALS];
questo è il distruttore della classe che mi lascia dei memory leak:
codice:
if(m_faces)
{
for(int i = 0;i < m_nDeleteFacesCount;i++)
{
delete[] m_faces[i].pIndex;
}
delete m_faces;
}
if(m_vertexs)
{
delete[] m_vertexs;
}
if(m_FaceNormals)
{
delete[] m_FaceNormals;
}
l'unico new nella classe è questo:
codice:
void CPolygonData::addFace(int idx[],int idxNormal[])
{
FACE face;
NORMAL normal;
int size = _msize( idx )/sizeof(int); ;
face.pIndex = new INDEX[size];
for (int i = 0; i <=size ;i++){
face.pIndex[i].nVertex = idx[i];
face.nCount = size;
}
m_faces[m_nFacesCount] = face;
m_nFacesCount ++;
}