diff options
author | Jonathan deWerd <jjoonathan@gmail.com> | 2014-07-03 08:05:03 +0400 |
---|---|---|
committer | Jonathan deWerd <jjoonathan@gmail.com> | 2014-07-03 08:05:03 +0400 |
commit | 91966c427e71d9968493d7bde7067d7c4cc1a7ca (patch) | |
tree | 8def97a70e288601d1f79db33c977c787e3da708 | |
parent | 66056dc8c0f5ad040ea03061704257cc3648e58e (diff) |
Boolean subtraction implemented and tested.
-rw-r--r-- | source/blender/editors/curve/GridMesh.cpp | 1 | ||||
-rw-r--r-- | source/blender/editors/curve/GridMesh_GLUT_debug_tool.cpp | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/editors/curve/GridMesh.cpp b/source/blender/editors/curve/GridMesh.cpp index a7006f215a9..3a81cfa4489 100644 --- a/source/blender/editors/curve/GridMesh.cpp +++ b/source/blender/editors/curve/GridMesh.cpp @@ -621,7 +621,6 @@ known_corner_t GridMesh::label_interior_cell(int cell, int poly2, bool bool_SUB, if (k && kin&KNOWN_CORNER(k-1)) { found_known_corner = true; interior = !(kin&KNOWN_CORNER_EXTERIOR(k-1)); - if (bool_SUB) interior = !interior; printf(" %i k_propagate->%i.interior:%i sub:%i\n",poly, kc_vert, int(interior),int(bool_SUB)); break; } diff --git a/source/blender/editors/curve/GridMesh_GLUT_debug_tool.cpp b/source/blender/editors/curve/GridMesh_GLUT_debug_tool.cpp index f5f00bb37e1..c528d0bfdcc 100644 --- a/source/blender/editors/curve/GridMesh_GLUT_debug_tool.cpp +++ b/source/blender/editors/curve/GridMesh_GLUT_debug_tool.cpp @@ -349,12 +349,17 @@ void GLUT_keyboard(unsigned char ch, int x, int y ) { clip = 0; glutPostRedisplay(); } + if (subj && ch=='k') { + gm->bool_SUB(subj); + subj = gm->v[subj].next_poly; // Subject was destroyed in trimming process + glutPostRedisplay(); + } if (subj && ch=='i') { gm->insert_vert_poly_gridmesh(subj); glutPostRedisplay(); } if (subj && ch=='l') { - gm->label_interior_AND(subj); + gm->label_interior_SUB(subj); gm->label_interior_freepoly(subj); glutPostRedisplay(); } |