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;
}
Exemple #3
0
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;
    }
}
Exemple #5
0
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();
}
Exemple #8
0
ModelType::~ModelType()
{
   DeleteModel();
}
Exemple #9
0
CFkModel::~CFkModel()
{
	DeleteModel();
}