Fix #139466: Grease Pencil: Face Project / Face Nearest snapping broken
Reported for Grease Pencil, but also true for Curves. This was simply missing the call to `transform_snap_project_individual_apply`. Even though we cannot snap **onto** Grease Pencil / Curves faces, we can snap Grease Pencil / Curves onto other suitable face geometry. So to resolve, just add the calls to `transform_snap_project_individual_apply` in both `recalcData_grease_pencil` and `recalcData_curves` Pull Request: https://projects.blender.org/blender/blender/pulls/139489
This commit is contained in:
committed by
Philipp Oeser
parent
bdf1c2c583
commit
795f589989
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "transform.hh"
|
||||
#include "transform_convert.hh"
|
||||
#include "transform_snap.hh"
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \name Curve/Surfaces Transform Creation
|
||||
@@ -351,6 +352,10 @@ static void calculate_aligned_handles(const TransCustomData &custom_data,
|
||||
|
||||
static void recalcData_curves(TransInfo *t)
|
||||
{
|
||||
if (t->state != TRANS_CANCEL) {
|
||||
transform_snap_project_individual_apply(t);
|
||||
}
|
||||
|
||||
const Span<TransDataContainer> trans_data_contrainers(t->data_container, t->data_container_len);
|
||||
for (const TransDataContainer &tc : trans_data_contrainers) {
|
||||
Curves *curves_id = static_cast<Curves *>(tc.obedit->data);
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#include "transform.hh"
|
||||
#include "transform_convert.hh"
|
||||
#include "transform_snap.hh"
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \name Grease Pencil Transform Creation
|
||||
@@ -232,6 +233,10 @@ static void createTransGreasePencilVerts(bContext *C, TransInfo *t)
|
||||
|
||||
static void recalcData_grease_pencil(TransInfo *t)
|
||||
{
|
||||
if (t->state != TRANS_CANCEL) {
|
||||
transform_snap_project_individual_apply(t);
|
||||
}
|
||||
|
||||
bContext *C = t->context;
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user