examples and tests updating for LCC after deprecation of global functions.

This commit is contained in:
Guillaume Damiand 2016-03-09 18:48:29 +01:00
parent 4a5ee86271
commit fb4bc44829
5 changed files with 135 additions and 128 deletions

View File

@ -49,7 +49,7 @@ void display_voronoi(LCC_3& alcc, Dart_handle adart)
while( !toremove.empty() )
{
CGAL::remove_cell<LCC_3, 3>(alcc, toremove.top());
alcc.remove_cell<3>(toremove.top());
toremove.pop();
}

View File

@ -122,6 +122,12 @@ namespace CGAL {
using Base::free_mark;
using Base::get_new_mark;
using Base::insert_cell_0_in_cell_1;
using Base::insert_cell_0_in_cell_2;
using Base::insert_dangling_cell_1_in_cell_2;
using Base::insert_cell_1_in_cell_2;
using Base::insert_cell_2_in_cell_3;
Linear_cell_complex_base() : Base()
{}
@ -502,7 +508,7 @@ namespace CGAL {
Dart_handle make_segment(Vertex_attribute_handle h0,
Vertex_attribute_handle h1)
{
Dart_handle d1 = make_edge(*this);
Dart_handle d1 = this->make_edge();
set_vertex_attribute_of_dart(d1,h0);
set_vertex_attribute_of_dart(beta(d1, 2),h1);
@ -769,7 +775,8 @@ namespace CGAL {
* @return a dart handle to the new vertex containing p.
*/
template <unsigned int i>
Dart_handle insert_point_in_cell(Dart_handle dh, const Point& p, bool update_attributes = true)
Dart_handle insert_point_in_cell(Dart_handle dh, const Point& p,
bool update_attributes = true)
{
CGAL_static_assertion(1<=i && i<=2);
if (i==1) return insert_point_in_cell_1(dh, p, update_attributes);

View File

@ -177,7 +177,7 @@ bool test_LCC_2()
// Removal operations
trace_test_begin();
CGAL::remove_cell<LCC,1>(lcc, dh11);
lcc.template remove_cell<1>(dh11);
if ( !check_number_of_cells_2(lcc, 12, 16, 10, 2) )
return false;
@ -191,13 +191,13 @@ bool test_LCC_2()
for ( typename std::vector<Dart_handle>::iterator
it=toremove.begin(), itend=toremove.end(); it!=itend; ++it )
CGAL::remove_cell<LCC,1>(lcc, *it);
lcc.template remove_cell<1>(*it);
toremove.clear();
if ( !check_number_of_cells_2(lcc, 11, 13, 8, 2) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh9);
lcc.template remove_cell<0>(dh9);
if ( !check_number_of_cells_2(lcc, 10, 12, 8, 2) )
return false;
@ -210,13 +210,13 @@ bool test_LCC_2()
for ( typename std::vector<Dart_handle>::iterator
it=toremove.begin(), itend=toremove.end(); it!=itend; ++it )
CGAL::remove_cell<LCC,1>(lcc, *it);
lcc.template remove_cell<1>(*it);
toremove.clear();
if ( !check_number_of_cells_2(lcc, 9, 9, 6, 2) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh7);
lcc.template remove_cell<0>(dh7);
if ( !check_number_of_cells_2(lcc, 8, 8, 6, 2) )
return false;
@ -226,8 +226,8 @@ bool test_LCC_2()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,2>(lcc, dh6);
CGAL::remove_cell<LCC,2>(lcc, dh5);
lcc.template remove_cell<2>(dh6);
lcc.template remove_cell<2>(dh5);
if ( !check_number_of_cells_2(lcc, 4, 3, 4, 1) )
return false;
@ -242,9 +242,9 @@ bool test_LCC_2()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,1>(lcc, dh1);
CGAL::remove_cell<LCC,1>(lcc, dh2);
CGAL::remove_cell<LCC,1>(lcc, dh3);
lcc.template remove_cell<1>(dh1);
lcc.template remove_cell<1>(dh2);
lcc.template remove_cell<1>(dh3);
if ( !check_number_of_cells_2(lcc, 0, 0, 0, 0) )
return false;

View File

@ -172,14 +172,14 @@ bool test_LCC_3()
// Removal operations
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh15);
lcc.template remove_cell<0>(dh15);
if ( !check_number_of_cells_3(lcc, 19, 29, 19, 4, 3) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,1>(lcc, lcc.beta(dh14, 2, 1));
CGAL::remove_cell<LCC,1>(lcc, lcc.beta(dh14, 0));
CGAL::remove_cell<LCC,1>(lcc, dh14);
lcc.template remove_cell<1>(lcc.beta(dh14, 2, 1));
lcc.template remove_cell<1>(lcc.beta(dh14, 0));
lcc.template remove_cell<1>(dh14);
if ( !check_number_of_cells_3(lcc, 18, 26, 17, 4, 3) )
return false;
@ -189,13 +189,13 @@ bool test_LCC_3()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,3>(lcc, dh13);
CGAL::remove_cell<LCC,3>(lcc, dh12);
lcc.template remove_cell<3>(dh13);
lcc.template remove_cell<3>(dh12);
if ( !check_number_of_cells_3(lcc, 13, 17, 10, 2, 2) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,1>(lcc, dh11);
lcc.template remove_cell<1>(dh11);
if ( !check_number_of_cells_3(lcc, 12, 16, 10, 2, 2) )
return false;
@ -209,13 +209,13 @@ bool test_LCC_3()
for ( typename std::vector<Dart_handle>::iterator
it=toremove.begin(), itend=toremove.end(); it!=itend; ++it )
CGAL::remove_cell<LCC,1>(lcc, *it);
lcc.template remove_cell<1>(*it);
toremove.clear();
if ( !check_number_of_cells_3(lcc, 11, 13, 8, 2, 2) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh9);
lcc.template remove_cell<0>(dh9);
if ( !check_number_of_cells_3(lcc, 10, 12, 8, 2, 2) )
return false;
@ -228,13 +228,13 @@ bool test_LCC_3()
for ( typename std::vector<Dart_handle>::iterator
it=toremove.begin(), itend=toremove.end(); it!=itend; ++it )
CGAL::remove_cell<LCC,1>(lcc, *it);
lcc.template remove_cell<1>(*it);
toremove.clear();
if ( !check_number_of_cells_3(lcc, 9, 9, 6, 2, 2) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh7);
lcc.template remove_cell<0>(dh7);
if ( !check_number_of_cells_3(lcc, 8, 8, 6, 2, 2) )
return false;
@ -244,8 +244,8 @@ bool test_LCC_3()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,2>(lcc, dh6);
CGAL::remove_cell<LCC,2>(lcc, dh5);
lcc.template remove_cell<2>(dh6);
lcc.template remove_cell<2>(dh5);
if ( !check_number_of_cells_3(lcc, 4, 3, 4, 1, 1) )
return false;
@ -260,35 +260,35 @@ bool test_LCC_3()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,1>(lcc, dh1);
CGAL::remove_cell<LCC,1>(lcc, dh2);
CGAL::remove_cell<LCC,1>(lcc, dh3);
lcc.template remove_cell<1>(dh1);
lcc.template remove_cell<1>(dh2);
lcc.template remove_cell<1>(dh3);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
// Edge contraction
trace_test_begin();
dh1 = lcc.create_dart(Point(0,0,0));
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
trace_test_begin();
dh1 = make_loop(lcc, Point(0,0,0));
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
trace_test_begin();
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
trace_test_begin();
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
lcc.template sew<1>(dh1, dh1);
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -296,26 +296,26 @@ bool test_LCC_3()
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
lcc.template sew<1>(dh1, dh1);
lcc.template sew<1>(lcc.beta(dh1, 2), lcc.beta(dh1, 2));
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
trace_test_begin();
dh1 = lcc.make_triangle(Point(5,5,3),Point(7,5,3),Point(6,6,3));
dh2 = lcc.beta(dh1,0); dh3 = lcc.beta(dh1,1);
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 2, 2, 1, 1, 1) ||
!CGAL::is_face_combinatorial_polygon(lcc, dh2, 2) )
!lcc.is_face_combinatorial_polygon(dh2, 2) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh2);
lcc.template contract_cell<1>(dh2);
if ( !check_number_of_cells_3(lcc, 1, 1, 1, 1, 1) ||
!CGAL::is_face_combinatorial_polygon(lcc, dh3, 1) )
!lcc.is_face_combinatorial_polygon(dh3, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh3);
lcc.template contract_cell<1>(dh3);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -324,19 +324,19 @@ bool test_LCC_3()
dh2 = lcc.make_triangle(Point(5,4,3),Point(7,4,3),Point(6,3,3));
lcc.template sew<3>(dh1, dh2); dh2 = lcc.beta(dh1, 0); dh3 = lcc.beta(dh1, 1);
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 2, 2, 1, 2, 1) ||
!CGAL::is_face_combinatorial_polygon(lcc, dh2, 2) )
!lcc.is_face_combinatorial_polygon(dh2, 2) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh2);
lcc.template contract_cell<1>(dh2);
if ( !check_number_of_cells_3(lcc, 1, 1, 1, 2, 1) ||
!CGAL::is_face_combinatorial_polygon(lcc, dh3, 1) )
!lcc.is_face_combinatorial_polygon(dh3, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh3);
lcc.template contract_cell<1>(dh3);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -348,27 +348,27 @@ bool test_LCC_3()
dh2 = lcc.beta(dh2, 1);
dh3 = lcc.beta(dh1, 1);
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 4, 4, 2, 2, 2) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2, 1));
lcc.template contract_cell<1>(lcc.beta(dh2, 1));
if ( !check_number_of_cells_3(lcc, 3, 3, 2, 2, 2) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh2);
lcc.template contract_cell<1>(dh2);
if ( !check_number_of_cells_3(lcc, 2, 2, 1, 1, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh3, 1));
lcc.template contract_cell<1>(lcc.beta(dh3, 1));
if ( !check_number_of_cells_3(lcc, 1, 1, 1, 1, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh3);
lcc.template contract_cell<1>(dh3);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -380,27 +380,27 @@ bool test_LCC_3()
dh2 = lcc.beta(dh2, 1);
dh3 = lcc.beta(dh1, 1);
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2, 1));
lcc.template contract_cell<1>(lcc.beta(dh2, 1));
if ( !check_number_of_cells_3(lcc, 3, 4, 2, 1, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh3, 1));
lcc.template contract_cell<1>(lcc.beta(dh3, 1));
if ( !check_number_of_cells_3(lcc, 2, 3, 2, 1, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh2);
lcc.template contract_cell<1>(dh2);
if ( !check_number_of_cells_3(lcc, 1, 2, 2, 1, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh3);
lcc.template contract_cell<1>(dh3);
if ( !check_number_of_cells_3(lcc, 1, 1, 2, 1, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -420,27 +420,27 @@ bool test_LCC_3()
dh2 = lcc.beta(dh2,1);
dh3 = lcc.beta(dh1,1);
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 4, 4, 2, 4, 2) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,1));
lcc.template contract_cell<1>(lcc.beta(dh2,1));
if ( !check_number_of_cells_3(lcc, 3, 3, 2, 4, 2) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh2);
lcc.template contract_cell<1>(dh2);
if ( !check_number_of_cells_3(lcc, 2, 2, 1, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh3,1));
lcc.template contract_cell<1>(lcc.beta(dh3,1));
if ( !check_number_of_cells_3(lcc, 1, 1, 1, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh3);
lcc.template contract_cell<1>(dh3);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -458,27 +458,27 @@ bool test_LCC_3()
dh2 = lcc.beta(dh2,1);
dh3 = lcc.beta(dh1,1);
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,1));
lcc.template contract_cell<1>(lcc.beta(dh2,1));
if ( !check_number_of_cells_3(lcc, 3, 4, 2, 3, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh3,1));
lcc.template contract_cell<1>(lcc.beta(dh3,1));
if ( !check_number_of_cells_3(lcc, 2, 3, 2, 3, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh2);
lcc.template contract_cell<1>(dh2);
if ( !check_number_of_cells_3(lcc, 1, 2, 2, 3, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh3);
lcc.template contract_cell<1>(dh3);
if ( !check_number_of_cells_3(lcc, 1, 1, 2, 3, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -492,22 +492,22 @@ bool test_LCC_3()
dh2 = lcc.beta(dh2, 2,1,1,2);
lcc.template sew<3>(dh1,dh2);
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh1,0));
lcc.template contract_cell<1>(lcc.beta(dh1,0));
if ( !check_number_of_cells_3(lcc, 11, 19, 11, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh1,1,1));
lcc.template contract_cell<1>(lcc.beta(dh1,1,1));
if ( !check_number_of_cells_3(lcc, 10, 18, 11, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh1,1));
lcc.template contract_cell<1>(lcc.beta(dh1,1));
if ( !check_number_of_cells_3(lcc, 9, 17, 11, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,1>(lcc,dh1);
lcc.template contract_cell<1>(dh1);
if ( !check_number_of_cells_3(lcc, 10, 16, 10, 2, 2 ) )
return false;
lcc.clear();
@ -515,19 +515,19 @@ bool test_LCC_3()
// Face contraction
trace_test_begin();
dh1 = lcc.create_dart(Point(0,0,0));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
trace_test_begin();
dh1 = make_loop<LCC>(lcc, Point(0,0,0));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
trace_test_begin();
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 1, 1, 1, 1, 1) )
return false;
lcc.clear();
@ -535,7 +535,7 @@ bool test_LCC_3()
trace_test_begin();
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
lcc.template sew<1>(dh1, dh1);
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 1, 1, 1, 1, 1) )
return false;
lcc.clear();
@ -544,7 +544,7 @@ bool test_LCC_3()
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
lcc.template sew<1>(dh1, dh1);
lcc.template sew<1>(lcc.beta(dh1,2), lcc.beta(dh1,2));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 1, 1, 1, 1, 1) )
return false;
lcc.clear();
@ -553,12 +553,12 @@ bool test_LCC_3()
dh1 = make_face_two_edges(lcc, Point(0,0,0), Point(1,0,0));
dh2 = make_face_two_edges(lcc, Point(0,0,1), Point(1,0,1));
lcc.template sew<2>(dh1, dh2);
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 2, 2, 1, 1, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,dh2);
lcc.template contract_cell<2>(dh2);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -569,12 +569,12 @@ bool test_LCC_3()
lcc.template sew<2>(dh1, dh2);
lcc.template sew<2>(lcc.beta(dh2,1), dh3);
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,0));
lcc.template contract_cell<1>(lcc.beta(dh2,0));
if ( !check_number_of_cells_3(lcc, 4, 6, 3, 1, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,dh2);
lcc.template contract_cell<2>(dh2);
if ( !check_number_of_cells_3(lcc, 4, 5, 2, 1, 1) )
return false;
lcc.clear();
@ -582,7 +582,7 @@ bool test_LCC_3()
trace_test_begin();
dh1 = lcc.create_dart(Point(0,0,0));
lcc.template sew<3>(dh1, lcc.create_dart(Point(1,0,0)));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -590,7 +590,7 @@ bool test_LCC_3()
dh1 = make_loop(lcc, Point(0,0,0));
dh2 = make_loop(lcc, Point(0,0,1));
lcc.template sew<3>(dh1, dh2);
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -598,7 +598,7 @@ bool test_LCC_3()
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
lcc.template sew<3>(dh1, lcc.make_segment(Point(0,0,1),Point(1,0,1)));
lcc.template sew<3>(lcc.beta(dh1,2),lcc.beta(dh1,3,2));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 2, 1, 1, 2, 1) )
return false;
lcc.clear();
@ -609,7 +609,7 @@ bool test_LCC_3()
dh2 = lcc.make_segment(Point(0,0,1),Point(1,0,1));
lcc.template sew<1>(dh2, dh2);
lcc.template sew<3>(dh1, dh2);
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 2, 2, 2, 2, 2) )
return false;
lcc.clear();
@ -623,7 +623,7 @@ bool test_LCC_3()
lcc.template sew<1>(lcc.beta(dh2,2), lcc.beta(dh2,2));
lcc.template sew<3>(dh1, dh2);
lcc.template sew<3>(lcc.beta(dh1,2), lcc.beta(dh2,2));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 1, 1, 1, 2, 1) )
return false;
lcc.clear();
@ -636,12 +636,12 @@ bool test_LCC_3()
make_face_two_edges(lcc, Point(0,0,1), Point(1,0,1)));
lcc.template sew<3>(dh2,
make_face_two_edges(lcc, Point(1,0,1), Point(1,0,2)));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 2, 2, 1, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,dh2);
lcc.template contract_cell<2>(dh2);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -654,12 +654,12 @@ bool test_LCC_3()
lcc.template sew<3>(dh2,
make_face_two_edges(lcc, Point(1,0,1), Point(1,0,2)));
lcc.template sew<2>(lcc.beta(dh1,3), lcc.beta(dh2,3));
CGAL::contract_cell<LCC,2>(lcc,dh1);
lcc.template contract_cell<2>(dh1);
if ( !check_number_of_cells_3(lcc, 2, 2, 1, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,dh2);
lcc.template contract_cell<2>(dh2);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -677,12 +677,12 @@ bool test_LCC_3()
Point(6,0,4)));
lcc.template sew<2>(lcc.beta(dh1,3), lcc.beta(dh2,3));
lcc.template sew<2>(lcc.beta(dh2,1,3), lcc.beta(dh3,3));
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,0));
lcc.template contract_cell<1>(lcc.beta(dh2,0));
if ( !check_number_of_cells_3(lcc, 4, 6, 3, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,dh2);
lcc.template contract_cell<2>(dh2);
if ( !check_number_of_cells_3(lcc, 4, 5, 2, 2, 1) )
return false;
lcc.clear();
@ -690,19 +690,19 @@ bool test_LCC_3()
// Volume contraction
trace_test_begin();
dh1 = lcc.create_dart(Point(0,0,0));
CGAL::contract_cell<LCC,3>(lcc,dh1);
lcc.template contract_cell<3>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
trace_test_begin();
dh1 = make_loop<LCC>(lcc, Point(0,0,0));
CGAL::contract_cell<LCC,3>(lcc,dh1);
lcc.template contract_cell<3>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
trace_test_begin();
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
CGAL::contract_cell<LCC,3>(lcc,dh1);
lcc.template contract_cell<3>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
@ -710,7 +710,7 @@ bool test_LCC_3()
dh1 = lcc.make_segment(Point(0,0,0),Point(1,0,0));
lcc.template sew<1>(dh1, dh1);
lcc.template sew<1>(lcc.beta(dh1,2), lcc.beta(dh1,2));
CGAL::contract_cell<LCC,3>(lcc,dh1);
lcc.template contract_cell<3>(dh1);
if ( !check_number_of_cells_3(lcc, 0, 0, 0, 0, 0) )
return false;
lcc.clear();
@ -725,36 +725,36 @@ bool test_LCC_3()
dh2 = lcc.beta(dh2, 2,1,1,2);
lcc.template sew<3>(dh1,dh2);
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,2,1));
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,2,0));
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,1,1,2,0));
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,1,1,2,1));
lcc.template contract_cell<1>(lcc.beta(dh2,2,1));
lcc.template contract_cell<1>(lcc.beta(dh2,2,0));
lcc.template contract_cell<1>(lcc.beta(dh2,1,1,2,0));
lcc.template contract_cell<1>(lcc.beta(dh2,1,1,2,1));
if ( !check_number_of_cells_3(lcc, 8, 16, 11, 2, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,lcc.beta(dh2,0,2));
lcc.template contract_cell<2>(lcc.beta(dh2,0,2));
if ( !check_number_of_cells_3(lcc, 8, 15, 10, 2, 1 ) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,lcc.beta(dh2,1,1,2));
lcc.template contract_cell<2>(lcc.beta(dh2,1,1,2));
if ( !check_number_of_cells_3(lcc, 8, 14, 9, 2, 1 ) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,lcc.beta(dh2,1,2));
lcc.template contract_cell<2>(lcc.beta(dh2,1,2));
if ( !check_number_of_cells_3(lcc, 8, 13, 8, 2, 1 ) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,lcc.beta(dh2,2));
lcc.template contract_cell<2>(lcc.beta(dh2,2));
if ( !check_number_of_cells_3(lcc, 8, 12, 7, 2, 1 ) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,3>(lcc,dh2);
lcc.template contract_cell<3>(dh2);
if ( !check_number_of_cells_3(lcc, 8, 12, 6, 1, 1 ) )
return false;
lcc.clear();
@ -774,36 +774,36 @@ bool test_LCC_3()
dh2 = lcc.beta(dh2, 2,1,1,2);
lcc.template sew<3>(dh1,dh2);
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,2,1));
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,2,0));
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,1,1,2,0));
CGAL::contract_cell<LCC,1>(lcc,lcc.beta(dh2,1,1,2,1));
lcc.template contract_cell<1>(lcc.beta(dh2,2,1));
lcc.template contract_cell<1>(lcc.beta(dh2,2,0));
lcc.template contract_cell<1>(lcc.beta(dh2,1,1,2,0));
lcc.template contract_cell<1>(lcc.beta(dh2,1,1,2,1));
if ( !check_number_of_cells_3(lcc, 12, 24, 16, 3, 1) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,lcc.beta(dh2,0,2));
lcc.template contract_cell<2>(lcc.beta(dh2,0,2));
if ( !check_number_of_cells_3(lcc, 12, 23, 15, 3, 1 ) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,lcc.beta(dh2,1,1,2));
lcc.template contract_cell<2>(lcc.beta(dh2,1,1,2));
if ( !check_number_of_cells_3(lcc, 12, 22, 14, 3, 1 ) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,lcc.beta(dh2,1,2));
lcc.template contract_cell<2>(lcc.beta(dh2,1,2));
if ( !check_number_of_cells_3(lcc, 12, 21, 13, 3, 1 ) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,2>(lcc,lcc.beta(dh2,2));
lcc.template contract_cell<2>(lcc.beta(dh2,2));
if ( !check_number_of_cells_3(lcc, 12, 20, 12, 3, 1 ) )
return false;
trace_test_begin();
CGAL::contract_cell<LCC,3>(lcc,dh2);
lcc.template contract_cell<3>(dh2);
if ( !check_number_of_cells_3(lcc, 12, 20, 11, 2, 1 ) )
return false;
lcc.clear();

View File

@ -183,14 +183,14 @@ bool test_LCC_4()
toremove.push( it );
while ( !toremove.empty() )
{
CGAL::remove_cell<LCC,1>(lcc, toremove.top());
lcc.template remove_cell<1>(toremove.top());
toremove.pop();
}
if ( !check_number_of_cells_4(lcc, 20, 28, 16, 3, 3, 3) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh16);
lcc.template remove_cell<0>(dh16);
if ( !check_number_of_cells_4(lcc, 19, 27, 16, 3, 3, 3) )
return false;
@ -200,14 +200,14 @@ bool test_LCC_4()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh15);
lcc.template remove_cell<0>(dh15);
if ( !check_number_of_cells_4(lcc, 19, 29, 19, 4, 3, 3) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,1>(lcc, lcc.beta(dh14,2,1));
CGAL::remove_cell<LCC,1>(lcc, lcc.beta(dh14,0));
CGAL::remove_cell<LCC,1>(lcc, dh14);
lcc.template remove_cell<1>(lcc.beta(dh14,2,1));
lcc.template remove_cell<1>(lcc.beta(dh14,0));
lcc.template remove_cell<1>(dh14);
if ( !check_number_of_cells_4(lcc, 18, 26, 17, 4, 3, 3) )
return false;
@ -217,13 +217,13 @@ bool test_LCC_4()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,3>(lcc, dh13);
CGAL::remove_cell<LCC,3>(lcc, dh12);
lcc.template remove_cell<3>(dh13);
lcc.template remove_cell<3>(dh12);
if ( !check_number_of_cells_4(lcc, 13, 17, 10, 2, 2, 2) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,1>(lcc, dh11);
lcc.template remove_cell<1>(dh11);
if ( !check_number_of_cells_4(lcc, 12, 16, 10, 2, 2, 2) )
return false;
@ -235,14 +235,14 @@ bool test_LCC_4()
toremove.push( it );
while ( !toremove.empty() )
{
CGAL::remove_cell<LCC,1>(lcc, toremove.top());
lcc.template remove_cell<1>(toremove.top());
toremove.pop();
}
if ( !check_number_of_cells_4(lcc, 11, 13, 8, 2, 2, 2) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh9);
lcc.template remove_cell<0>(dh9);
if ( !check_number_of_cells_4(lcc, 10, 12, 8, 2, 2, 2) )
return false;
@ -254,14 +254,14 @@ bool test_LCC_4()
toremove.push( it );
while ( !toremove.empty() )
{
CGAL::remove_cell<LCC,1>(lcc, toremove.top());
lcc.template remove_cell<1>(toremove.top());
toremove.pop();
}
if ( !check_number_of_cells_4(lcc, 9, 9, 6, 2, 2, 2) )
return false;
trace_test_begin();
CGAL::remove_cell<LCC,0>(lcc, dh7);
lcc.template remove_cell<0>(dh7);
if ( !check_number_of_cells_4(lcc, 8, 8, 6, 2, 2, 2) )
return false;
@ -271,8 +271,8 @@ bool test_LCC_4()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,2>(lcc, dh6);
CGAL::remove_cell<LCC,2>(lcc, dh5);
lcc.template remove_cell<2>(dh6);
lcc.template remove_cell<2>(dh5);
if ( !check_number_of_cells_4(lcc, 4, 3, 4, 1, 1, 1) )
return false;
@ -287,9 +287,9 @@ bool test_LCC_4()
return false;
trace_test_begin();
CGAL::remove_cell<LCC,1>(lcc, dh1);
CGAL::remove_cell<LCC,1>(lcc, dh2);
CGAL::remove_cell<LCC,1>(lcc, dh3);
lcc.template remove_cell<1>(dh1);
lcc.template remove_cell<1>(dh2);
lcc.template remove_cell<1>(dh3);
if ( !check_number_of_cells_4(lcc, 0, 0, 0, 0, 0, 0) )
return false;