diff options
author | Martin Poirier <theeth@yahoo.com> | 2009-03-22 03:30:18 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2009-03-22 03:30:18 +0300 |
commit | b995f4329a65278a229a32674ed2083ee04310a3 (patch) | |
tree | d56a73903a6d08f544745d18a9c277061a228db5 /source/blender/editors/armature/editarmature_generate.c | |
parent | 935f10dc45e482061f1af230d3f9a9f878000379 (diff) |
First part of operatorizing etch-a-ton in 2.5
Polyline, selection and a couple of others work. (note that polyline is shift-click because click is taken by 3d cursor. Needs a way to overwrite lower maps).
Diffstat (limited to 'source/blender/editors/armature/editarmature_generate.c')
-rw-r--r-- | source/blender/editors/armature/editarmature_generate.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/source/blender/editors/armature/editarmature_generate.c b/source/blender/editors/armature/editarmature_generate.c index 938a6a01533..a1990814a02 100644 --- a/source/blender/editors/armature/editarmature_generate.c +++ b/source/blender/editors/armature/editarmature_generate.c @@ -46,6 +46,7 @@ #include "BKE_context.h" #include "ED_armature.h" +#include "armature_intern.h" #include "BIF_generate.h" void setBoneRollFromNormal(EditBone *bone, float *no, float invmat[][4], float tmat[][3]) @@ -120,12 +121,11 @@ float calcArcCorrelation(BArcIterator *iter, int start, int end, float v0[3], fl } } -int nextFixedSubdivision(bContext *C, BArcIterator *iter, int start, int end, float head[3], float p[3]) +int nextFixedSubdivision(ToolSettings *toolsettings, BArcIterator *iter, int start, int end, float head[3], float p[3]) { static float stroke_length = 0; static float current_length; static char n; - Scene *scene = CTX_data_scene(C); float *v1, *v2; float length_threshold; int i; @@ -153,7 +153,7 @@ int nextFixedSubdivision(bContext *C, BArcIterator *iter, int start, int end, fl n++; - length_threshold = n * stroke_length / scene->toolsettings->skgen_subdivision_number; + length_threshold = n * stroke_length / toolsettings->skgen_subdivision_number; IT_peek(iter, start); v1 = iter->p; @@ -179,10 +179,9 @@ int nextFixedSubdivision(bContext *C, BArcIterator *iter, int start, int end, fl return -1; } -int nextAdaptativeSubdivision(bContext *C, BArcIterator *iter, int start, int end, float head[3], float p[3]) +int nextAdaptativeSubdivision(ToolSettings *toolsettings, BArcIterator *iter, int start, int end, float head[3], float p[3]) { - Scene *scene = CTX_data_scene(C); - float correlation_threshold = scene->toolsettings->skgen_correlation_limit; + float correlation_threshold = toolsettings->skgen_correlation_limit; float *start_p; float n[3]; int i; @@ -207,10 +206,9 @@ int nextAdaptativeSubdivision(bContext *C, BArcIterator *iter, int start, int en return -1; } -int nextLengthSubdivision(bContext *C, BArcIterator *iter, int start, int end, float head[3], float p[3]) +int nextLengthSubdivision(ToolSettings *toolsettings, BArcIterator *iter, int start, int end, float head[3], float p[3]) { - Scene *scene = CTX_data_scene(C); - float lengthLimit = scene->toolsettings->skgen_length_limit; + float lengthLimit = toolsettings->skgen_length_limit; int same = 1; int i; @@ -282,7 +280,7 @@ int nextLengthSubdivision(bContext *C, BArcIterator *iter, int start, int end, f return -1; } -EditBone * subdivideArcBy(bContext *C, bArmature *arm, ListBase *editbones, BArcIterator *iter, float invmat[][4], float tmat[][3], NextSubdivisionFunc next_subdividion) +EditBone * subdivideArcBy(ToolSettings *toolsettings, bArmature *arm, ListBase *editbones, BArcIterator *iter, float invmat[][4], float tmat[][3], NextSubdivisionFunc next_subdividion) { EditBone *lastBone = NULL; EditBone *child = NULL; @@ -296,7 +294,7 @@ EditBone * subdivideArcBy(bContext *C, bArmature *arm, ListBase *editbones, BArc parent = addEditBone(arm, "Bone"); VECCOPY(parent->head, iter->p); - index = next_subdividion(C, iter, bone_start, end, parent->head, parent->tail); + index = next_subdividion(toolsettings, iter, bone_start, end, parent->head, parent->tail); while (index != -1) { IT_peek(iter, index); @@ -314,7 +312,7 @@ EditBone * subdivideArcBy(bContext *C, bArmature *arm, ListBase *editbones, BArc parent = child; // new child is next parent bone_start = index; // start next bone from current index - index = next_subdividion(C, iter, bone_start, end, parent->head, parent->tail); + index = next_subdividion(toolsettings, iter, bone_start, end, parent->head, parent->tail); } iter->tail(iter); |