[Bf-blender-cvs] [5aeedbceec6] soc-2021-curves: Changed to use nu->type
dilithjay
noreply at git.blender.org
Sat Dec 4 17:40:39 CET 2021
Commit: 5aeedbceec6d31006b3f03a0719f1d670b790e05
Author: dilithjay
Date: Sun Nov 7 09:04:37 2021 +0530
Branches: soc-2021-curves
https://developer.blender.org/rB5aeedbceec6d31006b3f03a0719f1d670b790e05
Changed to use nu->type
===================================================================
M source/blender/editors/curve/editcurve_pen.c
===================================================================
diff --git a/source/blender/editors/curve/editcurve_pen.c b/source/blender/editors/curve/editcurve_pen.c
index 56888c3f040..86a03c88540 100644
--- a/source/blender/editors/curve/editcurve_pen.c
+++ b/source/blender/editors/curve/editcurve_pen.c
@@ -310,7 +310,7 @@ static void get_closest_vertex_to_point_in_nurbs(ListBase *nurbs,
}
}
}
- else if (nu->type == CU_NURBS || nu->type == CU_POLY) {
+ else {
for (int i = 0; i < nu->pntsu; i++) {
BPoint *bp = &nu->bp[i];
float bp_vec[2];
@@ -487,7 +487,7 @@ static void update_data_for_all_nurbs(const ListBase *nurbs, const ViewContext *
CutData *data = op_data;
LISTBASE_FOREACH (Nurb *, nu, nurbs) {
- if (nu->bezt) {
+ if (nu->type == CU_BEZIER) {
float screen_co[2];
if (data->nurb == NULL) {
ED_view3d_project_float_object(vc->region,
@@ -507,7 +507,7 @@ static void update_data_for_all_nurbs(const ListBase *nurbs, const ViewContext *
update_data_if_closest_bezt_in_segment(bezt + 1, nu->bezt, nu, nu->pntsu - 1, vc, data);
}
}
- else if (nu->bp) {
+ else {
float screen_co[2];
if (data->nurb == NULL) {
ED_view3d_project_float_object(
@@ -653,14 +653,14 @@ static void make_cut(const wmEvent *event, Curve *cu, Nurb **r_nu, const ViewCon
const float threshold_distance = ED_view3d_select_dist_px();
Nurb *nu = data.nurb;
if (nu) {
- if (nu->bezt) {
+ if (nu->type == CU_BEZIER) {
update_cut_loc_in_data(&data, vc);
if (data.min_dist < threshold_distance) {
add_bezt_to_nurb(nu, &data, cu);
*r_nu = nu;
}
}
- else if (nu->bp && data.min_dist < threshold_distance) {
+ else if (data.min_dist < threshold_distance) {
add_bp_to_nurb(nu, &data, cu);
}
}
@@ -800,10 +800,12 @@ static bool make_cyclic_if_endpoints(
Nurb *sel_nu, BezTriple *sel_bezt, BPoint *sel_bp, ViewContext *vc, bContext *C)
{
if (sel_bezt || sel_bp) {
- const bool is_bezt_endpoint = (sel_nu->bezt && (sel_bezt == sel_nu->bezt ||
- sel_bezt == sel_nu->bezt + sel_nu->pntsu - 1));
- const bool is_bp_endpoint = (sel_nu->bp && (sel_bp == sel_nu->bp ||
- sel_bp == sel_nu->bp + sel_nu->pntsu - 1));
+ const bool is_bezt_endpoint = (sel_nu->type == CU_BEZIER &&
+ (sel_bezt == sel_nu->bezt ||
+ sel_bezt == sel_nu->bezt + sel_nu->pntsu - 1));
+ const bool is_bp_endpoint = (sel_nu->type != CU_BEZIER &&
+ (sel_bp == sel_nu->bp ||
+ sel_bp == sel_nu->bp + sel_nu->pntsu - 1));
if (!(is_bezt_endpoint || is_bp_endpoint)) {
return false;
}
@@ -815,10 +817,10 @@ static bool make_cyclic_if_endpoints(
Base *basact = NULL;
ED_curve_pick_vert(vc, 1, &nu, &bezt, &bp, &hand, &basact);
- if (nu == sel_nu &&
- ((nu->bezt && bezt != sel_bezt &&
- (bezt == nu->bezt || bezt == nu->bezt + nu->pntsu - 1)) ||
- (nu->bp && bp != sel_bp && (bp == nu->bp || bp == nu->bp + nu->pntsu - 1)))) {
+ if (nu == sel_nu && ((nu->type == CU_BEZIER && bezt != sel_bezt &&
+ (bezt == nu->bezt || bezt == nu->bezt + nu->pntsu - 1)) ||
+ (nu->type != CU_BEZIER && bp != sel_bp &&
+ (bp == nu->bp || bp == nu->bp + nu->pntsu - 1)))) {
View3D *v3d = CTX_wm_view3d(C);
ListBase *editnurb = object_editcurve_get(vc->obedit);
ed_curve_toggle_cyclic(v3d, editnurb, 0);
@@ -1007,22 +1009,24 @@ static int curve_pen_delete_modal(bContext *C, wmOperator *op, const wmEvent *ev
if (found_point) {
ED_curve_deselect_all(cu->editnurb);
- if (nu && nu->type == CU_BEZIER) {
- BezTriple *next_bezt = BKE_nurb_bezt_get_next(nu, bezt);
- BezTriple *prev_bezt = BKE_nurb_bezt_get_prev(nu, bezt);
- if (next_bezt && prev_bezt) {
- const int bez_index = BKE_curve_nurb_vert_index_get(nu, bezt);
- uint span_step[2] = {bez_index, bez_index};
- ed_dissolve_bez_segment(prev_bezt, next_bezt, nu, cu, 1, span_step);
+ if (nu) {
+ if (nu->type == CU_BEZIER) {
+ BezTriple *next_bezt = BKE_nurb_bezt_get_next(nu, bezt);
+ BezTriple *prev_bezt = BKE_nurb_bezt_get_prev(nu, bezt);
+ if (next_bezt && prev_bezt) {
+ const int bez_index = BKE_curve_nurb_vert_index_get(nu, bezt);
+ uint span_step[2] = {bez_index, bez_index};
+ ed_dissolve_bez_segment(prev_bezt, next_bezt, nu, cu, 1, span_step);
+ }
+ delete_bezt_from_nurb(bezt, nu);
+ }
+ else {
+ delete_bp_from_nurb(bp, nu);
}
- delete_bezt_from_nurb(bezt, nu);
- }
- else if (nu->type == CU_NURBS || nu->type == CU_POLY) {
- delete_bp_from_nurb(bp, nu);
- }
- if (nu->pntsu == 0) {
- delete_nurb(cu, nu);
+ if (nu->pntsu == 0) {
+ delete_nurb(cu, nu);
+ }
}
}
More information about the Bf-blender-cvs
mailing list