mirror of https://github.com/CGAL/cgal
Merge pull request #7034 from sloriot/PMP-coref_open_mesh_case_fix
Fix inconsistency check
This commit is contained in:
commit
868793754b
|
|
@ -1068,15 +1068,15 @@ public:
|
|||
if (!used_to_clip_a_surface && !used_to_classify_patches && (!is_tm1_closed || !is_tm2_closed))
|
||||
{
|
||||
//make sure there is no ambiguity in tm1
|
||||
if( (patch_status_was_not_already_set[0] && previous_bitvalue[0]!=is_patch_inside_tm2[patch_id_p1] ) ||
|
||||
(patch_status_was_not_already_set[1] && previous_bitvalue[1]!=is_patch_inside_tm2[patch_id_p2] ) )
|
||||
if( (!patch_status_was_not_already_set[0] && previous_bitvalue[0]!=is_patch_inside_tm2.test(patch_id_p1) ) ||
|
||||
(!patch_status_was_not_already_set[1] && previous_bitvalue[1]!=is_patch_inside_tm2.test(patch_id_p2) ) )
|
||||
{
|
||||
impossible_operation.set();
|
||||
return true;
|
||||
}
|
||||
//make sure there is no ambiguity in tm2
|
||||
if( (patch_status_was_not_already_set[2] && previous_bitvalue[2]!=is_patch_inside_tm2[patch_id_q1] ) ||
|
||||
(patch_status_was_not_already_set[3] && previous_bitvalue[3]!=is_patch_inside_tm2[patch_id_q2] ) )
|
||||
if( (!patch_status_was_not_already_set[2] && previous_bitvalue[2]!=is_patch_inside_tm1.test(patch_id_q1) ) ||
|
||||
(!patch_status_was_not_already_set[3] && previous_bitvalue[3]!=is_patch_inside_tm1.test(patch_id_q2) ) )
|
||||
{
|
||||
impossible_operation.set();
|
||||
return true;
|
||||
|
|
@ -1091,6 +1091,15 @@ public:
|
|||
patch_status_not_set_tm2.reset(patch_id_q1);
|
||||
patch_status_not_set_tm2.reset(patch_id_q2);
|
||||
|
||||
// restore initial state, needed when checking in `inconsistent_classification()`
|
||||
if (!is_tm1_closed || !is_tm2_closed)
|
||||
{
|
||||
is_patch_inside_tm2.reset(patch_id_p1);
|
||||
is_patch_inside_tm2.reset(patch_id_p2);
|
||||
is_patch_inside_tm1.reset(patch_id_q1);
|
||||
is_patch_inside_tm1.reset(patch_id_q2);
|
||||
}
|
||||
|
||||
#ifdef CGAL_COREFINEMENT_POLYHEDRA_DEBUG
|
||||
#warning: Factorize the orientation predicates.
|
||||
#endif //CGAL_COREFINEMENT_POLYHEDRA_DEBUG
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
OFF
|
||||
8 4 0
|
||||
|
||||
0 0 1
|
||||
1 0 1
|
||||
1 1 1
|
||||
0 1 1
|
||||
0 0 0
|
||||
1 0 0
|
||||
1 1 0
|
||||
0 1 0
|
||||
3 0 1 2
|
||||
3 2 3 0
|
||||
3 6 5 4
|
||||
3 4 7 6
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
OFF
|
||||
8 12 0
|
||||
|
||||
0.75 0.75 -1
|
||||
0.25 0.75 -1
|
||||
0.25 0.25 -1
|
||||
0.75 0.25 -1
|
||||
0.75 0.25 1
|
||||
0.75 0.75 1
|
||||
0.25 0.75 1
|
||||
0.25 0.25 1
|
||||
3 4 5 6
|
||||
3 0 3 2
|
||||
3 1 2 7
|
||||
3 0 1 6
|
||||
3 3 0 5
|
||||
3 2 3 4
|
||||
3 6 7 4
|
||||
3 2 1 0
|
||||
3 7 6 1
|
||||
3 6 5 0
|
||||
3 5 4 3
|
||||
3 4 7 2
|
||||
|
||||
|
|
@ -1,2 +1,3 @@
|
|||
${CGAL_DATA_DIR}/meshes/elephant.off ${CGAL_DATA_DIR}/meshes/sphere.off ALL 1 1 1 1
|
||||
${CGAL_DATA_DIR}/meshes/open_cube.off data-coref/incompatible_with_open_cube.off ALL 0 0 0 0
|
||||
data-coref/floating_squares.off data-coref/hexa.off ALL 1 1 1 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue