fix for knife when clipping was enabled, The knife would not snap to edges/verts outside the clip area but the geometry would still get cut

This commit is contained in:
Campbell Barton
2012-12-10 08:15:14 +00:00
parent 26d6872ef8
commit 1b19b790dd

View File

@@ -1181,7 +1181,6 @@ static BMEdgeHit *knife_edge_tri_isect(KnifeTool_OpData *kcd, BMBVHTree *bmtree,
result = results = BLI_bvhtree_overlap(tree, tree2, &tot);
for (i = 0; i < tot; i++, result++) {
float p[3];
BMLoop *l1;
BMFace *hitf;
ListBase *lst;
@@ -1200,7 +1199,7 @@ static BMEdgeHit *knife_edge_tri_isect(KnifeTool_OpData *kcd, BMBVHTree *bmtree,
}
if (isect_line_tri_v3(kfe->v1->cageco, kfe->v2->cageco, v1, v2, v3, &lambda, NULL)) {
float no[3], view[3], sp[3];
float p[3], no[3], view[3], sp[3];
interp_v3_v3v3(p, kfe->v1->cageco, kfe->v2->cageco, lambda);
@@ -1215,6 +1214,11 @@ static BMEdgeHit *knife_edge_tri_isect(KnifeTool_OpData *kcd, BMBVHTree *bmtree,
{
continue;
}
if ((kcd->vc.rv3d->rflag & RV3D_CLIPPING) &&
ED_view3d_clipping_test(kcd->vc.rv3d, p, TRUE))
{
continue;
}
knife_project_v3(kcd, p, sp);
ED_view3d_unproject(mats, view, sp[0], sp[1], 0.0f);