Revision: 48842
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48842
Author:   campbellbarton
Date:     2012-07-11 20:18:46 +0000 (Wed, 11 Jul 2012)
Log Message:
-----------
ability to calculate mask curve and feather with predefined resolution (*_ex 
functions)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_mask.h
    trunk/blender/source/blender/blenkernel/intern/mask.c

Modified: trunk/blender/source/blender/blenkernel/BKE_mask.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_mask.h  2012-07-11 19:39:43 UTC 
(rev 48841)
+++ trunk/blender/source/blender/blenkernel/BKE_mask.h  2012-07-11 20:18:46 UTC 
(rev 48842)
@@ -67,9 +67,10 @@
 float (*BKE_mask_spline_differentiate(struct MaskSpline *spline, int 
*tot_diff_point))[2];
 float (*BKE_mask_spline_feather_differentiated_points(struct MaskSpline 
*spline, int *tot_feather_point))[2];
 
+float (*BKE_mask_spline_differentiate_with_resolution_ex(struct MaskSpline 
*spline, const int resol, int *tot_diff_point))[2];
 float (*BKE_mask_spline_differentiate_with_resolution(struct MaskSpline 
*spline, int width, int height, int *tot_diff_point))[2];
-float (*BKE_mask_spline_feather_differentiated_points_with_resolution(struct 
MaskSpline *spline,
-                                                                      int 
width, int height, int *tot_feather_point))[2];
+float 
(*BKE_mask_spline_feather_differentiated_points_with_resolution_ex(struct 
MaskSpline *spline, const int resol, int *tot_feather_point))[2];
+float (*BKE_mask_spline_feather_differentiated_points_with_resolution(struct 
MaskSpline *spline, int width, int height, int *tot_feather_point))[2];
 
 float (*BKE_mask_spline_feather_points(struct MaskSpline *spline, int 
*tot_feather_point))[2];
 

Modified: trunk/blender/source/blender/blenkernel/intern/mask.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mask.c       2012-07-11 
19:39:43 UTC (rev 48841)
+++ trunk/blender/source/blender/blenkernel/intern/mask.c       2012-07-11 
20:18:46 UTC (rev 48842)
@@ -314,14 +314,14 @@
        return resol;
 }
 
-float (*BKE_mask_spline_differentiate_with_resolution(MaskSpline *spline, int 
width, int height,
-                                                      int *tot_diff_point))[2]
+float (*BKE_mask_spline_differentiate_with_resolution_ex(MaskSpline *spline, 
const int resol,
+                                                         int 
*tot_diff_point))[2]
 {
        MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
 
        MaskSplinePoint *point, *prev;
        float (*diff_points)[2], (*fp)[2];
-       int a, len, resol = BKE_mask_spline_resolution(spline, width, height);
+       int a, len;
 
        if (spline->tot_point <= 1) {
                /* nothing to differentiate */
@@ -378,18 +378,26 @@
        return diff_points;
 }
 
+float (*BKE_mask_spline_differentiate_with_resolution(MaskSpline *spline, int 
width, int height,
+                                                      int *tot_diff_point))[2]
+{
+       int resol = BKE_mask_spline_resolution(spline, width, height);
+
+       return BKE_mask_spline_differentiate_with_resolution_ex(spline, resol, 
tot_diff_point);
+}
+
 float (*BKE_mask_spline_differentiate(MaskSpline *spline, int 
*tot_diff_point))[2]
 {
        return BKE_mask_spline_differentiate_with_resolution(spline, 0, 0, 
tot_diff_point);
 }
 
-float 
(*BKE_mask_spline_feather_differentiated_points_with_resolution(MaskSpline 
*spline, int width, int height,
-                                                                      int 
*tot_feather_point))[2]
+float 
(*BKE_mask_spline_feather_differentiated_points_with_resolution_ex(MaskSpline 
*spline, const int resol,
+                                                                         int 
*tot_feather_point))[2]
 {
        MaskSplinePoint *points_array = BKE_mask_spline_point_array(spline);
 
        float (*feather)[2], (*fp)[2];
-       int i, j, tot, resol = BKE_mask_spline_feather_resolution(spline, 
width, height);
+       int i, j, tot;
 
        tot = resol * spline->tot_point;
        feather = fp = MEM_mallocN(tot * sizeof(*feather), "mask spline feather 
diff points");
@@ -416,6 +424,14 @@
        return feather;
 }
 
+float 
(*BKE_mask_spline_feather_differentiated_points_with_resolution(MaskSpline 
*spline, int width, int height,
+                                                                      int 
*tot_feather_point))[2]
+{
+       int resol = BKE_mask_spline_feather_resolution(spline, width, height);
+
+       return 
BKE_mask_spline_feather_differentiated_points_with_resolution_ex(spline, resol, 
tot_feather_point);
+}
+
 float (*BKE_mask_spline_feather_differentiated_points(MaskSpline *spline, int 
*tot_feather_point))[2]
 {
        return 
BKE_mask_spline_feather_differentiated_points_with_resolution(spline, 0, 0, 
tot_feather_point);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to