diff --git a/Barycentric_coordinates_2/examples/Barycentric_coordinates_2/CMakeLists.txt b/Barycentric_coordinates_2/examples/Barycentric_coordinates_2/CMakeLists.txt index 6c6214920c1..79879db96c3 100644 --- a/Barycentric_coordinates_2/examples/Barycentric_coordinates_2/CMakeLists.txt +++ b/Barycentric_coordinates_2/examples/Barycentric_coordinates_2/CMakeLists.txt @@ -17,11 +17,7 @@ if(CGAL_FOUND) create_single_source_cgal_program("wachspress_coordinates.cpp") create_single_source_cgal_program("mean_value_coordinates.cpp") create_single_source_cgal_program("discrete_harmonic_coordinates.cpp") - - # missing: - # construct_centroid_2 - # in projection traits - # create_single_source_cgal_program("terrain_height_modeling.cpp") + create_single_source_cgal_program("terrain_height_modeling.cpp") # this code is deprecated: # create_single_source_cgal_program("deprecated_coordinates.cpp") diff --git a/Barycentric_coordinates_2/package_info/Barycentric_coordinates_2/dependencies b/Barycentric_coordinates_2/package_info/Barycentric_coordinates_2/dependencies index 54a72443f6e..389487f927a 100644 --- a/Barycentric_coordinates_2/package_info/Barycentric_coordinates_2/dependencies +++ b/Barycentric_coordinates_2/package_info/Barycentric_coordinates_2/dependencies @@ -21,4 +21,3 @@ Interval_support Mesher_level Modular_arithmetic Spatial_sorting -Barycentric_coordinates_2 diff --git a/Barycentric_coordinates_2/test/Barycentric_coordinates_2/CMakeLists.txt b/Barycentric_coordinates_2/test/Barycentric_coordinates_2/CMakeLists.txt index f4f4ddec8db..05096c2415e 100644 --- a/Barycentric_coordinates_2/test/Barycentric_coordinates_2/CMakeLists.txt +++ b/Barycentric_coordinates_2/test/Barycentric_coordinates_2/CMakeLists.txt @@ -50,7 +50,7 @@ if(CGAL_FOUND) target_link_libraries(test_hm_const_linear_precision PUBLIC CGAL::Eigen3_support) create_single_source_cgal_program("test_hm_triangle.cpp") target_link_libraries(test_hm_triangle PUBLIC CGAL::Eigen3_support) - create_single_source_cgal_program("test_projection_traits.cpp") # TODO: fails, fix it! + create_single_source_cgal_program("test_projection_traits.cpp") target_link_libraries(test_projection_traits PUBLIC CGAL::Eigen3_support) create_single_source_cgal_program("test_all_coordinates.cpp") target_link_libraries(test_all_coordinates PUBLIC CGAL::Eigen3_support) diff --git a/Barycentric_coordinates_2/test/Barycentric_coordinates_2/test_projection_traits.cpp b/Barycentric_coordinates_2/test/Barycentric_coordinates_2/test_projection_traits.cpp index 1c17eaa2411..37cf2d9a936 100644 --- a/Barycentric_coordinates_2/test/Barycentric_coordinates_2/test_projection_traits.cpp +++ b/Barycentric_coordinates_2/test/Barycentric_coordinates_2/test_projection_traits.cpp @@ -17,11 +17,10 @@ using Point_map = CGAL::Identity_property_map; void check_result( const std::vector& weights, - const std::vector& coordinates) { + const std::vector& coordinates, + const FT epsilon = FT(1) / FT(100000000000000)) { const FT quater = FT(1) / FT(4); - const FT epsilon = FT(1) / FT(100000000000000); - assert(coordinates.size() == 4); assert( CGAL::abs(coordinates[0] - quater) < epsilon && @@ -46,12 +45,6 @@ void test_projection_traits( const Point_3& query, const Projection_traits& projection_traits) { - using Domain = CGAL::Barycentric_coordinates:: - Delaunay_domain_2; - using HMC2 = CGAL::Barycentric_coordinates:: - Harmonic_coordinates_2; - - Point_map point_map; std::vector weights; std::vector coordinates; @@ -76,7 +69,14 @@ void test_projection_traits( vertices, query, std::back_inserter(coordinates), projection_traits); check_result(weights, coordinates); + using Domain = CGAL::Barycentric_coordinates:: + Delaunay_domain_2; + using HMC2 = CGAL::Barycentric_coordinates:: + Harmonic_coordinates_2; + coordinates.clear(); + Point_map point_map; + CGAL::Barycentric_coordinates::boundary_coordinates_2( vertices, vertices[0], std::back_inserter(coordinates), projection_traits, point_map); assert( @@ -85,8 +85,7 @@ void test_projection_traits( const FT max_edge_length = FT(1) / FT(10); const std::vector seeds = { query }; - Domain domain( - vertices, projection_traits, point_map); + Domain domain(vertices, projection_traits, point_map); domain.create(max_edge_length, seeds); HMC2 harmonic_coordinates_2( @@ -95,10 +94,12 @@ void test_projection_traits( coordinates.clear(); for (std::size_t k = 0; k < domain.number_of_vertices(); ++k) harmonic_coordinates_2(k, std::back_inserter(coordinates)); + assert(coordinates.size() == + domain.number_of_vertices() * vertices.size()); weights.clear(); coordinates.clear(); harmonic_coordinates_2(query, std::back_inserter(coordinates)); - check_result(weights, coordinates); + check_result(weights, coordinates, max_edge_length); } int main() {