From 8bc1e44e3364ba6d7888c04f97ecea0fad382d41 Mon Sep 17 00:00:00 2001 From: Matt Ebb Date: Tue, 22 Jun 2010 09:13:30 +0000 Subject: slight cleaning of texture type changing functionality, done while working on other stuff today --- source/blender/blenkernel/BKE_texture.h | 1 + source/blender/blenkernel/intern/texture.c | 21 +++++++++++++++++++++ source/blender/makesrna/intern/rna_texture.c | 18 +----------------- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/source/blender/blenkernel/BKE_texture.h b/source/blender/blenkernel/BKE_texture.h index ace352395d2..39c12a2bfd8 100644 --- a/source/blender/blenkernel/BKE_texture.h +++ b/source/blender/blenkernel/BKE_texture.h @@ -64,6 +64,7 @@ void colorband_table_RGBA(struct ColorBand *coba, float **array, int *size); void default_tex(struct Tex *tex); struct Tex *add_texture(const char *name); +void tex_set_type(struct Tex *tex, int type); void default_mtex(struct MTex *mtex); struct MTex *add_mtex(void); struct Tex *copy_texture(struct Tex *tex); diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 6d8c339d2b9..31826f5be28 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -509,6 +509,27 @@ void default_tex(Tex *tex) tex->preview = NULL; } +void tex_set_type(Tex *tex, int type) +{ + switch(type) { + + case TEX_VOXELDATA: + if (tex->vd == NULL) + tex->vd = BKE_add_voxeldata(); + break; + case TEX_POINTDENSITY: + if (tex->pd == NULL) + tex->pd = BKE_add_pointdensity(); + break; + case TEX_ENVMAP: + if (tex->env == NULL) + tex->env = BKE_add_envmap(); + break; + } + + tex->type = type; +} + /* ------------------------------------------------------------------------- */ Tex *add_texture(const char *name) diff --git a/source/blender/makesrna/intern/rna_texture.c b/source/blender/makesrna/intern/rna_texture.c index 32221e51cb9..a12b8c55552 100644 --- a/source/blender/makesrna/intern/rna_texture.c +++ b/source/blender/makesrna/intern/rna_texture.c @@ -160,24 +160,8 @@ static void rna_Texture_nodes_update(Main *bmain, Scene *scene, PointerRNA *ptr) static void rna_Texture_type_set(PointerRNA *ptr, int value) { Tex *tex= (Tex*)ptr->data; - - switch(value) { - - case TEX_VOXELDATA: - if (tex->vd == NULL) - tex->vd = BKE_add_voxeldata(); - break; - case TEX_POINTDENSITY: - if (tex->pd == NULL) - tex->pd = BKE_add_pointdensity(); - break; - case TEX_ENVMAP: - if (tex->env == NULL) - tex->env = BKE_add_envmap(); - break; - } - tex->type = value; + tex_set_type(tex, value); } void rna_TextureSlot_update(Main *bmain, Scene *scene, PointerRNA *ptr) -- cgit v1.2.3