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