Page Menu
Home
Search
Configure Global Search
Log In
Files
F10846
patch.txt
Public
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Authored By
tracker24 tracker24 (tracker24)
Nov 13 2013, 2:18 PM
Size
2 KB
Subscribers
None
patch.txt
View Options
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
Details
Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
bd/d0/048ad0bba41f6c16696533a3b603
Event Timeline
Log In to Comment