Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2009-01-17 19:58:05 +0300
committerNicholas Bishop <nicholasbishop@gmail.com>2009-01-17 19:58:05 +0300
commit69e49c6f0c33743d32ba5313e735c1320911c679 (patch)
tree0d011ae7d20e4b7f5fd4702454ed07987bfe96e4 /source/blender/blenkernel
parent5caec606deea380f7b0dcb22fcb2a1402c1bb60a (diff)
Make sculpt data more like vpaint/weightpaint. SculptData is now in scene->toolsettings, moved the RNA to reflect that too.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_scene.h1
-rw-r--r--source/blender/blenkernel/BKE_sculpt.h7
-rw-r--r--source/blender/blenkernel/intern/scene.c68
3 files changed, 9 insertions, 67 deletions
diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h
index 2c58c5d6d8c..734687adafb 100644
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@ -37,7 +37,6 @@ struct Object;
struct Base;
struct AviCodecData;
struct QuicktimeCodecData;
-struct SculptData;
struct RenderData;
/* note; doesn't work when scene is empty */
diff --git a/source/blender/blenkernel/BKE_sculpt.h b/source/blender/blenkernel/BKE_sculpt.h
index 772dec21643..54d750db3af 100644
--- a/source/blender/blenkernel/BKE_sculpt.h
+++ b/source/blender/blenkernel/BKE_sculpt.h
@@ -33,7 +33,7 @@
struct NumInput;
struct RadialControl;
struct Scene;
-struct SculptData;
+struct Sculpt;
struct SculptSession;
struct StrokeCache;
@@ -65,10 +65,7 @@ typedef struct SculptSession {
struct StrokeCache *cache;
} SculptSession;
-void sculptdata_init(struct Scene *sce);
-void sculptdata_free(struct Scene *sce);
-void sculptsession_free(struct Scene *sce);
+void sculptsession_free(struct Sculpt *sculpt);
void sculpt_vertexusers_free(struct SculptSession *ss);
-void sculpt_reset_curve(struct SculptData *sd);
#endif
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 8fbbe83373e..cfd88d3d438 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -174,6 +174,10 @@ void free_scene(Scene *sce)
MEM_freeN(sce->toolsettings->vpaint);
if(sce->toolsettings->wpaint)
MEM_freeN(sce->toolsettings->wpaint);
+ if(sce->toolsettings->sculpt) {
+ sculptsession_free(sce->toolsettings->sculpt);
+ MEM_freeN(sce->toolsettings->sculpt);
+ }
MEM_freeN(sce->toolsettings);
sce->toolsettings = NULL;
@@ -188,8 +192,6 @@ void free_scene(Scene *sce)
ntreeFreeTree(sce->nodetree);
MEM_freeN(sce->nodetree);
}
-
- sculptdata_free(sce);
}
Scene *add_scene(char *name)
@@ -304,8 +306,6 @@ Scene *add_scene(char *name)
BLI_init_rctf(&sce->r.safety, 0.1f, 0.9f, 0.1f, 0.9f);
sce->r.osa= 8;
- sculptdata_init(sce);
-
/* note; in header_info.c the scene copy happens..., if you add more to renderdata it has to be checked there */
scene_add_render_layer(sce);
@@ -653,60 +653,6 @@ void scene_add_render_layer(Scene *sce)
srl->passflag= SCE_PASS_COMBINED|SCE_PASS_Z;
}
-/* Initialize 'permanent' sculpt data that is saved with file kept after
- switching out of sculptmode. */
-void sculptdata_init(Scene *sce)
-{
- SculptData *sd;
-
- if(!sce)
- return;
-
- sd= &sce->sculptdata;
-
- memset(sd, 0, sizeof(SculptData));
-
- /* XXX: create preset brushes here
- sd->drawbrush.size = sd->smoothbrush.size = sd->pinchbrush.size =
- sd->inflatebrush.size = sd->grabbrush.size =
- sd->layerbrush.size = sd->flattenbrush.size = 50;
- sd->drawbrush.strength = sd->smoothbrush.strength =
- sd->pinchbrush.strength = sd->inflatebrush.strength =
- sd->grabbrush.strength = sd->layerbrush.strength =
- sd->flattenbrush.strength = 25;
- sd->drawbrush.dir = sd->pinchbrush.dir = sd->inflatebrush.dir = sd->layerbrush.dir= 1;
- sd->drawbrush.flag = sd->smoothbrush.flag =
- sd->pinchbrush.flag = sd->inflatebrush.flag =
- sd->layerbrush.flag = sd->flattenbrush.flag = 0;
- sd->drawbrush.view= 0;
- sd->brush_type= DRAW_BRUSH;
- sd->texact= -1;
- sd->texfade= 1;
- sd->averaging= 1;
- sd->texsep= 0;
- sd->texrept= SCULPTREPT_DRAG;
- sd->flags= SCULPT_DRAW_BRUSH;
- sd->tablet_size=3;
- sd->tablet_strength=10;
- sd->rake=0;*/
-}
-
-void sculptdata_free(Scene *sce)
-{
- SculptData *sd= &sce->sculptdata;
- int a;
-
- sculptsession_free(sce);
-
- for(a=0; a<MAX_MTEX; a++) {
- MTex *mtex= sd->mtex[a];
- if(mtex) {
- if(mtex->tex) mtex->tex->id.us--;
- MEM_freeN(mtex);
- }
- }
-}
-
void sculpt_vertexusers_free(SculptSession *ss)
{
if(ss && ss->vertex_users){
@@ -718,9 +664,9 @@ void sculpt_vertexusers_free(SculptSession *ss)
}
}
-void sculptsession_free(Scene *sce)
+void sculptsession_free(Sculpt *sculpt)
{
- SculptSession *ss= sce->sculptdata.session;
+ SculptSession *ss= sculpt->session;
if(ss) {
if(ss->projverts)
MEM_freeN(ss->projverts);
@@ -732,7 +678,7 @@ void sculptsession_free(Scene *sce)
if(ss->texcache)
MEM_freeN(ss->texcache);
MEM_freeN(ss);
- sce->sculptdata.session= NULL;
+ sculpt->session= NULL;
}
}