[Bf-blender-cvs] [213f4e6b482] soc-2019-bevel-profiles: CurveProfile: Share BezTriple handle types, small rename
Hans Goudey
noreply at git.blender.org
Thu Oct 24 21:27:00 CEST 2019
Commit: 213f4e6b482989ef6d1998d4710f75f2ac3f53c4
Author: Hans Goudey
Date: Thu Oct 17 12:35:06 2019 -0500
Branches: soc-2019-bevel-profiles
https://developer.blender.org/rB213f4e6b482989ef6d1998d4710f75f2ac3f53c4
CurveProfile: Share BezTriple handle types, small rename
===================================================================
M source/blender/blenkernel/BKE_curveprofile.h
M source/blender/blenkernel/intern/curveprofile.c
M source/blender/editors/interface/interface_templates.c
M source/blender/makesdna/DNA_curveprofile_types.h
M source/blender/makesrna/intern/rna_curveprofile.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_curveprofile.h b/source/blender/blenkernel/BKE_curveprofile.h
index 3c676c66948..0a01bc67651 100644
--- a/source/blender/blenkernel/BKE_curveprofile.h
+++ b/source/blender/blenkernel/BKE_curveprofile.h
@@ -45,7 +45,7 @@ void BKE_curveprofile_remove_by_flag(struct CurveProfile *prwdgt, const short fl
struct CurveProfilePoint *BKE_curveprofile_insert(struct CurveProfile *prwdgt, float x, float y);
-void BKE_curveprofile_handle_set(struct CurveProfile *prwdgt, int type_1, int type_2);
+void BKE_curveprofile_selected_handle_set(struct CurveProfile *prwdgt, int type_1, int type_2);
void BKE_curveprofile_reverse(struct CurveProfile *prwdgt);
diff --git a/source/blender/blenkernel/intern/curveprofile.c b/source/blender/blenkernel/intern/curveprofile.c
index cbaf3f17c72..f27f15331c4 100644
--- a/source/blender/blenkernel/intern/curveprofile.c
+++ b/source/blender/blenkernel/intern/curveprofile.c
@@ -182,12 +182,12 @@ CurveProfilePoint *BKE_curveprofile_insert(CurveProfile *prwdgt, float x, float
new_pts[i_new].flag = PROF_SELECT;
new_pt = &new_pts[i_new];
/* Set handles of new point based on its neighbors. */
- if (new_pts[i_new - 1].h2 == PROF_HANDLE_VECTOR &&
- prwdgt->path[i_insert].h1 == PROF_HANDLE_VECTOR) {
- new_pt->h1 = new_pt->h2 = PROF_HANDLE_VECTOR;
+ if (new_pts[i_new - 1].h2 == HD_VECT &&
+ prwdgt->path[i_insert].h1 == HD_VECT) {
+ new_pt->h1 = new_pt->h2 = HD_VECT;
}
else {
- new_pt->h1 = new_pt->h2 = PROF_HANDLE_AUTO;
+ new_pt->h1 = new_pt->h2 = HD_AUTO;
}
}
}
@@ -201,30 +201,30 @@ CurveProfilePoint *BKE_curveprofile_insert(CurveProfile *prwdgt, float x, float
/** Sets the handle type of the selected control points.
* \param type_*: Either HD_VECT or HD_AUTO. Handle types for the first and second handles.
* \note: Requires curveprofile_update call after. */
-void BKE_curveprofile_handle_set(CurveProfile *prwdgt, int type_1, int type_2)
+void BKE_curveprofile_selected_handle_set(CurveProfile *prwdgt, int type_1, int type_2)
{
for (int i = 0; i < prwdgt->totpoint; i++) {
if (prwdgt->path[i].flag & PROF_SELECT) {
switch (type_1) {
case HD_AUTO:
- prwdgt->path[i].h1 = PROF_HANDLE_AUTO;
+ prwdgt->path[i].h1 = HD_AUTO;
break;
case HD_VECT:
- prwdgt->path[i].h1 = PROF_HANDLE_VECTOR;
+ prwdgt->path[i].h1 = HD_VECT;
break;
default:
- prwdgt->path[i].h1 = PROF_HANDLE_AUTO;
+ prwdgt->path[i].h1 = HD_AUTO;
break;
}
switch (type_2) {
case HD_AUTO:
- prwdgt->path[i].h2 = PROF_HANDLE_AUTO;
+ prwdgt->path[i].h2 = HD_AUTO;
break;
case HD_VECT:
- prwdgt->path[i].h2 = PROF_HANDLE_VECTOR;
+ prwdgt->path[i].h2 = HD_VECT;
break;
default:
- prwdgt->path[i].h1 = PROF_HANDLE_AUTO;
+ prwdgt->path[i].h1 = HD_AUTO;
break;
}
}
@@ -235,7 +235,7 @@ void BKE_curveprofile_handle_set(CurveProfile *prwdgt, int type_1, int type_2)
* \note: Requires curveprofile_update call after. */
void BKE_curveprofile_reverse(CurveProfile *prwdgt)
{
- /* Quick fix for when there are only two points and reversing shouldn't do anything */
+ /* When there are only two points, reversing shouldn't do anything. */
if (prwdgt->totpoint == 2) {
return;
}
@@ -262,30 +262,30 @@ static void CurveProfile_build_supports(CurveProfile *prwdgt)
prwdgt->path[0].x = 1.0;
prwdgt->path[0].y = 0.0;
prwdgt->path[0].flag = 0;
- prwdgt->path[0].h1 = PROF_HANDLE_VECTOR;
- prwdgt->path[0].h2 = PROF_HANDLE_VECTOR;
+ prwdgt->path[0].h1 = HD_VECT;
+ prwdgt->path[0].h2 = HD_VECT;
prwdgt->path[1].x = 1.0;
prwdgt->path[1].y = 0.5;
prwdgt->path[1].flag = 0;
- prwdgt->path[1].h1 = PROF_HANDLE_VECTOR;
- prwdgt->path[1].h2 = PROF_HANDLE_VECTOR;
+ prwdgt->path[1].h1 = HD_VECT;
+ prwdgt->path[1].h2 = HD_VECT;
for (int i = 1; i < n - 2; i++) {
prwdgt->path[i + 1].x = 1.0f - (0.5f * (1.0f - cosf((float)((i / (float)(n - 3))) * M_PI_2)));
prwdgt->path[i + 1].y = 0.5f + 0.5f * sinf((float)((i / (float)(n - 3)) * M_PI_2));
prwdgt->path[i + 1].flag = 0;
- prwdgt->path[i + 1].h1 = PROF_HANDLE_AUTO;
- prwdgt->path[i + 1].h2 = PROF_HANDLE_AUTO;
+ prwdgt->path[i + 1].h1 = HD_AUTO;
+ prwdgt->path[i + 1].h2 = HD_AUTO;
}
prwdgt->path[n - 2].x = 0.5;
prwdgt->path[n - 2].y = 1.0;
prwdgt->path[n - 2].flag = 0;
- prwdgt->path[n - 2].h1 = PROF_HANDLE_VECTOR;
- prwdgt->path[n - 2].h2 = PROF_HANDLE_VECTOR;
+ prwdgt->path[n - 2].h1 = HD_VECT;
+ prwdgt->path[n - 2].h2 = HD_VECT;
prwdgt->path[n - 1].x = 0.0;
prwdgt->path[n - 1].y = 1.0;
prwdgt->path[n - 1].flag = 0;
- prwdgt->path[n - 1].h1 = PROF_HANDLE_VECTOR;
- prwdgt->path[n - 1].h2 = PROF_HANDLE_VECTOR;
+ prwdgt->path[n - 1].h1 = HD_VECT;
+ prwdgt->path[n - 1].h2 = HD_VECT;
}
/** Puts the widget's control points in a step pattern. Uses vector handles for each point. */
@@ -301,13 +301,13 @@ static void CurveProfile_build_steps(CurveProfile *prwdgt)
prwdgt->path[0].x = 1.0f;
prwdgt->path[0].y = 0.0f;
prwdgt->path[0].flag = 0;
- prwdgt->path[0].h1 = PROF_HANDLE_VECTOR;
- prwdgt->path[0].h2 = PROF_HANDLE_VECTOR;
+ prwdgt->path[0].h1 = HD_VECT;
+ prwdgt->path[0].h2 = HD_VECT;
prwdgt->path[1].x = 0.0f;
prwdgt->path[1].y = 1.0f;
prwdgt->path[1].flag = 0;
- prwdgt->path[1].h1 = PROF_HANDLE_VECTOR;
- prwdgt->path[1].h2 = PROF_HANDLE_VECTOR;
+ prwdgt->path[1].h1 = HD_VECT;
+ prwdgt->path[1].h2 = HD_VECT;
return;
}
@@ -320,12 +320,12 @@ static void CurveProfile_build_steps(CurveProfile *prwdgt)
prwdgt->path[i].x = 1.0f - ((float)(2 * step_x) / n_steps_x);
prwdgt->path[i].y = (float)(2 * step_y) / n_steps_y;
prwdgt->path[i].flag = 0;
- prwdgt->path[i].h1 = PROF_HANDLE_VECTOR;
- prwdgt->path[i].h2 = PROF_HANDLE_VECTOR;
+ prwdgt->path[i].h1 = HD_VECT;
+ prwdgt->path[i].h2 = HD_VECT;
}
}
-/** Shorthand helper function for setting location and interpolation of a point */
+/** Shorthand helper function for setting location and interpolation of a point. */
static void point_init(CurveProfilePoint *point, float x, float y, short flag, char h1, char h2)
{
point->x = x;
@@ -380,39 +380,39 @@ void BKE_curveprofile_reset(CurveProfile *prwdgt)
switch (preset) {
case PROF_PRESET_LINE:
- point_init(&prwdgt->path[0], 1.0f, 0.0f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[1], 0.0f, 1.0f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
+ point_init(&prwdgt->path[0], 1.0f, 0.0f, 0, HD_AUTO, HD_AUTO);
+ point_init(&prwdgt->path[1], 0.0f, 1.0f, 0, HD_AUTO, HD_AUTO);
break;
case PROF_PRESET_SUPPORTS:
CurveProfile_build_supports(prwdgt);
break;
case PROF_PRESET_CORNICE:
- point_init(&prwdgt->path[0], 1.0f, 0.0f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[1], 1.0f, 0.125f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[2], 0.92f, 0.16f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[3], 0.875f, 0.25f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[4], 0.8f, 0.25f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[5], 0.733f, 0.433f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[6], 0.582f, 0.522f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[7], 0.4f, 0.6f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[8], 0.289f, 0.727f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[9], 0.25f, 0.925f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[10], 0.175f, 0.925f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[11], 0.175f, 1.0f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[12], 0.0f, 1.0f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
+ point_init(&prwdgt->path[0], 1.0f, 0.0f, 0, HD_VECT, HD_VECT);
+ point_init(&prwdgt->path[1], 1.0f, 0.125f, 0, HD_VECT, HD_VECT);
+ point_init(&prwdgt->path[2], 0.92f, 0.16f, 0, HD_AUTO, HD_AUTO);
+ point_init(&prwdgt->path[3], 0.875f, 0.25f, 0, HD_VECT, HD_VECT);
+ point_init(&prwdgt->path[4], 0.8f, 0.25f, 0, HD_VECT, HD_VECT);
+ point_init(&prwdgt->path[5], 0.733f, 0.433f, 0, HD_AUTO, HD_AUTO);
+ point_init(&prwdgt->path[6], 0.582f, 0.522f, 0, HD_AUTO, HD_AUTO);
+ point_init(&prwdgt->path[7], 0.4f, 0.6f, 0, HD_AUTO, HD_AUTO);
+ point_init(&prwdgt->path[8], 0.289f, 0.727f, 0, HD_AUTO, HD_AUTO);
+ point_init(&prwdgt->path[9], 0.25f, 0.925f, 0, HD_VECT, HD_VECT);
+ point_init(&prwdgt->path[10], 0.175f, 0.925f, 0, HD_VECT, HD_VECT);
+ point_init(&prwdgt->path[11], 0.175f, 1.0f, 0, HD_VECT, HD_VECT);
+ point_init(&prwdgt->path[12], 0.0f, 1.0f, 0, HD_VECT, HD_VECT);
break;
case PROF_PRESET_CROWN:
- point_init(&prwdgt->path[0], 1.0f, 0.0f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[1], 1.0f, 0.25f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[2], 0.75f, 0.25f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[3], 0.75f, 0.325f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[4], 0.925, 0.4f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[5], 0.975f, 0.5f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[6], 0.94f, 0.65f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[7], 0.85f, 0.75f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[8], 0.75f, 0.875f, 0, PROF_HANDLE_AUTO, PROF_HANDLE_AUTO);
- point_init(&prwdgt->path[9], 0.7f, 1.0f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
- point_init(&prwdgt->path[10], 0.0f, 1.0f, 0, PROF_HANDLE_VECTOR, PROF_HANDLE_VECTOR);
+ point_ini
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list