From 2461b086cf1bebf9bf33c25a289d4f88510df67b Mon Sep 17 00:00:00 2001 From: Radu Ursu Date: Tue, 22 Oct 2002 10:38:46 +0000 Subject: [PATCH] the widget resize to fit the bounding box of the triangulation loaded --- .../Qt_widget/Alpha_shapes_2/alpha_shapes_2.C | 2 +- .../Triangulation_2/triangulation_2.C | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Packages/Qt_widget/demo/Qt_widget/Alpha_shapes_2/alpha_shapes_2.C b/Packages/Qt_widget/demo/Qt_widget/Alpha_shapes_2/alpha_shapes_2.C index efdb0832aeb..abca57e8d22 100644 --- a/Packages/Qt_widget/demo/Qt_widget/Alpha_shapes_2/alpha_shapes_2.C +++ b/Packages/Qt_widget/demo/Qt_widget/Alpha_shapes_2/alpha_shapes_2.C @@ -378,9 +378,9 @@ private slots: ymin = (*it).point().y(); if(ymax < (*it).point().y()) ymax = (*it).point().y(); - widget->set_window(xmin, xmax, ymin, ymax); it++; } + widget->set_window(xmin, xmax, ymin, ymax); A.make_alpha_shape(L.begin(), L.end()); something_changed(); } diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2.C b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2.C index 4af7b5247f6..b0840d20c23 100644 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2.C +++ b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2.C @@ -76,7 +76,7 @@ typedef CGAL::Triangulation_2 Triangulation; typedef CGAL::Delaunay_triangulation_2 Delaunay; - +typedef Triangulation::Vertex_iterator Vertex_iterator; typedef Delaunay::Face_handle Face_handle; typedef Delaunay::Vertex_handle Vertex_handle; typedef Delaunay::Edge Edge; @@ -86,6 +86,7 @@ const QString my_title_string("Triangulation Demo with" " CGAL Qt_widget"); Delaunay tr1; int current_state; +Coord_type xmin, ymin, xmax, ymax; class Window : public QMainWindow { @@ -235,7 +236,7 @@ private slots: Window *ed = new Window(500, 500); ed->setCaption("Layer"); ed->show(); - ed->set_window(-1.1, 1.1, -1.1, 1.1); + ed->set_window(xmin, xmax, ymin, ymax); something_changed(); } @@ -288,6 +289,19 @@ private slots: std::ifstream in(s); CGAL::set_ascii_mode(in); in >> tr1; + Vertex_iterator it = tr1.vertices_begin(); + while(it != tr1.vertices_end()) { + if(xmin > (*it).point().x()) + xmin = (*it).point().x(); + if(xmax < (*it).point().x()) + xmax = (*it).point().x(); + if(ymin > (*it).point().y()) + ymin = (*it).point().y(); + if(ymax < (*it).point().y()) + ymax = (*it).point().y(); + it++; + } + widget->set_window(xmin, xmax, ymin, ymax); something_changed(); }