コード例 #1
0
ファイル: linestyle.c プロジェクト: rav66/blender
int BKE_linestyle_thickness_modifier_remove(FreestyleLineStyle *linestyle, LineStyleModifier *m)
{
	if (BLI_findindex(&linestyle->thickness_modifiers, m) == -1)
		return -1;
	switch (m->type) {
		case LS_MODIFIER_ALONG_STROKE:
			curvemapping_free(((LineStyleThicknessModifier_AlongStroke *)m)->curve);
			break;
		case LS_MODIFIER_DISTANCE_FROM_CAMERA:
			curvemapping_free(((LineStyleThicknessModifier_DistanceFromCamera *)m)->curve);
			break;
		case LS_MODIFIER_DISTANCE_FROM_OBJECT:
			curvemapping_free(((LineStyleThicknessModifier_DistanceFromObject *)m)->curve);
			break;
		case LS_MODIFIER_MATERIAL:
			curvemapping_free(((LineStyleThicknessModifier_Material *)m)->curve);
			break;
		case LS_MODIFIER_CALLIGRAPHY:
			break;
		case LS_MODIFIER_TANGENT:
			curvemapping_free(((LineStyleThicknessModifier_Tangent *)m)->curve);
			break;
		case LS_MODIFIER_NOISE:
			break;
		case LS_MODIFIER_CREASE_ANGLE:
			break;
		case LS_MODIFIER_CURVATURE_3D:
			break;
	}
	BLI_freelinkN(&linestyle->thickness_modifiers, m);
	return 0;
}
コード例 #2
0
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;
}
コード例 #3
0
static void freeData(ModifierData *md)
{
	HookModifierData *hmd = (HookModifierData *) md;

	curvemapping_free(hmd->curfalloff);

	if (hmd->indexar) MEM_freeN(hmd->indexar);
}
コード例 #4
0
static void freeData(ModifierData *md)
{
	WeightVGEditModifierData *wmd = (WeightVGEditModifierData *) md;
	curvemapping_free(wmd->cmap_curve);

	if (wmd->mask_texture) {
		id_us_min(&wmd->mask_texture->id);
	}
}
コード例 #5
0
ファイル: linestyle.c プロジェクト: Walid-Shouman/Blender
void BKE_remove_linestyle_alpha_modifier(FreestyleLineStyle *linestyle, LineStyleModifier *m)
{
	switch (m->type) {
		case LS_MODIFIER_ALONG_STROKE:
			curvemapping_free(((LineStyleAlphaModifier_AlongStroke *)m)->curve);
			break;
		case LS_MODIFIER_DISTANCE_FROM_CAMERA:
			curvemapping_free(((LineStyleAlphaModifier_DistanceFromCamera *)m)->curve);
			break;
		case LS_MODIFIER_DISTANCE_FROM_OBJECT:
			curvemapping_free(((LineStyleAlphaModifier_DistanceFromObject *)m)->curve);
			break;
		case LS_MODIFIER_MATERIAL:
			curvemapping_free(((LineStyleAlphaModifier_Material *)m)->curve);
			break;
	}
	BLI_freelinkN(&linestyle->alpha_modifiers, m);
}
コード例 #6
0
ファイル: brush.c プロジェクト: wangyxuan/blender
/** Free (or release) any data used by this brush (does not free the brush itself). */
void BKE_brush_free(Brush *brush)
{
  if (brush->icon_imbuf) {
    IMB_freeImBuf(brush->icon_imbuf);
  }
  curvemapping_free(brush->curve);

  if (brush->gpencil_settings != NULL) {
    curvemapping_free(brush->gpencil_settings->curve_sensitivity);
    curvemapping_free(brush->gpencil_settings->curve_strength);
    curvemapping_free(brush->gpencil_settings->curve_jitter);
    MEM_SAFE_FREE(brush->gpencil_settings);
  }

  MEM_SAFE_FREE(brush->gradient);

  BKE_previewimg_free(&(brush->preview));
}
コード例 #7
0
ファイル: brush.c プロジェクト: UPBGE/blender
/** Free (or release) any data used by this brush (does not free the brush itself). */
void BKE_brush_free(Brush *brush)
{
	if (brush->icon_imbuf) {
		IMB_freeImBuf(brush->icon_imbuf);
	}

	curvemapping_free(brush->curve);

	MEM_SAFE_FREE(brush->gradient);

	BKE_previewimg_free(&(brush->preview));
}
コード例 #8
0
ファイル: brush.c プロジェクト: mik0001/Blender
/* not brush itself */
void free_brush(Brush *brush)
{
	if (brush->mtex.tex)
		brush->mtex.tex->id.us--;

	if (brush->icon_imbuf)
		IMB_freeImBuf(brush->icon_imbuf);

	BKE_previewimg_free(&(brush->preview));

	curvemapping_free(brush->curve);
}
コード例 #9
0
ファイル: MOD_warp.c プロジェクト: wisaac407/blender
static void copyData(ModifierData *md, ModifierData *target)
{
	WarpModifierData *wmd = (WarpModifierData *) md;
	WarpModifierData *twmd = (WarpModifierData *) target;

	if (twmd->curfalloff != NULL) {
		curvemapping_free(twmd->curfalloff);
	}

	modifier_copyData_generic(md, target);

	twmd->curfalloff = curvemapping_copy(wmd->curfalloff);
}
コード例 #10
0
ファイル: brush.c プロジェクト: Rojuinex/Blender
/* not brush itself */
void BKE_brush_free(Brush *brush)
{
	id_us_min((ID *)brush->mtex.tex);
	id_us_min((ID *)brush->mask_mtex.tex);
	id_us_min((ID *)brush->paint_curve);

	if (brush->icon_imbuf)
		IMB_freeImBuf(brush->icon_imbuf);

	BKE_previewimg_free(&(brush->preview));

	curvemapping_free(brush->curve);

	if (brush->gradient)
		MEM_freeN(brush->gradient);
}
コード例 #11
0
void BKE_free_pointdensitydata(PointDensity *pd)
{
	if (pd->point_tree) {
		BLI_bvhtree_free(pd->point_tree);
		pd->point_tree = NULL;
	}
	if (pd->point_data) {
		MEM_freeN(pd->point_data);
		pd->point_data = NULL;
	}
	if (pd->coba) {
		MEM_freeN(pd->coba);
		pd->coba = NULL;
	}

	curvemapping_free(pd->falloff_curve); /* can be NULL */
}
コード例 #12
0
ファイル: light.c プロジェクト: wangyxuan/blender
void BKE_light_free(Light *la)
{
  BKE_animdata_free((ID *)la, false);

  curvemapping_free(la->curfalloff);

  /* is no lib link block, but light extension */
  if (la->nodetree) {
    ntreeFreeNestedTree(la->nodetree);
    MEM_freeN(la->nodetree);
    la->nodetree = NULL;
  }

  BKE_previewimg_free(&la->preview);
  BKE_icon_id_delete(&la->id);
  la->id.icon_id = 0;
}
コード例 #13
0
ファイル: node_util.c プロジェクト: pawkoz/dyplom
void node_free_curves(bNode *node)
{
	curvemapping_free(node->storage);
}
コード例 #14
0
ファイル: MOD_warp.c プロジェクト: dfelinto/blender
static void freeData(ModifierData *md)
{
  WarpModifierData *wmd = (WarpModifierData *)md;
  curvemapping_free(wmd->curfalloff);
}
コード例 #15
0
ファイル: colortools.c プロジェクト: scorpion81/blender-voro
void BKE_color_managed_view_settings_free(ColorManagedViewSettings *settings)
{
	if (settings->curve_mapping)
		curvemapping_free(settings->curve_mapping);
}
コード例 #16
0
static void freeData(ModifierData *md)
{
	WeightVGEditModifierData *wmd = (WeightVGEditModifierData *) md;
	curvemapping_free(wmd->cmap_curve);
}