diff --git a/.gitattributes b/.gitattributes index 3d0e3c1447f..39fd4b1254e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1011,6 +1011,7 @@ Mesh_2/doc_tex/Mesh_2/example-conform.eps -text svneol=unset#unset Mesh_2/doc_tex/Mesh_2/example-conform.png -text svneol=unset#unset Mesh_2/doc_tex/Mesh_2_ref/part_of_a_cluster.eps -text Mesh_2/doc_tex/Mesh_2_ref/part_of_a_cluster.gif -text svneol=unset#unset +Min_annulus_d/examples/min_annulus_d.C -text Min_circle_2/demo/Min_circle_2/min_circle_2.vcproj -text Min_ellipse_2/demo/Min_ellipse_2/min_ellipse_2.vcproj -text Min_quadrilateral_2/demo/Min_quadrilateral_2/min_quadrilateral_2.vcproj -text diff --git a/Min_annulus_d/examples/min_annulus_d.C b/Min_annulus_d/examples/min_annulus_d.C new file mode 100644 index 00000000000..d048d991418 --- /dev/null +++ b/Min_annulus_d/examples/min_annulus_d.C @@ -0,0 +1,50 @@ +// file: examples/Min_annulus_d/min_annulus_d.C + +// computes the smallest enclosing annulus of two point +// sets on nested squares in R^2 + +#include +#include +#include + +typedef CGAL::Simple_cartesian K; +typedef K::Point_2 Point; +typedef CGAL::Optimisation_d_traits_2 Traits; +typedef CGAL::Min_annulus_d Min_annulus; + + +int main() +{ + // points on the squares [-1,1]^2 and [-2,2]^2 + Point P[8] = { Point(-1,-1), Point(-1,1), Point(1,-1), Point(1,1), + Point(-2,-2), Point(-2,2), Point(2,-2), Point(2,2)}; + + Min_annulus ma(P, P+8); + + // get center of annulus + Min_annulus::Coordinate_iterator coord_it; + + std::cout << "center:"; // homogeneous point, (0,0,1) + for (coord_it = ma.center_coordinates_begin(); + coord_it != ma.center_coordinates_end(); + ++coord_it) + std::cout << " " << *coord_it; + std::cout << std::endl; + + // get inner squared radius, 1^2+1^2 = 2 + std::cout << "Inner squared radius: " << + ma.squared_inner_radius_numerator() << " / " << + ma.squared_radii_denominator() << " ~ " << + ma.squared_inner_radius_numerator() / + ma.squared_radii_denominator() << std::endl; + + // get outer squared radius, 2^2+2^2 = 8 + std::cout << "Outer squared radius: " << + ma.squared_outer_radius_numerator() << " / " << + ma.squared_radii_denominator() << " ~ " << + ma.squared_outer_radius_numerator() / + ma.squared_radii_denominator() << std::endl; + + return 0; + +}