Page MenuHome

patch.txt

patch.txt

Index: source/blender/modifiers/intern/MOD_simpledeform.c
===================================================================
--- source/blender/modifiers/intern/MOD_simpledeform.c (revision 32395)
+++ source/blender/modifiers/intern/MOD_simpledeform.c (working copy)
@@ -77,6 +77,28 @@
}
}
+
+static void simpleDeform_to_sphere(const float factor, const float dcut[3], float *co)
+{
+ float x = co[0], y = co[1], z = co[2];
+ float r = sqrt(x*x+y*y+z*z);
+ if(r != 0.0f )
+ {
+ co[0] =x+factor*(x/r-x);
+ co[1] =y+factor*(y/r-y);
+ co[2] =z+factor*(z/r-z);
+ }
+
+ if(dcut)
+ {
+ co[0] += dcut[0];
+ co[1] += dcut[1];
+ co[2] += dcut[2];
+ }
+}
+
+
+
static void simpleDeform_stretch(const float factor, const float dcut[3], float *co)
{
float x = co[0], y = co[1], z = co[2];
@@ -223,10 +245,11 @@
switch(smd->mode)
{
- case MOD_SIMPLEDEFORM_MODE_TWIST: simpleDeform_callback = simpleDeform_twist; break;
- case MOD_SIMPLEDEFORM_MODE_BEND: simpleDeform_callback = simpleDeform_bend; break;
- case MOD_SIMPLEDEFORM_MODE_TAPER: simpleDeform_callback = simpleDeform_taper; break;
- case MOD_SIMPLEDEFORM_MODE_STRETCH: simpleDeform_callback = simpleDeform_stretch; break;
+ case MOD_SIMPLEDEFORM_MODE_TWIST: simpleDeform_callback = simpleDeform_twist; break;
+ case MOD_SIMPLEDEFORM_MODE_BEND: simpleDeform_callback = simpleDeform_bend; break;
+ case MOD_SIMPLEDEFORM_MODE_TAPER: simpleDeform_callback = simpleDeform_taper; break;
+ case MOD_SIMPLEDEFORM_MODE_STRETCH: simpleDeform_callback = simpleDeform_stretch; break;
+ case MOD_SIMPLEDEFORM_MODE_TOSPHERE: simpleDeform_callback = simpleDeform_to_sphere; break;
default:
return; //No simpledeform mode?
}
Index: source/blender/makesdna/DNA_modifier_types.h
===================================================================
--- source/blender/makesdna/DNA_modifier_types.h (revision 32395)
+++ source/blender/makesdna/DNA_modifier_types.h (working copy)
@@ -676,6 +676,7 @@
#define MOD_SIMPLEDEFORM_MODE_BEND 2
#define MOD_SIMPLEDEFORM_MODE_TAPER 3
#define MOD_SIMPLEDEFORM_MODE_STRETCH 4
+#define MOD_SIMPLEDEFORM_MODE_TOSPHERE 5
#define MOD_SIMPLEDEFORM_LOCK_AXIS_X (1<<0)
#define MOD_SIMPLEDEFORM_LOCK_AXIS_Y (1<<1)
Index: source/blender/makesrna/intern/rna_modifier.c
===================================================================
--- source/blender/makesrna/intern/rna_modifier.c (revision 32395)
+++ source/blender/makesrna/intern/rna_modifier.c (working copy)
@@ -2021,6 +2021,7 @@
{MOD_SIMPLEDEFORM_MODE_BEND, "BEND", 0, "Bend", ""},
{MOD_SIMPLEDEFORM_MODE_TAPER, "TAPER", 0, "Taper", ""},
{MOD_SIMPLEDEFORM_MODE_STRETCH, "STRETCH", 0, "Stretch", ""},
+ {MOD_SIMPLEDEFORM_MODE_TOSPHERE, "TO-SPHERE", 0, "To Sphere", ""},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "SimpleDeformModifier", "Modifier");

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
bd/d0/048ad0bba41f6c16696533a3b603

Event Timeline