void BKE_free_linestyle(FreestyleLineStyle *linestyle) { LineStyleModifier *m; MTex *mtex; int a; for (a = 0; a < MAX_MTEX; a++) { mtex = linestyle->mtex[a]; if (mtex && mtex->tex) mtex->tex->id.us--; if (mtex) MEM_freeN(mtex); } if (linestyle->nodetree) { ntreeFreeTree(linestyle->nodetree); MEM_freeN(linestyle->nodetree); } BKE_free_animdata(&linestyle->id); while ((m = (LineStyleModifier *)linestyle->color_modifiers.first)) BKE_remove_linestyle_color_modifier(linestyle, m); while ((m = (LineStyleModifier *)linestyle->alpha_modifiers.first)) BKE_remove_linestyle_alpha_modifier(linestyle, m); while ((m = (LineStyleModifier *)linestyle->thickness_modifiers.first)) BKE_remove_linestyle_thickness_modifier(linestyle, m); while ((m = (LineStyleModifier *)linestyle->geometry_modifiers.first)) BKE_remove_linestyle_geometry_modifier(linestyle, m); }
void BKE_lamp_free(Lamp *la) { MTex *mtex; int a; for (a = 0; a < MAX_MTEX; a++) { mtex = la->mtex[a]; if (mtex && mtex->tex) mtex->tex->id.us--; if (mtex) MEM_freeN(mtex); } BKE_free_animdata((ID *)la); curvemapping_free(la->curfalloff); /* is no lib link block, but lamp extension */ if (la->nodetree) { ntreeFreeTree(la->nodetree); MEM_freeN(la->nodetree); } BKE_previewimg_free(&la->preview); BKE_icon_delete(&la->id); la->id.icon_id = 0; }
void free_speaker(Speaker *spk) { if(spk->sound) spk->sound->id.us--; BKE_free_animdata((ID *)spk); }
/* not material itself */ void free_material(Material *ma) { MTex *mtex; int a; for(a=0; a<MAX_MTEX; a++) { mtex= ma->mtex[a]; if(mtex && mtex->tex) mtex->tex->id.us--; if(mtex) MEM_freeN(mtex); } if(ma->ramp_col) MEM_freeN(ma->ramp_col); if(ma->ramp_spec) MEM_freeN(ma->ramp_spec); BKE_free_animdata((ID *)ma); if(ma->preview) BKE_previewimg_free(&ma->preview); BKE_icon_delete((struct ID*)ma); ma->id.icon_id = 0; /* is no lib link block, but material extension */ if(ma->nodetree) { ntreeFreeTree(ma->nodetree); MEM_freeN(ma->nodetree); } if(ma->gpumaterial.first) GPU_material_free(ma); }
/* do not free mesh itself */ void free_mesh(Mesh *me) { unlink_mesh(me); if(me->pv) { if(me->pv->vert_map) MEM_freeN(me->pv->vert_map); if(me->pv->edge_map) MEM_freeN(me->pv->edge_map); if(me->pv->old_faces) MEM_freeN(me->pv->old_faces); if(me->pv->old_edges) MEM_freeN(me->pv->old_edges); me->totvert= me->pv->totvert; me->totedge= me->pv->totedge; me->totface= me->pv->totface; MEM_freeN(me->pv); } CustomData_free(&me->vdata, me->totvert); CustomData_free(&me->edata, me->totedge); CustomData_free(&me->fdata, me->totface); if(me->adt) { BKE_free_animdata(&me->id); me->adt= NULL; } if(me->mat) MEM_freeN(me->mat); if(me->bb) MEM_freeN(me->bb); if(me->mselect) MEM_freeN(me->mselect); if(me->edit_mesh) MEM_freeN(me->edit_mesh); }
/* do not free mball itself */ void BKE_mball_free(MetaBall *mb) { BKE_mball_unlink(mb); if (mb->adt) { BKE_free_animdata((ID *)mb); mb->adt = NULL; } if (mb->mat) MEM_freeN(mb->mat); BLI_freelistN(&mb->elems); if (mb->disp.first) BKE_displist_free(&mb->disp); }
void BKE_free_linestyle(FreestyleLineStyle *linestyle) { LineStyleModifier *m; BKE_free_animdata(&linestyle->id); while ((m = (LineStyleModifier *)linestyle->color_modifiers.first)) BKE_remove_linestyle_color_modifier(linestyle, m); while ((m = (LineStyleModifier *)linestyle->alpha_modifiers.first)) BKE_remove_linestyle_alpha_modifier(linestyle, m); while ((m = (LineStyleModifier *)linestyle->thickness_modifiers.first)) BKE_remove_linestyle_thickness_modifier(linestyle, m); while ((m = (LineStyleModifier *)linestyle->geometry_modifiers.first)) BKE_remove_linestyle_geometry_modifier(linestyle, m); }
void free_world(World *wrld) { MTex *mtex; int a; for(a=0; a<MAX_MTEX; a++) { mtex= wrld->mtex[a]; if(mtex && mtex->tex) mtex->tex->id.us--; if(mtex) MEM_freeN(mtex); } BKE_previewimg_free(&wrld->preview); BKE_free_animdata((ID *)wrld); BKE_icon_delete((struct ID*)wrld); wrld->id.icon_id = 0; }
void BKE_texture_free(Tex *tex) { if (tex->coba) MEM_freeN(tex->coba); if (tex->env) BKE_free_envmap(tex->env); if (tex->pd) BKE_free_pointdensity(tex->pd); if (tex->vd) BKE_free_voxeldata(tex->vd); if (tex->ot) BKE_free_oceantex(tex->ot); BKE_free_animdata((struct ID *)tex); BKE_previewimg_free(&tex->preview); BKE_icon_delete((struct ID *)tex); tex->id.icon_id = 0; if (tex->nodetree) { ntreeFreeTree(tex->nodetree); MEM_freeN(tex->nodetree); } }
void BKE_lattice_free(Lattice *lt) { if (lt->def) MEM_freeN(lt->def); if (lt->dvert) free_dverts(lt->dvert, lt->pntsu * lt->pntsv * lt->pntsw); if (lt->editlatt) { Lattice *editlt = lt->editlatt->latt; if (editlt->def) MEM_freeN(editlt->def); if (editlt->dvert) free_dverts(editlt->dvert, lt->pntsu * lt->pntsv * lt->pntsw); MEM_freeN(editlt); MEM_freeN(lt->editlatt); } /* free animation data */ if (lt->adt) { BKE_free_animdata(<->id); lt->adt = NULL; } }
static void free_buffers(MovieClip *clip) { if (clip->cache) { IMB_moviecache_free(clip->cache->moviecache); if (clip->cache->postprocessed.ibuf) IMB_freeImBuf(clip->cache->postprocessed.ibuf); if (clip->cache->stabilized.ibuf) IMB_freeImBuf(clip->cache->stabilized.ibuf); MEM_freeN(clip->cache); clip->cache = NULL; } if (clip->anim) { IMB_free_anim(clip->anim); clip->anim = NULL; } BKE_free_animdata((ID *) clip); }
/* do not free mesh itself */ void BKE_mesh_free(Mesh *me, int unlink) { if (unlink) BKE_mesh_unlink(me); CustomData_free(&me->vdata, me->totvert); CustomData_free(&me->edata, me->totedge); CustomData_free(&me->fdata, me->totface); CustomData_free(&me->ldata, me->totloop); CustomData_free(&me->pdata, me->totpoly); if (me->adt) { BKE_free_animdata(&me->id); me->adt = NULL; } if (me->mat) MEM_freeN(me->mat); if (me->bb) MEM_freeN(me->bb); if (me->mselect) MEM_freeN(me->mselect); if (me->edit_btmesh) MEM_freeN(me->edit_btmesh); }
void BKE_world_free_ex(World *wrld, int do_id_user) { MTex *mtex; int a; for (a = 0; a < MAX_MTEX; a++) { mtex = wrld->mtex[a]; if (do_id_user && mtex && mtex->tex) mtex->tex->id.us--; if (mtex) MEM_freeN(mtex); } BKE_previewimg_free(&wrld->preview); BKE_free_animdata((ID *)wrld); /* is no lib link block, but world extension */ if (wrld->nodetree) { ntreeFreeTree_ex(wrld->nodetree, do_id_user); MEM_freeN(wrld->nodetree); } BKE_icon_delete((struct ID *)wrld); wrld->id.icon_id = 0; }
void BKE_camera_free(Camera *ca) { BKE_free_animdata((ID *)ca); }
void free_camera(Camera *ca) { BKE_free_animdata((ID *)ca); }
static void clear_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem, void *UNUSED(arg)) { BKE_free_animdata(tselem->id); }
/* do not free scene itself */ void BKE_scene_free(Scene *sce) { Base *base; base = sce->base.first; while (base) { base->object->id.us--; base = base->next; } /* do not free objects! */ if (sce->gpd) { #if 0 /* removed since this can be invalid memory when freeing everything */ /* since the grease pencil data is freed before the scene. * since grease pencil data is not (yet?), shared between objects * its probably safe not to do this, some save and reload will free this. */ sce->gpd->id.us--; #endif sce->gpd = NULL; } BLI_freelistN(&sce->base); BKE_sequencer_editing_free(sce); BKE_free_animdata((ID *)sce); BKE_keyingsets_free(&sce->keyingsets); if (sce->r.avicodecdata) { free_avicodecdata(sce->r.avicodecdata); MEM_freeN(sce->r.avicodecdata); sce->r.avicodecdata = NULL; } if (sce->r.qtcodecdata) { free_qtcodecdata(sce->r.qtcodecdata); MEM_freeN(sce->r.qtcodecdata); sce->r.qtcodecdata = NULL; } if (sce->r.ffcodecdata.properties) { IDP_FreeProperty(sce->r.ffcodecdata.properties); MEM_freeN(sce->r.ffcodecdata.properties); sce->r.ffcodecdata.properties = NULL; } BLI_freelistN(&sce->markers); BLI_freelistN(&sce->transform_spaces); BLI_freelistN(&sce->r.layers); if (sce->toolsettings) { if (sce->toolsettings->vpaint) { BKE_paint_free(&sce->toolsettings->vpaint->paint); MEM_freeN(sce->toolsettings->vpaint); } if (sce->toolsettings->wpaint) { BKE_paint_free(&sce->toolsettings->wpaint->paint); MEM_freeN(sce->toolsettings->wpaint); } if (sce->toolsettings->sculpt) { BKE_paint_free(&sce->toolsettings->sculpt->paint); MEM_freeN(sce->toolsettings->sculpt); } if (sce->toolsettings->uvsculpt) { BKE_paint_free(&sce->toolsettings->uvsculpt->paint); MEM_freeN(sce->toolsettings->uvsculpt); } BKE_paint_free(&sce->toolsettings->imapaint.paint); MEM_freeN(sce->toolsettings); sce->toolsettings = NULL; } if (sce->theDag) { free_forest(sce->theDag); MEM_freeN(sce->theDag); } if (sce->nodetree) { ntreeFreeTree(sce->nodetree); MEM_freeN(sce->nodetree); } if (sce->stats) MEM_freeN(sce->stats); if (sce->fps_info) MEM_freeN(sce->fps_info); sound_destroy_scene(sce); BKE_color_managed_view_settings_free(&sce->view_settings); }