Fix curve adding 3D nurbs when 2D is set
Ctrl-LMB ignored 2D constraint
This commit is contained in:
parent
e63a8e7ded
commit
a5cfe0f9dc
|
@ -4767,7 +4767,7 @@ static bool ed_editcurve_extrude(Curve *cu, EditNurb *editnurb)
|
|||
|
||||
/***************** add vertex operator **********************/
|
||||
|
||||
static int ed_editcurve_addvert(Curve *cu, EditNurb *editnurb, const float location[3])
|
||||
static int ed_editcurve_addvert(Curve *cu, EditNurb *editnurb, const float location_init[3])
|
||||
{
|
||||
Nurb *nu;
|
||||
|
||||
|
@ -4808,7 +4808,7 @@ static int ed_editcurve_addvert(Curve *cu, EditNurb *editnurb, const float locat
|
|||
int i;
|
||||
|
||||
mid_v3_v3v3(center, minmax[0], minmax[1]);
|
||||
sub_v3_v3v3(ofs, location, center);
|
||||
sub_v3_v3v3(ofs, location_init, center);
|
||||
|
||||
if ((cu->flag & CU_3D) == 0) {
|
||||
ofs[2] = 0.0f;
|
||||
|
@ -4846,6 +4846,14 @@ static int ed_editcurve_addvert(Curve *cu, EditNurb *editnurb, const float locat
|
|||
changed = true;
|
||||
}
|
||||
else {
|
||||
float location[3];
|
||||
|
||||
copy_v3_v3(location, location_init);
|
||||
|
||||
if ((cu->flag & CU_3D) == 0) {
|
||||
location[2] = 0.0f;
|
||||
}
|
||||
|
||||
/* nothing selected: create a new curve */
|
||||
nu = BKE_curve_nurb_active_get(cu);
|
||||
|
||||
|
@ -4863,6 +4871,10 @@ static int ed_editcurve_addvert(Curve *cu, EditNurb *editnurb, const float locat
|
|||
nurb_new->orderu = 4;
|
||||
nurb_new->flag |= CU_SMOOTH;
|
||||
BKE_nurb_bezierPoints_add(nurb_new, 1);
|
||||
|
||||
if ((cu->flag & CU_3D) == 0) {
|
||||
nurb_new->flag |= CU_2D;
|
||||
}
|
||||
}
|
||||
BLI_addtail(&editnurb->nurbs, nurb_new);
|
||||
|
||||
|
@ -4894,6 +4906,10 @@ static int ed_editcurve_addvert(Curve *cu, EditNurb *editnurb, const float locat
|
|||
nurb_new->flag |= CU_SMOOTH;
|
||||
nurb_new->orderu = 4;
|
||||
BKE_nurb_points_add(nurb_new, 1);
|
||||
|
||||
if ((cu->flag & CU_3D) == 0) {
|
||||
nurb_new->flag |= CU_2D;
|
||||
}
|
||||
}
|
||||
BLI_addtail(&editnurb->nurbs, nurb_new);
|
||||
|
||||
|
|
Loading…
Reference in New Issue