CUnit3DLoader::~CUnit3DLoader() { delete[] farTextureMem; glDeleteTextures (1, &farTexture); delete texturehandler; texturehandler=0; map<string,UnitModelGeometry*>::iterator ugi; for(ugi=geometryModels.begin();ugi!=geometryModels.end();ugi++){ map<string,Animation*>::iterator ai; for(ai=ugi->second->animations.begin();ai!=ugi->second->animations.end();ai++){ delete ai->second; } if(ugi->second->indexBuffer) glDeleteBuffersARB(1,&ugi->second->indexBuffer); if(ugi->second->normalBuffer) glDeleteBuffersARB(1,&ugi->second->normalBuffer); delete ugi->second; } map<string,UnitModel*>::iterator ui; for(ui=models.begin();ui!=models.end();ui++){ DeleteModel(ui->second); } }
void CUnit3DLoader::DeleteModel(UnitModel* model) { for(vector<UnitModel*>::iterator mi=model->subModels.begin();mi!=model->subModels.end();++mi){ DeleteModel(*mi); } // for(map<string,Animation*>::iterator ai=model->animations.begin();ai!=model->animations.end();++ai){ // delete ai->second; // } if(model->texCoordBuffer) glDeleteBuffersARB(1,&model->texCoordBuffer); delete model; }
void CAht::DisposeModel( void ) { int i; if ( mem_ahtmodel_size ) { for(i=0;i<model_cnt;i++) { DeleteModel( i ); } if ( mem_ahtmodel != NULL ) { mem_bye( mem_ahtmodel ); } model_cnt = 0; } mem_ahtmodel = NULL; // model data mem_ahtmodel_size = 0; }
void CEditAnimationDialog::OnPopMenu( wxCommandEvent& event ) { int iID = event.GetId(); switch (iID) { case ID_MENU_CREATE : CreateNewModel(); break; case ID_MENU_COPY : break; case ID_MENU_PAST : break; case ID_MENU_DELETE : DeleteModel(); break; default: break; } }
AHTMODEL *CAht::EntryModel( int id ) { // 指定IDにモデルを追加 // (バッファは自動確保される) int i,sz; AHTMODEL *model; i = id; if ( i >= model_cnt ) { model_cnt = i + 1; sz = sizeof( void * ) * (( model_cnt + 15 ) & 0xfff0 ); mem_ahtmodel = (AHTMODEL **)mem_alloc( mem_ahtmodel, sz, mem_ahtmodel_size ); mem_ahtmodel_size = sz; } if ( mem_ahtmodel[ i ] != NULL ) DeleteModel( i ); model = new AHTMODEL; model->SetId( i ); mem_ahtmodel[ i ] = model; return model; }
void CEditAnimationDialog::DeleteModel() { wxTreeItemId item = m_pModelTree->GetSelection(); DeleteModel(item); m_pModelTree->Delete(item); }
C3DCubeModel::~C3DCubeModel() { DeleteModel(); }
ModelType::~ModelType() { DeleteModel(); }
CFkModel::~CFkModel() { DeleteModel(); }