C3DModelLoader::~C3DModelLoader() { // delete model cache for (unsigned int n = 1; n < models.size(); n++) { S3DModel* model = models[n]; assert(model != NULL); assert(model->GetRootPiece() != NULL); model->DeletePieces(model->GetRootPiece()); model->SetRootPiece(NULL); delete model; } for (ParserMap::const_iterator it = parsers.begin(); it != parsers.end(); ++it) { delete (it->second); } models.clear(); cache.clear(); parsers.clear(); if (GML::SimEnabled() && !GML::ShareLists()) { createLists.clear(); fixLocalModels.clear(); Update(); // delete remaining local models } }
C3DModelLoader::~C3DModelLoader() { // delete model cache for (unsigned int n = 1; n < models.size(); n++) { S3DModel* model = models[n]; assert(model != NULL); assert(model->GetRootPiece() != NULL); model->DeletePieces(model->GetRootPiece()); model->SetRootPiece(NULL); delete model; } models.clear(); cache.clear(); // get rid of Spring's native parsers delete parsers["3do"]; parsers.erase("3do"); delete parsers["s3o"]; parsers.erase("s3o"); delete parsers["obj"]; parsers.erase("obj"); if (!parsers.empty()) { // delete the shared Assimp parser ParserMap::iterator pi = parsers.begin(); delete pi->second; } parsers.clear(); if (GML::SimEnabled() && !GML::ShareLists()) { createLists.clear(); fixLocalModels.clear(); Update(); // delete remaining local models } }