updated tests

This commit is contained in:
Dmitry Anisimov 2021-08-19 11:22:48 +02:00
parent 8b2b6a6689
commit 5f4fdae7b2
9 changed files with 85 additions and 47 deletions

View File

@ -5,6 +5,7 @@
#include <CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h>
#include <CGAL/Barycentric_coordinates_2/Discrete_harmonic_2.h>
#include <CGAL/Barycentric_coordinates_2/Generalized_barycentric_coordinates_2.h>
#include <CGAL/Barycentric_coordinates_2/Discrete_harmonic_coordinates_2.h>
typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel;
@ -38,7 +39,8 @@ int main()
Discrete_harmonic_coordinates discrete_harmonic_coordinates(vertices.begin(), vertices.end());
Coordinate_vector tri_coordinates;
Coordinate_vector dh_coordinates;
Coordinate_vector old_coordinates;
Coordinate_vector new_coordinates;
const Scalar step = Scalar(1) / Scalar(100);
const Scalar scale = Scalar(50);
@ -51,17 +53,24 @@ int main()
const Point point(x, y);
const Output_type tri_result = triangle_coordinates(point, tri_coordinates);
const Output_type dh_result = discrete_harmonic_coordinates(point, dh_coordinates);
const Output_type dh_result = discrete_harmonic_coordinates(point, old_coordinates);
CGAL::Barycentric_coordinates::discrete_harmonic_coordinates_2(
vertices, point, std::back_inserter(new_coordinates));
assert(
tri_coordinates[count + 0] - dh_coordinates[count + 0] == Scalar(0) &&
tri_coordinates[count + 1] - dh_coordinates[count + 1] == Scalar(0) &&
tri_coordinates[count + 2] - dh_coordinates[count + 2] == Scalar(0) );
tri_coordinates[count + 0] - old_coordinates[count + 0] == Scalar(0) &&
tri_coordinates[count + 1] - old_coordinates[count + 1] == Scalar(0) &&
tri_coordinates[count + 2] - old_coordinates[count + 2] == Scalar(0) );
assert(
old_coordinates[count + 0] - new_coordinates[count + 0] == Scalar(0) &&
old_coordinates[count + 1] - new_coordinates[count + 1] == Scalar(0) &&
old_coordinates[count + 2] - new_coordinates[count + 2] == Scalar(0) );
if (
tri_coordinates[count + 0] - dh_coordinates[count + 0] != Scalar(0) ||
tri_coordinates[count + 1] - dh_coordinates[count + 1] != Scalar(0) ||
tri_coordinates[count + 2] - dh_coordinates[count + 2] != Scalar(0) )
tri_coordinates[count + 0] - old_coordinates[count + 0] != Scalar(0) ||
tri_coordinates[count + 1] - old_coordinates[count + 1] != Scalar(0) ||
tri_coordinates[count + 2] - old_coordinates[count + 2] != Scalar(0) )
{
cout << endl << "DH_deprecated_api_test: FAILED." << endl << endl;
exit(EXIT_FAILURE);

View File

@ -5,6 +5,7 @@
#include <CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h>
#include <CGAL/Barycentric_coordinates_2/Mean_value_2.h>
#include <CGAL/Barycentric_coordinates_2/Generalized_barycentric_coordinates_2.h>
#include <CGAL/Barycentric_coordinates_2/Mean_value_coordinates_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
@ -39,10 +40,12 @@ int main()
Mean_value_coordinates mean_value_coordinates(vertices.begin(), vertices.end());
Coordinate_vector tri_coordinates;
Coordinate_vector mv_coordinates;
Coordinate_vector old_coordinates;
Coordinate_vector new_coordinates;
const Scalar step = Scalar(1) / Scalar(100);
const Scalar scale = Scalar(50);
const Scalar tol = Scalar(1) / Scalar(10000000000);
int count = 0;
const Scalar limit = scale * step;
@ -53,17 +56,24 @@ int main()
const Point point(x, y);
const Output_type tri_result = triangle_coordinates(point, tri_coordinates);
const Output_type mv_result = mean_value_coordinates(point, mv_coordinates);
const Output_type mv_result = mean_value_coordinates(point, old_coordinates);
CGAL::Barycentric_coordinates::mean_value_coordinates_2(
vertices, point, std::back_inserter(new_coordinates));
assert(
(tri_coordinates[count + 0] - mv_coordinates[count + 0]) < epsilon &&
(tri_coordinates[count + 1] - mv_coordinates[count + 1]) < epsilon &&
(tri_coordinates[count + 2] - mv_coordinates[count + 2]) < epsilon );
(tri_coordinates[count + 0] - old_coordinates[count + 0]) < epsilon &&
(tri_coordinates[count + 1] - old_coordinates[count + 1]) < epsilon &&
(tri_coordinates[count + 2] - old_coordinates[count + 2]) < epsilon );
assert(
CGAL::abs(old_coordinates[count + 0] - new_coordinates[count + 0]) < tol &&
CGAL::abs(old_coordinates[count + 1] - new_coordinates[count + 1]) < tol &&
CGAL::abs(old_coordinates[count + 2] - new_coordinates[count + 2]) < tol );
if (
(tri_coordinates[count + 0] - mv_coordinates[count + 0]) > epsilon ||
(tri_coordinates[count + 1] - mv_coordinates[count + 1]) > epsilon ||
(tri_coordinates[count + 2] - mv_coordinates[count + 2]) > epsilon )
(tri_coordinates[count + 0] - old_coordinates[count + 0]) > epsilon ||
(tri_coordinates[count + 1] - old_coordinates[count + 1]) > epsilon ||
(tri_coordinates[count + 2] - old_coordinates[count + 2]) > epsilon )
{
cout << endl << "MV_deprecated_api_test: FAILED." << endl << endl;
exit(EXIT_FAILURE);

View File

@ -1,5 +1,4 @@
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Barycentric_coordinates_2/Mean_value_coordinates_2.h>
#include <boost/math/special_functions/fpclassify.hpp>

View File

@ -1,5 +1,4 @@
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h>
#include <CGAL/Barycentric_coordinates_2/Mean_value_coordinates_2.h>
@ -55,7 +54,6 @@ void test_mv_triangle() {
int main() {
test_mv_triangle< CGAL::Simple_cartesian<double> >();
test_mv_triangle< CGAL::Exact_predicates_exact_constructions_kernel >();
test_mv_triangle< CGAL::Exact_predicates_inexact_constructions_kernel >();
std::cout << "test_mv_triangle: PASSED" << std::endl;

View File

@ -1,5 +1,4 @@
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Barycentric_coordinates_2/Mean_value_coordinates_2.h>
@ -59,7 +58,6 @@ void test_mv_weakly_convex_polygon() {
int main() {
test_mv_weakly_convex_polygon< CGAL::Simple_cartesian<double> >();
test_mv_weakly_convex_polygon< CGAL::Exact_predicates_exact_constructions_kernel >();
test_mv_weakly_convex_polygon< CGAL::Exact_predicates_inexact_constructions_kernel >();
std::cout << "test_mv_weakly_convex_polygon: PASSED" << std::endl;

View File

@ -1,7 +1,7 @@
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Barycentric_coordinates_2/Mean_value_coordinates_2.h>
using Kernel = CGAL::Exact_predicates_exact_constructions_kernel;
using Kernel = CGAL::Exact_predicates_inexact_constructions_kernel;
using FT = typename Kernel::FT;
using Point_2 = typename Kernel::Point_2;

View File

@ -41,26 +41,33 @@ int main()
Scalar(-1)/Scalar(5) , Scalar(6) /Scalar(5) ,
1 , 0 };
Coordinate_vector coordinates;
Coordinate_vector old_coordinates;
Coordinate_vector new_coordinates;
int count = 0;
for (int i = 0; i < 6; ++i) {
const Output_type result = segment_coordinates(query_points[i], std::back_inserter(coordinates));
const Output_type result = segment_coordinates(query_points[i], std::back_inserter(old_coordinates));
CGAL::Barycentric_coordinates::segment_coordinates_2(
first_vertex, second_vertex, query_points[i], std::back_inserter(new_coordinates));
assert(
coordinates[count + 0] - expected_coordinates[count + 0] == Scalar(0) &&
coordinates[count + 1] - expected_coordinates[count + 1] == Scalar(0) );
old_coordinates[count + 0] - expected_coordinates[count + 0] == Scalar(0) &&
old_coordinates[count + 1] - expected_coordinates[count + 1] == Scalar(0) );
assert(
old_coordinates[count + 0] - new_coordinates[count + 0] == Scalar(0) &&
old_coordinates[count + 1] - new_coordinates[count + 1] == Scalar(0) );
if (
coordinates[count + 0] - expected_coordinates[count + 0] != Scalar(0) ||
coordinates[count + 1] - expected_coordinates[count + 1] != Scalar(0) )
old_coordinates[count + 0] - expected_coordinates[count + 0] != Scalar(0) ||
old_coordinates[count + 1] - expected_coordinates[count + 1] != Scalar(0) )
{
cout << endl << "Segment_coordinates_deprecated_api_test: FAILED." << endl << endl;
exit(EXIT_FAILURE);
}
count += 2;
}
coordinates.clear();
old_coordinates.clear();
count = 0;
for (int i = 0; i < 6; ++i) {

View File

@ -40,28 +40,36 @@ int main()
Scalar(-1)/Scalar(4), Scalar(3) /Scalar(4), Scalar(1)/Scalar(2),
Scalar(3) /Scalar(4), Scalar(-1)/Scalar(4), Scalar(1)/Scalar(2) };
Coordinate_vector coordinates;
Coordinate_vector old_coordinates;
Coordinate_vector new_coordinates;
int count = 0;
for (int i = 0; i < 5; ++i) {
const Output_type result = triangle_coordinates(query_points[i], std::back_inserter(coordinates));
const Output_type result = triangle_coordinates(query_points[i], std::back_inserter(old_coordinates));
CGAL::Barycentric_coordinates::triangle_coordinates_2(
first_vertex, second_vertex, third_vertex, query_points[i], std::back_inserter(new_coordinates));
assert(
coordinates[count + 0] - expected_coordinates[count + 0] == Scalar(0) &&
coordinates[count + 1] - expected_coordinates[count + 1] == Scalar(0) &&
coordinates[count + 2] - expected_coordinates[count + 2] == Scalar(0) );
old_coordinates[count + 0] - expected_coordinates[count + 0] == Scalar(0) &&
old_coordinates[count + 1] - expected_coordinates[count + 1] == Scalar(0) &&
old_coordinates[count + 2] - expected_coordinates[count + 2] == Scalar(0) );
assert(
old_coordinates[count + 0] - new_coordinates[count + 0] == Scalar(0) &&
old_coordinates[count + 1] - new_coordinates[count + 1] == Scalar(0) &&
old_coordinates[count + 2] - new_coordinates[count + 2] == Scalar(0) );
if (
coordinates[count + 0] - expected_coordinates[count + 0] != Scalar(0) ||
coordinates[count + 1] - expected_coordinates[count + 1] != Scalar(0) ||
coordinates[count + 2] - expected_coordinates[count + 2] != Scalar(0) )
old_coordinates[count + 0] - expected_coordinates[count + 0] != Scalar(0) ||
old_coordinates[count + 1] - expected_coordinates[count + 1] != Scalar(0) ||
old_coordinates[count + 2] - expected_coordinates[count + 2] != Scalar(0) )
{
cout << endl << "Triangle_coordinates_deprecated_api_test: FAILED." << endl << endl;
exit(EXIT_FAILURE);
}
count += 3;
}
coordinates.clear();
old_coordinates.clear();
count = 0;
for (int i = 0; i < 5; ++i) {

View File

@ -5,6 +5,7 @@
#include <CGAL/Barycentric_coordinates_2/Wachspress_2.h>
#include <CGAL/Barycentric_coordinates_2/triangle_coordinates_2.h>
#include <CGAL/Barycentric_coordinates_2/Generalized_barycentric_coordinates_2.h>
#include <CGAL/Barycentric_coordinates_2/Wachspress_coordinates_2.h>
typedef CGAL::Exact_predicates_exact_constructions_kernel Kernel;
@ -39,7 +40,8 @@ int main()
Wachspress_coordinates wachspress_coordinates(vertices.begin(), vertices.end());
Coordinate_vector tri_coordinates;
Coordinate_vector wp_coordinates;
Coordinate_vector old_coordinates;
Coordinate_vector new_coordinates;
const Scalar step = Scalar(1) / Scalar(100);
const Scalar scale = Scalar(50);
@ -52,17 +54,24 @@ int main()
const Point point(x, y);
const Output_type tri_result = triangle_coordinates(point, tri_coordinates);
const Output_type wp_result = wachspress_coordinates(point, wp_coordinates);
const Output_type wp_result = wachspress_coordinates(point, old_coordinates);
CGAL::Barycentric_coordinates::wachspress_coordinates_2(
vertices, point, std::back_inserter(new_coordinates));
assert(
tri_coordinates[count + 0] - wp_coordinates[count + 0] == Scalar(0) &&
tri_coordinates[count + 1] - wp_coordinates[count + 1] == Scalar(0) &&
tri_coordinates[count + 2] - wp_coordinates[count + 2] == Scalar(0) );
tri_coordinates[count + 0] - old_coordinates[count + 0] == Scalar(0) &&
tri_coordinates[count + 1] - old_coordinates[count + 1] == Scalar(0) &&
tri_coordinates[count + 2] - old_coordinates[count + 2] == Scalar(0) );
assert(
old_coordinates[count + 0] - new_coordinates[count + 0] == Scalar(0) &&
old_coordinates[count + 1] - new_coordinates[count + 1] == Scalar(0) &&
old_coordinates[count + 2] - new_coordinates[count + 2] == Scalar(0) );
if (
tri_coordinates[count + 0] - wp_coordinates[count + 0] != Scalar(0) ||
tri_coordinates[count + 1] - wp_coordinates[count + 1] != Scalar(0) ||
tri_coordinates[count + 2] - wp_coordinates[count + 2] != Scalar(0) )
tri_coordinates[count + 0] - old_coordinates[count + 0] != Scalar(0) ||
tri_coordinates[count + 1] - old_coordinates[count + 1] != Scalar(0) ||
tri_coordinates[count + 2] - old_coordinates[count + 2] != Scalar(0) )
{
cout << endl << "WP_deprecated_api_test: FAILED." << endl << endl;
exit(EXIT_FAILURE);