From 465b0c5639052d17f9facf2168d064b06913b71c Mon Sep 17 00:00:00 2001 From: Radu Ursu Date: Wed, 18 Jun 2003 14:53:40 +0000 Subject: [PATCH] removed Triangulation_2 demos not yet constrained --- .gitattributes | 7 - .../Qt_widget/Triangulation_2/cgal_types.h | 27 - .../Triangulation_2/data/triangulation.cgal | 1739 ----------------- .../delaunay_triangulation_2.C | 372 ---- .../delaunay_triangulation_2.vcproj | 254 --- .../delaunay_triangulation_2_layers.h | 221 --- .../delaunay_triangulation_2_toolbar.C | 92 - .../delaunay_triangulation_2_toolbar.h | 56 - .../delaunay_triangulation_2_toolbar_layers.C | 180 -- .../delaunay_triangulation_2_toolbar_layers.h | 62 - .../Triangulation_2/help/conflict_zone.gif | Bin 4866 -> 0 bytes .../help/conflict_zone_after.gif | Bin 4357 -> 0 bytes .../Qt_widget/Triangulation_2/help/index.html | 216 -- .../Triangulation_2/help/input_line_layer.gif | Bin 1808 -> 0 bytes .../help/input_point_layer.gif | Bin 1732 -> 0 bytes .../help/movedelete_point_layer.gif | Bin 1732 -> 0 bytes .../Triangulation_2/help/rindex.html | 126 -- .../demo/Qt_widget/Triangulation_2/makefile | 114 -- .../Triangulation_2/regular_cgal_types.h | 15 - .../Triangulation_2/regular_triangulation_2.C | 256 --- .../regular_triangulation_2.vcproj | 212 -- .../regular_triangulation_2_layers.h | 86 - .../regular_triangulation_2_toolbar.C | 91 - .../regular_triangulation_2_toolbar.h | 57 - .../regular_triangulation_2_toolbar_layers.C | 89 - .../regular_triangulation_2_toolbar_layers.h | 60 - .../triangulation_2_edit_vertex.C | 37 - .../triangulation_2_edit_vertex.h | 338 ---- 28 files changed, 4707 deletions(-) delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/cgal_types.h delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/data/triangulation.cgal delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.C delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.vcproj delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_layers.h delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar.C delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar.h delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar_layers.C delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar_layers.h delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/conflict_zone.gif delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/conflict_zone_after.gif delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/index.html delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/input_line_layer.gif delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/input_point_layer.gif delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/movedelete_point_layer.gif delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/rindex.html delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/makefile delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_cgal_types.h delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.C delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.vcproj delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_layers.h delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar.C delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar.h delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar_layers.C delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar_layers.h delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2_edit_vertex.C delete mode 100644 Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2_edit_vertex.h diff --git a/.gitattributes b/.gitattributes index d87482c5f76..df9b858ce66 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1531,13 +1531,6 @@ Packages/Qt_widget/demo/Qt_widget/Min_quadrilateral_2/min_quadrilateral_2.vcproj Packages/Qt_widget/demo/Qt_widget/Nef_2/nef_2.vcproj -text Packages/Qt_widget/demo/Qt_widget/Partition_2/partition_2.vcproj -text Packages/Qt_widget/demo/Qt_widget/Polygon/polygon.vcproj -text -Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.vcproj -text -Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/conflict_zone.gif svneol=native#unset -Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/conflict_zone_after.gif svneol=native#unset -Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/input_line_layer.gif svneol=native#unset -Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/input_point_layer.gif svneol=native#unset -Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/movedelete_point_layer.gif svneol=native#unset -Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.vcproj -text Packages/Qt_widget/demo/Qt_widget/Triangulation_2_constrained/constrained_delaunay_triangulation_2.vcproj -text Packages/Qt_widget/demo/Qt_widget/Triangulation_2_constrained/help/input_point_layer.gif svneol=native#unset Packages/Qt_widget/demo/Qt_widget/Triangulation_2_constrained/help/input_polygon_layer.gif svneol=native#unset diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/cgal_types.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/cgal_types.h deleted file mode 100644 index 0aa8a05d803..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/cgal_types.h +++ /dev/null @@ -1,27 +0,0 @@ -//CGAL headers -#include -#include -#include -#include -#include - - -typedef double Coord_type; -typedef CGAL::Cartesian Rep; - -typedef CGAL::Point_2 Point; -typedef CGAL::Segment_2 Segment; -typedef CGAL::Line_2 Line; -typedef CGAL::Triangle_2 Triangle; -typedef CGAL::Circle_2 Circle; - -typedef CGAL::Triangulation_2 Triangulation; -typedef CGAL::Delaunay_triangulation_2 Delaunay; - - -typedef Delaunay::Vertex_iterator Vertex_iterator; -typedef Delaunay::Face_handle Face_handle; -typedef Delaunay::Vertex_handle Vertex_handle; -typedef Delaunay::Edge Edge; -typedef Delaunay::Line_face_circulator Line_face_circulator; - diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/data/triangulation.cgal b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/data/triangulation.cgal deleted file mode 100644 index bf9e89b73d3..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/data/triangulation.cgal +++ /dev/null @@ -1,1739 +0,0 @@ -436 868 2 -0.00974905 0.186635 -0.313327 -0.691391 -0.296323 -0.705303 -0.273136 -0.723853 -0.248403 -0.740857 -0.222124 -0.759407 -0.189662 -0.770228 -0.147925 -0.776411 -0.16802 -0.774865 -0.0732778 -0.772302 -0.323863 -0.673858 -0.236036 -0.638833 -0.165035 -0.657343 -0.192753 -0.652745 -0.276923 -0.612587 -0.261217 -0.620161 -0.212587 -0.643357 -0.114685 -0.774825 -0.10155 -0.774865 -0.144874 -0.655959 -0.0474463 -0.623375 -0.0732778 -0.642535 -0.0822273 -0.647009 0.107136 -0.559996 0.110187 -0.548565 0.0978608 -0.594004 0.087813 -0.620161 -0.359702 -0.646562 -0.297015 -0.602262 -0.337288 -0.660434 -0.410714 -0.590912 -0.37756 -0.624636 -0.390985 -0.606737 -0.321678 -0.559441 -0.332813 -0.539616 -0.426172 -0.569271 -0.438539 -0.552267 -0.447814 -0.533717 -0.458635 -0.513621 -0.471001 -0.493526 -0.481822 -0.474976 -0.494188 -0.457972 -0.528196 -0.244649 -0.531288 -0.272473 -0.529742 -0.297206 -0.529702 -0.320353 -0.529742 -0.348219 -0.523559 -0.368314 -0.517376 -0.391501 -0.511192 -0.414689 -0.505009 -0.434784 -0.358156 -0.465701 -0.355065 -0.476522 -0.359661 -0.45907 -0.34965 -0.495105 -0.341762 -0.521717 -0.0419546 -0.767827 -0.0509041 -0.763353 -0.111888 -0.662937 -0.0598536 -0.772302 0.0811009 0.0896453 0.069914 0.122647 0.052015 0.14502 0.0296413 0.158445 0.0251666 0.180818 -0.0167832 0.198601 -0.123077 0.13986 -0.0822273 0.216616 -0.30149 -0.584363 -0.126975 -0.655959 -0.0553788 -0.633585 0.0743888 -0.647009 -0.027972 -0.593007 -0.0106314 -0.570939 0.0743888 -0.508292 -0.0419546 -0.615686 0.201399 -0.73007 0.013986 -0.741259 -0.00168189 -0.749928 -0.0195809 -0.763353 0.0833382 0.104748 0.0833382 0.0583221 0.0564898 0.140546 0.0783217 0.12028 0.0811189 0.0475524 -0.0285303 0.015812 -0.027972 0.0223776 -0.345118 -0.124024 -0.0766338 0.0683903 -0.0240556 0.198717 -0.118025 0.23004 -0.195215 0.14558 -0.254505 0.117612 -0.274641 0.0941201 -0.288065 0.0773398 -0.254545 0.117483 -0.290303 0.0751024 -0.264573 0.106426 -0.295896 0.0639155 -0.330576 -0.044597 -0.336169 -0.0513091 -0.331694 -0.0513091 -0.333932 -0.065852 -0.339525 -0.0915818 -0.347356 -0.140804 -0.344056 -0.109091 -0.350712 -0.167652 -0.352949 -0.174365 -0.354068 -0.178839 -0.354068 -0.207925 -0.354068 -0.222468 -0.514685 -0.173427 -0.350712 -0.223587 -0.354068 -0.235892 -0.356305 -0.275046 -0.356305 -0.277284 -0.356305 -0.288471 -0.356305 -0.294064 -0.357424 -0.332099 -0.357424 -0.341049 -0.36078 -0.364541 -0.358042 -0.386014 -0.359661 -0.410407 -0.358543 -0.386915 0.0111888 -0.525874 -0.358042 -0.439161 -0.36078 -0.422713 -0.358543 -0.376847 -0.356305 -0.309726 -0.354068 -0.252673 -0.356305 -0.364541 -0.352949 -0.264978 -0.475524 -0.0363636 -0.481119 -0.0615385 -0.317151 0.00126913 -0.316033 0.0292363 -0.314914 0.0348297 -0.746853 -0.815385 -0.243357 -0.875524 -0.34965 0.181818 -0.316084 0.198601 -0.344056 0.187413 -0.383217 0.170629 -0.324476 0.567832 -0.786014 0.503497 1.92168 -0.732867 1.78182 -0.844755 1.96084 -0.822378 -0.111888 0.232168 1.88252 -0.671329 1.82657 -0.576224 1.68112 -0.693706 -0.254545 0.226573 -0.304895 0.206993 1.11608 0.162238 0.934266 0.483916 0.721678 0.173427 2.66853 0.482517 -0.867133 -0.486713 -0.237762 0.234965 -0.220979 0.142657 -0.288112 0.204196 -0.307692 0.0587413 -0.391608 0.148252 -0.402797 0.131469 -0.509091 -0.142657 -0.439161 0.0531469 -0.436364 0.0727273 -0.430769 0.0895105 -0.417833 0.118172 -0.453147 0.0111888 -0.33007 -0.0251748 -0.0839161 0.0783217 -0.106294 0.117483 -0.472727 -0.0195804 -0.497902 -0.106294 -0.348475 -0.10165 -0.354068 -0.188907 -0.34965 -0.215385 0.111888 -0.402797 0.165035 -0.262937 0.313287 -0.774825 0.629371 -0.861538 0.0475524 -0.509091 -0.0553788 0.216616 -0.0363636 0.212587 -0.153823 0.234515 -0.187413 0.234965 -0.238843 0.23899 0.478322 0.243357 0.45035 0.212587 0.537063 0.234965 -0.065447 0.0527287 -0.0643357 0.0475524 0.441958 0.243357 0.363636 0.226573 0.38042 0.223776 0.257343 0.226573 0.237762 0.20979 0.288112 0.226573 0.752448 -0.455944 0.626573 -0.478322 0.752448 -0.486713 0.338462 -0.640559 -0.0520228 0.0359484 0.142657 -0.525874 0.114685 -0.458741 0.0923077 -0.525874 -0.0184622 0.0102186 0.165035 -0.218182 0.013986 0.0027972 0.167832 -0.159441 0.338462 -0.212587 0.0710327 0.0214055 0.0699301 0.0167832 0.374825 -0.665734 0.20979 0.12028 0.447552 -0.0475524 0.486713 -0.0307692 0.332867 0.229371 0.223776 0.165035 0.201399 0.0895105 0.416783 -0.0755245 0.19021 0.041958 0.179021 -0.0195804 0.377622 -0.134266 0.402797 -0.100699 0.176224 -0.100699 0.360839 -0.167832 0.048659 -0.00320561 0.486713 -0.455944 0.475524 -0.358042 0.458741 -0.386014 0.0453029 -0.0043243 0.595804 -0.467133 0.593007 -0.335664 0.548252 -0.464336 0.145455 -0.467133 0.503497 -0.338462 0.553846 -0.33007 0.45035 -0.422378 0.153846 -0.344056 0.41958 -0.682517 0.455944 -0.783217 0.503497 -0.758042 0.304895 -0.595804 0.251748 -0.758042 0.173427 -0.696503 0.391608 -0.786014 0.0447552 -0.704895 0.0296413 -0.727555 -0.0251748 -0.755245 0.629371 -0.576224 0.640559 -0.52028 0.752448 -0.497902 0.59021 -0.741259 0.579021 -0.629371 0.682517 -0.665734 0.632168 -0.727273 0.892308 -0.844755 0.67972 -0.358042 0.931469 -0.71049 0.948252 -0.620979 0.718881 -0.579021 0.316084 -0.304895 0.981818 -0.537063 0.981818 -0.475524 0.324476 -0.254545 0.744056 -0.405594 0.760839 0.0251748 0.704895 -0.0447552 0.755245 -0.0195804 1.01259 -0.447552 1.03776 -0.218182 0.302098 -0.453147 0.307692 -0.374825 0.293706 -0.531469 0.153846 -0.651748 0.142657 -0.587413 0.643357 -0.041958 0.537063 -0.027972 0.758042 0.0979021 1.06014 -0.111888 1.11608 -0.509091 0.637762 0.220979 1.06573 -0.0447552 1.08252 0.100699 -0.172841 0.152292 -0.162238 0.153846 -0.239962 0.128799 -0.0889394 0.0941201 -0.107957 0.11985 -0.141518 0.152292 -0.45035 0.0223776 -0.189621 0.234515 -0.302608 0.0504913 -0.324982 0.00238782 -0.341762 -0.0994126 -0.357424 -0.326506 -0.358042 -0.316084 0.0430656 -0.503818 0.0609645 -0.503818 0.0564898 -0.678333 0.0615385 -0.682517 -0.358543 -0.396983 -0.355187 -0.332099 0.0223776 -0.511888 -0.00168189 -0.55304 0.103497 -0.53986 0.105712 -0.566464 1.14406 0.234965 1.22797 0.234965 1.07692 -0.760839 1.08811 -0.671329 2.05035 0.33007 2.11748 0.341259 2.08392 0.341259 0.987413 -0.883916 0.942657 -0.883916 1.50769 0.201399 1.45734 0.240559 1.41818 0.229371 1.04895 -0.844755 1.00979 -0.878322 1.32308 0.0951049 1.37343 0.229371 1.33427 0.229371 1.13287 -0.41958 1.16084 -0.27972 1.16643 -0.195804 1.07133 0.0447552 1.17203 -0.145455 1.2 -0.0559441 1.22797 0.0671329 1.25035 0.0895105 1.43497 0.0559441 1.99441 0.262937 2.01678 0.318881 1.64196 -0.0783217 1.99441 0.0783217 1.55804 0.0783217 1.49091 -0.0447552 1.52448 -0.13986 1.74266 -0.358042 1.77622 -0.425175 1.96084 -0.346853 1.66993 -0.167832 1.96643 -0.257343 1.6979 -0.257343 1.55804 -0.262937 1.58042 -0.402797 1.96643 -0.206993 1.5972 -0.475524 1.7986 -0.486713 1.97203 -0.553846 2.45315 -0.766434 2.44196 -0.945455 2.5986 -0.744056 1.07133 -0.8 1.96643 -0.447552 2.06154 -0.85035 1.98881 -0.867133 2 -0.900699 1.61958 -0.542657 2.13427 -0.93986 2.25175 -0.74965 2.19021 -0.721678 1.74266 -0.805594 1.98322 -0.123077 1.89371 -0.917483 1.94965 -0.923077 2.00559 0.173427 2.92308 -1.01958 1.7035 -0.755245 1.86573 -0.911888 1.09371 -0.615385 1.1049 -0.553846 1.44615 -0.458741 1.41259 -0.453147 1.31189 -0.430769 1.22797 -0.436364 1.51329 -0.285315 1.21119 -0.290909 1.22797 -0.27972 1.26713 -0.27972 1.32308 -0.27972 1.18881 -0.430769 1.41818 -0.285315 1.37343 -0.285315 1.57483 -0.46993 1.96084 -0.923077 2.0951 -0.917483 1.45734 -0.285315 1.48531 -0.285315 1.5021 -0.285315 1.48531 -0.458741 1.55804 -0.46993 1.58042 -0.46993 2.82238 -0.71049 2.75524 -0.934266 2.83357 -0.934266 2.23497 0.246154 2.21818 0.302098 2.1958 0.318881 2.13427 -0.525874 2.12867 -0.408392 2.02797 -0.732867 2 0.0167832 1.98881 -0.0447552 1.98881 -0.615385 2.15664 -0.682517 2.3972 -0.766434 2.42517 -0.766434 2.27413 -0.951049 2.32448 -0.766434 2.73287 -0.704895 2.68811 -0.716084 2.92867 -0.74965 2.8951 -0.923077 2.98462 -0.816783 2.96783 -0.917483 2.99021 -0.900699 2.66573 -0.93986 2.13427 -0.358042 2.14545 -0.285315 2.15105 -0.240559 2.15105 -0.19021 2.19021 -0.0783217 2.1958 -0.0447552 2.17343 -0.106294 2.25734 0.123077 2.24056 0.0671329 2.22937 0.0447552 2.15664 -0.13986 2.25175 0.184615 -64 65 1 -90 1 66 -1 90 64 -1 65 186 -1 186 66 -65 198 186 -90 291 64 -87 61 62 -62 83 87 -64 89 193 -64 291 89 -193 87 64 -83 64 87 -83 63 64 -211 85 82 -82 87 211 -82 61 87 -61 81 62 -291 90 174 -28 138 2 -16 2 3 -2 30 28 -30 2 11 -2 138 139 -3 139 4 -2 139 3 -139 5 4 -3 12 16 -16 11 2 -16 15 11 -3 4 12 -139 6 5 -4 17 12 -4 5 17 -5 14 17 -139 7 6 -5 6 14 -13 6 7 -7 139 9 -139 8 9 -139 18 8 -6 13 14 -59 8 18 -9 8 13 -20 8 59 -13 8 20 -18 139 19 -139 80 57 -80 182 247 -139 182 80 -57 60 139 -139 10 19 -60 10 139 -13 7 9 -10 59 19 -15 30 11 -15 29 30 -12 17 16 -16 17 308 -17 13 20 -17 14 13 -20 73 17 -69 15 16 -16 308 69 -69 35 34 -125 126 55 -55 35 125 -69 125 35 -308 125 69 -73 308 17 -59 18 19 -59 70 20 -70 22 76 -70 23 22 -76 73 70 -20 70 73 -303 76 21 -303 21 71 -71 250 303 -21 76 22 -71 251 250 -71 78 251 -71 79 78 -71 252 79 -71 22 252 -252 23 58 -252 22 23 -23 59 58 -310 279 24 -310 24 309 -24 25 309 -24 279 25 -279 206 25 -279 310 26 -309 206 208 -309 25 206 -27 279 26 -308 26 310 -27 26 74 -74 26 308 -308 310 184 -27 278 279 -27 74 72 -278 27 72 -278 304 248 -278 72 304 -310 208 184 -32 138 28 -29 28 30 -28 29 32 -29 69 32 -32 34 33 -69 34 32 -36 138 31 -35 31 33 -35 56 36 -36 31 35 -31 138 32 -31 32 33 -36 37 138 -33 34 35 -36 56 37 -38 138 37 -37 55 38 -37 56 55 -55 53 38 -39 138 38 -38 53 39 -39 54 40 -39 52 54 -53 52 39 -40 138 39 -54 41 40 -54 126 41 -42 40 41 -40 42 159 -159 138 40 -127 51 42 -42 41 127 -126 127 41 -51 127 123 -42 51 159 -305 124 50 -50 123 305 -50 51 123 -112 159 43 -115 43 44 -43 111 112 -111 43 114 -43 130 114 -43 115 130 -43 159 44 -44 116 115 -116 45 117 -44 45 116 -45 118 117 -45 300 118 -46 119 299 -299 300 46 -45 46 300 -111 110 112 -44 159 45 -48 121 120 -120 119 48 -46 48 119 -46 47 48 -48 49 121 -159 46 45 -46 159 47 -47 159 48 -124 121 50 -121 49 50 -48 159 49 -50 49 159 -50 159 51 -126 52 53 -126 53 55 -54 52 126 -55 56 35 -80 252 57 -57 58 60 -58 59 10 -60 58 10 -222 217 81 -222 81 61 -62 84 83 -83 221 199 -63 65 64 -199 198 65 -83 199 63 -66 186 90 -174 90 292 -67 292 68 -91 68 149 -68 292 185 -68 185 149 -149 187 91 -67 68 293 -149 144 187 -289 187 188 -92 288 295 -161 295 160 -153 160 189 -154 189 144 -69 29 15 -59 23 70 -21 22 71 -73 72 74 -73 74 308 -307 184 301 -307 301 180 -75 207 302 -75 302 184 -208 207 75 -208 75 184 -76 303 73 -77 248 251 -77 251 78 -78 79 80 -79 252 80 -78 80 247 -145 169 170 -164 170 165 -81 84 62 -224 61 82 -83 84 221 -224 82 85 -211 230 214 -211 214 85 -215 214 230 -215 230 225 -230 211 234 -225 230 228 -86 105 209 -87 209 211 -87 205 86 -87 86 209 -87 193 205 -88 86 104 -89 194 193 -173 296 89 -174 173 291 -90 185 292 -91 187 293 -68 91 293 -92 174 292 -295 288 188 -92 292 288 -290 92 161 -93 96 290 -93 290 162 -140 95 94 -140 94 98 -96 98 290 -141 93 162 -94 95 173 -93 98 96 -97 99 95 -98 94 173 -140 164 97 -140 97 95 -163 296 99 -95 99 173 -137 136 296 -99 296 173 -135 296 136 -135 136 297 -194 89 296 -100 135 172 -172 101 100 -135 100 194 -100 101 102 -100 102 194 -101 177 103 -102 103 205 -103 177 104 -103 104 86 -104 177 298 -104 298 88 -105 86 88 -177 88 106 -107 209 105 -177 105 88 -108 178 107 -177 176 105 -109 178 108 -105 176 107 -110 179 178 -112 178 109 -111 179 110 -112 110 178 -114 113 111 -179 111 113 -114 130 113 -130 115 132 -115 116 132 -116 117 132 -117 118 132 -300 306 129 -118 129 132 -119 306 299 -120 306 119 -121 131 120 -122 125 131 -120 131 306 -122 131 128 -124 128 121 -128 124 122 -123 126 305 -124 305 122 -126 125 305 -126 123 127 -128 131 121 -129 306 180 -130 132 113 -131 307 306 -132 129 180 -300 129 118 -166 112 109 -107 176 108 -106 298 177 -176 177 134 -133 134 177 -171 101 172 -136 167 297 -135 297 172 -163 169 137 -136 137 167 -138 0 139 -140 141 142 -143 144 145 -145 144 0 -146 147 148 -149 185 144 -150 151 152 -153 189 154 -155 156 157 -158 144 156 -159 145 0 -160 153 161 -142 154 144 -141 162 154 -142 141 154 -141 140 98 -143 142 144 -163 164 165 -143 140 142 -143 164 140 -159 166 145 -97 164 163 -145 170 143 -167 137 168 -143 170 164 -137 169 168 -170 169 165 -171 172 297 -145 168 169 -92 173 174 -145 175 168 -108 176 166 -168 294 167 -177 101 133 -168 175 294 -175 133 171 -294 175 171 -145 176 175 -175 176 133 -133 176 134 -145 166 176 -159 112 166 -209 179 210 -178 179 107 -179 180 181 -182 139 183 -103 86 205 -132 180 113 -73 303 72 -302 301 184 -185 186 144 -187 144 188 -189 160 295 -188 144 189 -162 153 154 -163 165 169 -290 173 92 -190 191 192 -193 194 205 -98 173 290 -195 196 197 -198 199 200 -186 185 90 -201 202 203 -77 247 204 -307 131 125 -205 194 102 -206 207 208 -209 210 211 -212 210 213 -214 215 225 -303 250 304 -204 182 216 -196 217 197 -218 219 191 -198 200 220 -190 195 191 -217 220 221 -195 220 196 -220 200 221 -198 220 144 -200 199 221 -186 198 144 -217 196 220 -222 223 218 -224 225 223 -63 199 65 -225 226 227 -217 221 84 -228 212 229 -85 225 224 -224 222 61 -230 234 228 -231 232 233 -234 211 212 -235 236 237 -207 238 180 -239 237 240 -239 232 237 -210 179 181 -233 241 231 -181 180 242 -243 244 245 -242 180 238 -204 246 77 -238 207 206 -247 182 204 -304 250 248 -249 216 182 -250 251 248 -57 252 58 -77 78 247 -249 182 183 -253 254 235 -244 249 183 -203 254 255 -245 244 183 -232 231 237 -256 245 183 -253 257 258 -259 256 183 -237 236 240 -260 258 259 -235 261 236 -183 260 259 -235 202 261 -260 262 258 -227 239 240 -262 263 264 -242 265 181 -266 267 255 -265 268 181 -255 267 203 -226 228 229 -267 269 201 -270 271 272 -213 210 268 -269 273 274 -271 236 261 -217 218 197 -242 275 276 -279 246 277 -213 268 232 -275 238 277 -213 232 239 -256 259 257 -216 243 231 -257 243 245 -276 275 241 -243 249 244 -204 216 231 -254 264 255 -257 237 231 -257 245 256 -201 269 202 -202 269 261 -203 202 254 -235 237 253 -235 254 202 -253 264 254 -259 258 257 -258 264 253 -237 257 253 -231 243 257 -241 277 231 -216 249 243 -246 278 248 -77 246 248 -246 204 231 -246 279 278 -277 246 231 -277 206 279 -275 277 241 -238 206 277 -233 276 241 -242 238 275 -232 265 233 -265 242 276 -210 181 268 -276 233 265 -229 212 213 -265 232 268 -229 213 239 -228 226 225 -236 280 240 -225 227 223 -223 222 224 -229 239 226 -218 217 222 -226 239 227 -240 281 227 -218 191 197 -227 218 223 -219 281 191 -227 219 218 -157 280 282 -227 281 219 -261 269 274 -240 280 281 -280 271 270 -236 271 280 -195 156 144 -261 272 271 -272 274 283 -280 270 282 -284 273 266 -285 280 157 -270 272 286 -281 280 285 -282 287 157 -281 285 192 -157 156 285 -281 192 191 -285 156 192 -197 191 195 -192 156 190 -156 195 190 -144 220 195 -81 217 84 -225 85 214 -212 228 234 -210 212 211 -163 99 97 -288 289 188 -290 161 162 -291 173 89 -288 67 289 -187 289 293 -161 153 162 -292 67 288 -92 295 161 -293 289 67 -93 141 98 -294 171 297 -295 188 189 -133 101 171 -163 137 296 -108 166 109 -296 135 194 -103 102 101 -297 167 294 -298 106 88 -107 179 209 -299 306 300 -180 179 113 -301 302 207 -303 304 72 -305 125 122 -306 307 180 -125 308 184 -309 208 310 -155 311 156 -312 156 311 -313 314 262 -315 316 317 -318 260 319 -320 321 322 -318 323 262 -264 258 262 -255 263 266 -255 264 263 -267 266 273 -324 323 318 -269 267 273 -201 203 267 -325 326 327 -272 261 274 -328 329 274 -286 272 283 -274 330 283 -331 270 286 -283 332 286 -282 270 331 -157 287 155 -282 331 287 -331 333 334 -312 311 155 -287 331 334 -327 156 312 -156 327 321 -334 155 287 -327 326 321 -332 333 286 -326 322 321 -335 327 312 -325 336 322 -337 338 320 -322 336 320 -339 340 341 -336 342 341 -337 320 341 -342 343 339 -344 345 346 -339 343 347 -344 348 349 -350 351 349 -349 352 347 -351 353 344 -354 151 355 -344 353 345 -356 357 358 -260 318 262 -150 355 151 -323 359 262 -354 360 345 -183 319 260 -361 362 363 -345 353 364 -365 366 367 -146 150 368 -369 339 347 -148 370 371 -372 337 341 -139 319 183 -139 373 319 -374 150 152 -319 365 318 -375 324 318 -364 151 354 -313 262 359 -148 147 375 -314 263 262 -146 368 147 -376 263 314 -364 152 151 -266 263 376 -345 364 354 -266 376 377 -378 313 152 -266 377 284 -379 314 313 -273 284 328 -379 376 314 -273 328 274 -380 381 377 -274 329 330 -382 351 350 -283 330 332 -343 350 347 -329 383 384 -333 331 286 -342 336 333 -334 335 155 -332 330 385 -335 312 155 -327 335 325 -334 333 325 -326 325 322 -335 334 325 -320 336 341 -325 333 336 -330 329 384 -339 341 342 -333 332 386 -387 328 284 -349 351 344 -380 377 376 -388 389 379 -313 359 152 -390 364 353 -150 374 368 -378 152 364 -359 323 374 -359 374 152 -323 324 147 -323 368 374 -148 375 370 -323 147 368 -324 375 147 -370 375 318 -148 371 362 -371 370 318 -371 391 362 -373 365 319 -391 363 362 -318 365 371 -365 392 391 -347 350 349 -384 385 330 -386 342 333 -329 328 383 -328 387 383 -385 386 332 -389 342 386 -384 383 385 -343 342 389 -381 383 387 -343 389 388 -381 385 383 -343 388 393 -389 386 380 -343 393 394 -388 379 393 -343 394 395 -393 379 378 -343 395 350 -394 396 395 -395 382 350 -395 351 382 -377 381 284 -381 380 385 -379 380 376 -387 284 381 -396 394 393 -378 396 393 -396 378 364 -379 313 378 -351 396 397 -351 395 396 -390 397 364 -396 364 397 -398 390 353 -351 397 390 -351 398 353 -351 390 398 -389 380 379 -386 385 380 -399 400 401 -402 403 404 -365 361 392 -405 406 360 -341 340 372 -407 146 148 -355 405 360 -408 339 409 -347 352 369 -150 146 410 -367 411 407 -352 349 348 -360 346 345 -348 344 346 -412 357 413 -411 410 407 -354 355 360 -148 362 361 -150 410 355 -146 407 410 -391 392 363 -414 415 366 -148 361 407 -399 416 400 -363 392 361 -416 417 400 -371 365 391 -399 401 418 -0 373 139 -418 419 420 -373 357 414 -401 419 418 -365 373 414 -421 422 420 -357 373 423 -421 420 419 -423 373 400 -424 346 406 -373 419 401 -425 346 424 -373 421 419 -348 425 426 -373 422 421 -426 427 352 -0 420 422 -428 429 430 -158 431 432 -433 432 372 -411 367 366 -340 408 433 -423 400 417 -369 352 427 -423 417 358 -348 346 425 -423 358 357 -417 416 426 -357 356 413 -358 417 425 -415 357 412 -356 358 424 -414 357 415 -360 406 346 -365 414 366 -412 413 405 -361 365 367 -415 412 405 -361 367 407 -366 415 405 -355 410 405 -405 410 411 -366 405 411 -413 356 405 -356 406 405 -352 348 426 -356 424 406 -434 369 427 -358 425 424 -416 399 432 -417 426 425 -409 434 430 -416 428 426 -429 409 430 -426 428 427 -408 409 429 -427 430 434 -399 418 158 -427 428 430 -340 433 372 -416 432 428 -428 433 429 -432 433 428 -432 431 372 -158 432 399 -431 435 372 -420 158 418 -435 402 372 -158 435 431 -402 404 316 -158 402 435 -372 402 316 -158 403 402 -372 316 315 -158 404 403 -338 156 321 -158 316 404 -158 156 317 -315 317 156 -316 158 317 -338 315 156 -337 372 315 -320 338 321 -337 315 338 -409 369 434 -409 339 369 -433 408 429 -340 339 408 -125 184 307 -301 207 180 -0 158 420 -0 144 158 -400 373 401 -0 422 373 -159 0 138 -3 2 187 -4 190 2 -6 0 1 -5 4 0 -190 1 3 -410 3 188 -10 2 18 -17 8 16 -12 7 185 -239 11 10 -553 9 6 -12 9 237 -11 8 13 -187 12 189 -226 15 228 -234 14 16 -7 15 224 -223 7 184 -191 241 6 -23 21 107 -25 27 28 -108 19 22 -28 55 21 -328 25 19 -26 30 25 -24 20 23 -33 24 31 -57 20 30 -22 20 29 -55 28 62 -32 27 24 -36 26 35 -57 30 33 -34 32 26 -60 33 36 -37 31 38 -41 34 31 -35 53 41 -39 53 35 -43 38 40 -42 39 46 -60 36 37 -40 70 44 -45 53 39 -42 71 45 -44 59 43 -51 70 40 -179 50 49 -434 220 49 -48 47 373 -52 47 180 -54 46 52 -51 50 182 -38 43 37 -70 51 181 -22 29 56 -108 55 204 -58 27 32 -69 63 57 -45 61 60 -41 59 34 -69 59 75 -29 63 204 -68 62 58 -120 112 67 -176 66 310 -67 65 178 -66 64 68 -67 63 577 -58 61 208 -46 54 42 -75 44 205 -79 74 73 -86 72 205 -75 72 215 -74 61 71 -79 77 215 -206 78 76 -399 77 80 -72 206 76 -437 78 81 -217 80 82 -218 81 83 -219 82 84 -86 83 206 -87 438 86 -73 85 84 -181 85 205 -91 89 93 -90 578 88 -95 89 91 -92 90 88 -95 91 499 -97 96 88 -395 578 95 -92 94 90 -93 98 101 -93 100 99 -99 102 96 -97 208 98 -106 577 97 -497 96 103 -207 103 98 -102 105 101 -435 494 105 -574 104 103 -214 100 578 -19 109 117 -21 56 109 -110 107 108 -112 109 204 -120 118 112 -111 110 64 -117 116 119 -118 120 116 -121 116 178 -114 115 113 -107 118 113 -111 114 117 -122 113 121 -64 114 111 -124 119 115 -119 123 126 -125 122 124 -178 123 121 -127 123 176 -122 127 131 -130 126 125 -132 131 129 -177 128 130 -129 127 175 -126 128 136 -134 128 133 -139 132 177 -132 138 135 -141 136 134 -131 135 867 -141 138 140 -139 137 134 -138 133 311 -311 144 137 -174 135 137 -170 143 309 -308 142 144 -140 143 174 -151 147 369 -151 152 150 -160 145 148 -149 291 147 -293 148 150 -294 149 146 -161 146 145 -295 146 154 -155 296 154 -153 152 161 -297 153 156 -317 155 159 -300 158 164 -159 157 571 -158 156 167 -290 147 289 -167 154 151 -302 163 166 -164 162 301 -163 157 165 -169 164 168 -171 162 172 -159 161 168 -169 165 167 -172 165 168 -171 142 306 -173 170 166 -173 166 169 -172 174 171 -141 144 173 -130 176 177 -125 65 175 -175 133 129 -115 66 124 -438 47 219 -182 50 438 -54 182 87 -181 52 180 -546 184 516 -17 419 183 -225 8 223 -409 189 225 -0 13 414 -5 414 389 -414 13 186 -390 1 4 -242 245 18 -194 197 557 -195 196 244 -242 195 192 -333 193 194 -243 193 198 -244 559 192 -379 196 333 -379 551 555 -246 558 247 -380 339 558 -380 335 339 -381 340 335 -56 62 110 -73 71 87 -84 77 79 -102 208 376 -99 69 207 -377 210 861 -862 576 209 -573 212 213 -377 214 211 -211 214 395 -212 106 213 -376 74 76 -437 217 495 -81 439 216 -219 220 82 -179 218 83 -48 439 218 -354 350 356 -354 345 352 -185 17 546 -16 226 419 -416 186 185 -14 418 224 -229 228 231 -547 14 227 -227 230 398 -232 398 229 -422 420 227 -420 511 230 -281 236 279 -396 15 236 -374 236 237 -233 234 235 -386 235 11 -276 278 279 -386 9 267 -267 553 264 -553 18 357 -194 191 390 -555 244 196 -243 197 193 -191 247 357 -551 562 200 -557 200 245 -558 552 384 -253 250 256 -552 254 249 -255 252 260 -258 343 251 -387 249 256 -250 341 560 -262 258 251 -253 249 560 -262 260 550 -255 387 252 -349 260 347 -257 251 259 -264 550 564 -264 255 257 -265 564 327 -240 262 261 -263 266 566 -324 325 265 -240 566 239 -325 269 270 -271 268 323 -272 566 268 -567 272 269 -394 270 271 -275 567 361 -374 394 567 -277 276 273 -238 374 275 -320 278 275 -569 238 277 -238 282 233 -569 320 282 -233 286 570 -279 280 284 -371 319 285 -286 282 321 -283 565 288 -319 281 284 -371 290 289 -285 318 290 -287 160 292 -287 288 160 -292 148 293 -291 572 289 -314 291 149 -295 314 150 -296 294 152 -297 295 153 -299 296 155 -313 317 571 -316 297 317 -571 157 301 -300 163 304 -304 162 312 -393 305 575 -315 301 302 -312 307 303 -312 170 307 -309 305 306 -310 143 311 -575 307 142 -575 308 65 -140 139 308 -302 306 305 -576 316 298 -375 293 294 -576 304 393 -313 375 299 -299 156 298 -288 565 369 -359 283 286 -277 280 569 -322 367 284 -321 361 367 -269 355 563 -568 266 327 -355 268 266 -353 564 383 -351 324 263 -773 23 867 -342 346 343 -331 350 344 -864 338 330 -648 750 650 -378 198 195 -652 643 630 -203 382 202 -539 601 579 -529 850 864 -331 867 348 -556 201 202 -203 344 342 -382 342 254 -341 340 329 -252 560 329 -340 330 346 -222 383 349 -329 344 347 -259 346 352 -368 338 369 -345 550 259 -352 330 221 -353 360 327 -222 347 350 -356 351 326 -383 222 221 -325 561 323 -353 221 358 -241 245 384 -362 356 365 -368 565 319 -568 351 362 -563 322 273 -364 360 358 -563 364 366 -363 561 362 -366 358 368 -367 363 365 -321 322 366 -359 365 348 -318 348 145 -427 396 570 -570 283 287 -429 427 572 -641 440 49 -235 274 276 -572 314 316 -574 207 215 -209 212 573 -410 333 390 -381 199 198 -201 562 202 -203 562 379 -335 341 556 -354 326 345 -357 248 387 -540 543 404 -394 237 239 -384 253 258 -401 542 406 -409 403 188 -242 190 378 -484 592 482 -434 432 439 -303 861 315 -272 274 386 -213 94 433 -549 234 370 -464 508 549 -230 547 229 -435 574 78 -436 478 434 -467 388 411 -521 519 522 -407 408 389 -542 385 544 -407 416 411 -411 388 545 -409 405 403 -545 410 403 -186 407 389 -408 378 5 -406 405 401 -520 516 514 -513 514 418 -188 187 189 -517 513 511 -225 546 405 -508 461 548 -413 226 547 -184 224 514 -548 232 231 -504 428 445 -549 548 231 -449 485 451 -431 862 433 -449 455 426 -445 425 472 -372 506 370 -492 421 502 -431 457 372 -444 475 477 -424 503 429 -495 392 496 -395 501 424 -400 392 48 -437 104 399 -400 440 493 -216 435 80 -85 180 179 -220 392 217 -373 442 436 -486 485 487 -440 444 477 -479 460 484 -442 446 430 -480 426 421 -444 448 481 -488 489 490 -446 452 473 -512 425 423 -488 452 454 -466 423 453 -450 448 633 -483 451 486 -586 450 629 -425 518 517 -588 586 649 -459 429 505 -460 587 589 -506 457 509 -592 443 458 -417 515 511 -482 592 591 -530 535 527 -506 470 397 -661 525 591 -451 530 528 -519 401 516 -476 505 503 -498 499 497 -509 472 464 -501 500 503 -426 510 470 -488 481 448 -491 478 493 -430 481 491 -500 502 468 -442 430 493 -474 496 400 -588 443 487 -445 491 490 -446 473 475 -483 391 462 -525 453 482 -486 443 391 -490 441 423 -484 453 441 -479 441 489 -447 473 450 -487 447 586 -447 485 480 -475 480 474 -498 428 500 -477 474 436 -104 495 497 -494 216 432 -478 498 432 -101 494 469 -496 492 469 -92 469 501 -492 476 471 -499 471 433 -476 428 507 -471 468 431 -507 421 509 -468 507 457 -459 464 427 -504 505 502 -397 510 417 -470 459 504 -472 515 508 -415 232 461 -526 449 528 -520 413 415 -419 413 412 -517 461 510 -183 412 467 -455 415 515 -524 455 526 -542 467 402 -412 513 522 -540 402 524 -402 520 524 -532 537 534 -521 522 518 -465 594 483 -536 518 512 -463 532 528 -527 512 466 -337 545 544 -463 466 594 -597 596 594 -600 523 527 -589 657 659 -523 539 536 -596 598 463 -534 538 526 -601 523 602 -541 540 536 -541 534 336 -385 521 538 -543 538 539 -404 388 519 -544 385 541 -404 543 529 -406 529 408 -416 223 183 -228 398 418 -420 422 417 -422 396 397 -257 349 261 -199 246 554 -556 250 248 -240 10 241 -559 551 557 -559 243 199 -382 552 339 -554 247 192 -201 248 200 -554 197 555 -343 256 254 -355 568 364 -381 380 246 -323 363 361 -263 261 326 -318 285 359 -270 267 265 -271 273 274 -360 561 324 -280 278 320 -370 281 371 -298 158 300 -292 375 372 -211 862 377 -105 376 399 -303 309 310 -210 313 315 -100 861 68 -106 89 94 -580 336 604 -579 604 606 -649 647 658 -852 851 846 -633 644 629 -611 615 855 -631 629 590 -454 456 489 -653 458 588 -456 587 479 -533 591 458 -585 645 692 -589 465 462 -460 462 391 -609 673 675 -525 531 530 -663 661 708 -531 599 535 -665 531 663 -535 668 600 -610 596 665 -598 602 532 -608 336 537 -605 537 600 -674 605 668 -579 672 580 -603 608 602 -580 612 607 -609 848 606 -601 605 670 -611 607 593 -668 599 681 -584 609 675 -606 672 673 -615 675 678 -855 618 856 -677 584 613 -749 680 860 -680 677 669 -677 640 614 -621 680 713 -757 758 627 -666 638 619 -756 683 758 -683 705 664 -753 705 756 -627 683 741 -630 761 646 -635 620 625 -799 804 801 -585 454 583 -626 334 763 -647 585 690 -757 654 761 -583 452 641 -702 769 762 -687 654 627 -793 809 807 -688 650 754 -621 753 858 -699 698 694 -618 749 854 -633 373 642 -701 641 773 -334 691 688 -703 583 701 -590 697 696 -626 654 652 -631 686 581 -696 694 332 -456 581 651 -695 332 637 -649 660 653 -334 646 689 -651 655 587 -646 632 635 -684 657 653 -686 689 734 -727 533 655 -581 734 660 -682 661 533 -651 658 729 -595 465 659 -727 684 728 -679 597 595 -623 725 726 -671 599 597 -705 621 723 -712 679 708 -598 610 603 -678 707 617 -672 608 676 -706 710 665 -604 670 612 -676 593 612 -678 676 603 -613 611 593 -674 673 670 -617 618 615 -669 613 674 -667 706 663 -617 619 616 -710 707 610 -659 730 709 -625 622 623 -655 729 662 -743 720 715 -691 656 647 -635 739 737 -693 637 643 -652 733 656 -693 691 631 -643 686 690 -696 695 590 -688 690 695 -697 639 648 -650 693 692 -648 692 645 -645 699 694 -700 762 639 -697 703 639 -702 698 771 -644 642 777 -634 700 765 -771 699 644 -765 771 747 -623 624 666 -671 679 712 -669 681 711 -709 667 595 -714 708 682 -681 671 744 -707 718 713 -716 706 667 -711 715 619 -709 730 716 -685 717 713 -712 714 728 -720 719 715 -744 743 711 -731 721 717 -722 717 685 -724 723 719 -734 732 720 -725 666 721 -736 721 731 -664 723 726 -664 725 736 -730 657 662 -744 716 662 -684 660 743 -727 714 682 -719 732 724 -731 722 733 -689 738 732 -656 722 658 -738 740 736 -724 735 726 -738 687 740 -737 735 733 -687 741 742 -737 742 735 -739 625 742 -739 741 740 -729 685 718 -728 718 710 -865 772 768 -847 842 845 -769 704 809 -806 751 817 -832 640 616 -332 767 764 -748 761 813 -858 828 860 -796 638 624 -764 763 637 -760 811 793 -622 818 624 -620 632 806 -620 798 622 -801 808 803 -764 755 814 -751 632 626 -634 767 698 -813 630 754 -760 754 750 -769 702 704 -812 807 805 -811 750 762 -770 745 822 -747 634 765 -795 768 800 -704 700 703 -776 830 745 -642 328 866 -780 839 776 -805 777 779 -774 772 783 -775 807 701 -789 780 787 -781 799 775 -774 785 778 -865 795 779 -806 819 784 -776 865 785 -782 821 798 -780 783 787 -823 818 798 -778 785 866 -796 818 827 -778 866 863 -826 831 834 -836 837 841 -836 832 835 -636 815 755 -859 832 860 -770 797 781 -788 820 753 -802 799 795 -784 786 758 -628 779 797 -825 823 770 -816 759 628 -823 821 797 -759 810 805 -821 819 628 -803 766 775 -782 757 748 -766 636 777 -816 810 759 -636 811 747 -808 812 803 -755 767 809 -810 815 766 -814 751 763 -760 815 813 -814 793 812 -817 808 801 -748 816 819 -786 788 756 -782 817 804 -796 829 857 -784 804 802 -837 833 768 -786 802 800 -829 826 857 -827 800 833 -824 790 828 -831 788 825 -826 859 752 -824 820 831 -839 837 772 -790 829 827 -792 749 794 -835 825 822 -859 790 835 -834 833 792 -838 792 791 -822 830 791 -840 836 841 -830 774 863 -844 838 843 -838 791 843 -849 844 746 -840 841 845 -842 846 840 -746 843 847 -582 854 844 -746 845 849 -607 855 853 -842 847 852 -851 852 337 -850 853 582 -850 582 849 -851 848 856 -846 856 640 -848 584 614 -853 614 854 -820 824 858 -638 857 752 -828 834 794 -752 794 616 -209 393 577 -424 210 573 -839 789 864 -337 863 331 -783 745 781 -787 773 789 -328 136 338 - diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.C b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.C deleted file mode 100644 index d40919ba36f..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.C +++ /dev/null @@ -1,372 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2002 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : delaunay_triangulation_2.C -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - - -// if QT is not installed, a message will be issued in runtime. -#ifndef CGAL_USE_QT -#include - - -int main(int, char*) -{ - - std::cout << "Sorry, this demo needs QT..."; - std::cout << std::endl; - - return 0; -} - -#else - -//Application headers -#include "cgal_types.h" -#include "delaunay_triangulation_2_toolbar.h" -#include "delaunay_triangulation_2_toolbar_layers.h" - -//Qt_widget headers -#include -#include -#include - -//STL headers -#include -#include -#include -#include - -//Qt headers -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - - -const QString my_title_string("Delaunay Triangulation Demo with" - " CGAL Qt_widget"); -Delaunay tr1; -int current_state; -Coord_type xmin, ymin, xmax, ymax; - -class Window : public QMainWindow -{ - Q_OBJECT -public: - Window(int w, int h) - { - widget = new CGAL::Qt_widget(this); - setCentralWidget(widget); - - connect(widget, SIGNAL(s_mouseReleaseEvent(QMouseEvent*)), this, - SLOT(insert_after_show_conflicts(QMouseEvent*))); - - //create a timer for checking if somthing changed - QTimer *timer = new QTimer( this ); - connect( timer, SIGNAL(timeout()), - this, SLOT(timerDone()) ); - timer->start( 200, FALSE ); - - // file menu - QPopupMenu * file = new QPopupMenu( this ); - menuBar()->insertItem( "&File", file ); - file->insertItem("&New", this, SLOT(new_instance()), CTRL+Key_N); - file->insertItem("New &Window", this, SLOT(new_window()), CTRL+Key_W); - file->insertSeparator(); - file->insertItem("&Load Triangulation", this, - SLOT(load_triangulation()), CTRL+Key_L); - file->insertItem("&Save Triangulation", this, - SLOT(save_triangulation()), CTRL+Key_S); - file->insertSeparator(); - file->insertItem("Print", widget, SLOT(print_to_ps()), CTRL+Key_P); - file->insertSeparator(); - file->insertItem( "&Close", this, SLOT(close()), CTRL+Key_X ); - file->insertItem( "&Quit", qApp, - SLOT( closeAllWindows() ), CTRL+Key_Q ); - - - // edit menu - QPopupMenu * edit = new QPopupMenu( this ); - menuBar()->insertItem( "&Edit", edit ); - edit->insertItem("&Generate_triangulation", this, - SLOT(generate_triangulation()), CTRL+Key_G ); - - // help menu - QPopupMenu * help = new QPopupMenu( this ); - menuBar()->insertItem( "&Help", help ); - help->insertItem("How To", this, SLOT(howto()), Key_F1); - help->insertSeparator(); - help->insertItem("&About", this, SLOT(about()), CTRL+Key_A ); - help->insertItem("About &Qt", this, SLOT(aboutQt()) ); - - //the standard toolbar - stoolbar = new CGAL::Qt_widget_standard_toolbar (widget, this, "ST"); - //the new tools toolbar - newtoolbar = new Tools_toolbar(widget, this, &tr1); - //the new scenes toolbar - vtoolbar = new Layers_toolbar(widget, this, &tr1); - - *widget << CGAL::BackgroundColor (CGAL::BLACK); - *widget << CGAL::LineWidth(2); - - resize(w,h); - widget->set_window(-1, 1, -1, 1); - - widget->setMouseTracking(TRUE); - - //connect the widget to the main function that receives the objects - connect(widget, SIGNAL(new_cgal_object(CGAL::Object)), - this, SLOT(get_new_object(CGAL::Object))); - - //application flag stuff - got_point = FALSE; - old_state = 0; - }; - - void init_coordinates(){ - xmin = -1; xmax = 1; - ymin = -1; ymax = 1; - } - -private slots: - void new_instance(){ - widget->lock(); - widget->clear(); - stoolbar->clear_history(); - tr1.clear(); - // set the Visible Area to the Interval - widget->set_window(-1.1, 1.1, -1.1, 1.1); - widget->unlock(); - something_changed(); - } - - void get_new_object(CGAL::Object obj){ - Point p; - Segment s; - Line l; - if (CGAL::assign(l,obj)) - { - if (tr1.dimension()<2) return; - widget->redraw(); - widget->lock(); - Line_face_circulator lfc = - tr1.line_walk(l.point(1), l.point(2)), done(lfc); - if(lfc == (CGAL_NULL_TYPE) NULL){ - } else { - *widget << CGAL::BLUE; - *widget << CGAL::FillColor(CGAL::WHITE); - do{ - if(! tr1.is_infinite( lfc )) - *widget << tr1.triangle( lfc ); - }while(++lfc != done); - } - *widget << CGAL::GREEN << l ; - *widget << CGAL::noFill; - widget->unlock(); - } else if(CGAL::assign(p,obj)) { - got_point = TRUE; - show_conflicts(p); - tr1.insert(p); - } - } - - void insert_after_show_conflicts(QMouseEvent*){ - if(got_point) - { - got_point = FALSE; - something_changed(); - } - } - - void howto(){ - QString home; - home = "help/index.html"; - HelpWindow *help = new HelpWindow(home, ".", 0, "help viewer"); - help->resize(400, 400); - help->setCaption("Demo HowTo"); - help->show(); - } - - void about(){ - QMessageBox::about( this, my_title_string, - "This is a demo for Delaunay Triangulation 2,\n" - "Copyright CGAL @2001"); - } - - void aboutQt(){ - QMessageBox::aboutQt( this, my_title_string ); - } - - void new_window(){ - Window *ed = new Window(500, 500); - ed->setCaption("Layer"); - if(tr1.number_of_vertices() > 1){ - Vertex_iterator it = tr1.vertices_begin(); - xmin = xmax = (*it).point().x(); - ymin = ymax = (*it).point().y(); - 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++; - } - } - ed->stoolbar->clear_history(); - ed->widget->set_window(xmin, xmax, ymin, ymax); - ed->show(); - something_changed(); - } - - void timerDone(){ - if(old_state!=current_state){ - widget->redraw(); - old_state = current_state; - } - } - - void generate_triangulation(){ - tr1.clear(); - CGAL::Random_points_in_disc_2 g(0.5); - for(int count=0; count<200; count++) - tr1.insert(*g++); - Vertex_iterator it = tr1.vertices_begin(); - xmin = xmax = (*it).point().x(); - ymin = ymax = (*it).point().y(); - 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++; - } - stoolbar->clear_history(); - widget->set_window(xmin, xmax, ymin, ymax); - something_changed(); - } - - void save_triangulation() - { - QString fileName = - QFileDialog::getSaveFileName( "triangulation.cgal", - "Cgal files (*.cgal)", this ); - if ( !fileName.isNull() ) { - // got a file name - std::ofstream out(fileName); - CGAL::set_ascii_mode(out); - out << tr1 << std::endl; - } - } - - void load_triangulation() - { - QString s( QFileDialog::getOpenFileName( QString::null, - "CGAL files (*.cgal)", this ) ); - if ( s.isEmpty() ) - return; - tr1.clear(); - std::ifstream in(s); - CGAL::set_ascii_mode(in); - in >> tr1; - - Vertex_iterator it = tr1.vertices_begin(); - xmin = xmax = (*it).point().x(); - ymin = ymax = (*it).point().y(); - 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++; - } - stoolbar->clear_history(); - widget->set_window(xmin, xmax, ymin, ymax); - something_changed(); - } - -private: - void show_conflicts(Point p) - { - if(tr1.dimension()<2) return; - std::list conflict_faces; - std::list hole_bd; - tr1.get_conflicts_and_boundary(p, - std::back_inserter(conflict_faces), - std::back_inserter(hole_bd)); - std::list::iterator fit = conflict_faces.begin(); - std::list::iterator eit = hole_bd.begin(); - *widget << CGAL::WHITE ; - for( ; fit != conflict_faces.end(); fit++) { - if(! tr1.is_infinite( *fit)) - *widget << tr1.triangle( *fit ); - } - *widget << CGAL::YELLOW; - for( ; eit != hole_bd.end(); eit++) { - if(! tr1.is_infinite( *eit )) - *widget << tr1.segment( *eit ); - } - } - inline void something_changed(){current_state++;}; - - - CGAL::Qt_widget *widget; - CGAL::Qt_widget_standard_toolbar *stoolbar; - Tools_toolbar *newtoolbar; - Layers_toolbar *vtoolbar; - bool got_point; - //if a CGAL::Point is received should be true - int old_state; -};//endclass - -#include "delaunay_triangulation_2.moc" - -int -main(int argc, char **argv) -{ - QApplication app( argc, argv ); - Window W(600,600); // physical widgetdow size - app.setMainWidget(&W); - W.setCaption(my_title_string); - W.setMouseTracking(TRUE); - W.show(); - W.init_coordinates(); - current_state = -1; - return app.exec(); -} - -#endif // CGAL_USE_QT diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.vcproj b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.vcproj deleted file mode 100644 index b7064d3d6e2..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2.vcproj +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_layers.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_layers.h deleted file mode 100644 index 410a4e6994b..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_layers.h +++ /dev/null @@ -1,221 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : demo/Qt_widget/Triangulation_2/triangulation_2_layers.h -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// -// ============================================================================ - -#ifndef CGAL_TRIANGULATION_2_LAYERS_H -#define CGAL_TRIANGULATION_2_LAYERS_H - -#include -#include -#include -#include -#include - - -template -class Qt_layer_show_triangulation : public CGAL::Qt_widget_layer -{ -public: - - Qt_layer_show_triangulation(T &t) : tr(t){}; - - - void draw() - { - *widget << CGAL::BLUE; - *widget << tr; - }; - -private: - T &tr; -};//end class - -template -class Qt_layer_show_voronoi : public CGAL::Qt_widget_layer -{ -public: - Qt_layer_show_voronoi(T &t1) : tr(t1){}; - - void draw() - { - *widget << CGAL::RED ; - tr.draw_dual(*widget); - }; - -private: - T &tr; -};//end class - -template -class Qt_layer_show_points : public CGAL::Qt_widget_layer { -public: - typedef typename T::Point Point; - typedef typename T::Segment Segment; - typedef typename T::Vertex Vertex; - typedef typename T::Vertex_iterator Vertex_iterator; - - Qt_layer_show_points(T &t) : tr(t){}; - - void draw() - { - Vertex_iterator it = tr.vertices_begin(), - beyond = tr.vertices_end(); - *widget << CGAL::GREEN << CGAL::PointSize (3) - << CGAL::PointStyle (CGAL::DISC); - while(it != beyond) { - *widget << (*it).point(); - ++it; - } - }; -private: - T &tr; - -};//end class - -template -class Qt_layer_nearest_vertex : public CGAL::Qt_widget_layer -{ -public: - typedef typename T::Point Point; - typedef typename T::Segment Segment; - typedef typename T::Face_handle Face_handle; - typedef typename T::Vertex_handle Vertex_handle; - typedef typename T::Geom_traits::FT FT; - - Qt_layer_nearest_vertex(T &t) : tr(t), first_time(TRUE) {}; - - void draw(){first_time = TRUE;}; - void mouseMoveEvent(QMouseEvent *e) - { - if (tr.dimension()<1) return; - FT x, y; - widget->x_real(e->x(), x), - widget->y_real(e->y(), y); - Point p(x, y); - RasterOp old = widget->rasterOp(); //save the initial raster mode - widget->setRasterOp(XorROP); - widget->lock(); - Vertex_handle v = tr.nearest_vertex(p); - *widget << CGAL::GREEN << CGAL::PointSize (10) - << CGAL::PointStyle (CGAL::CIRCLE); - if(!first_time) - *widget << oldPoint; - *widget << v->point(); - widget->unlock(); - widget->setRasterOp(old); - oldPoint = v->point(); - first_time = FALSE; - }; - void leaveEvent(QEvent *) - { - widget->lock(); - RasterOp old = widget->rasterOp(); //save the initial raster mode - widget->setRasterOp(XorROP); - *widget << CGAL::GREEN << CGAL::PointSize (10) - << CGAL::PointStyle (CGAL::CIRCLE); - *widget << oldPoint; - widget->unlock(); - widget->setRasterOp(old); - first_time = TRUE; - //remove_leftovers(widget); - } - -private: - T &tr; - Point oldPoint, newPoint; - bool first_time; - -};//end class - - -template -class Qt_layer_circum_circle : public CGAL::Qt_widget_layer -{ -public: - typedef typename T::Point Point; - typedef typename T::Segment Segment; - typedef typename T::Face_handle Face_handle; - typedef typename T::Vertex_handle Vertex_handle; - typedef typename T::Geom_traits::FT FT; - typedef typename CGAL::Cartesian Rep; - typedef typename CGAL::Circle_2 Circle; - - Qt_layer_circum_circle(T &t) : tr(t), first_time(TRUE) {}; - - void draw(){first_time = TRUE;}; - void mouseMoveEvent(QMouseEvent *e) - { - if (tr.dimension()<2) return; - FT x, y; - widget->x_real(e->x(), x); - widget->y_real(e->y(), y); - Point p(x, y); //that's where the mouse is situated - Face_handle f = tr.locate(p); - if(!tr.is_infinite(f)){ - Point circum_center = tr.dual(f); - Vertex_handle v1 = (*f).vertex(1); - newCircle = Circle(circum_center, - CGAL::squared_distance((*v1).point(), - circum_center)); - RasterOp old = widget->rasterOp(); //save the initial raster mode - widget->setRasterOp(XorROP); - widget->lock(); - *widget << CGAL::GREEN << CGAL::PointSize(10); - if(!first_time) - *widget << oldCircle; - *widget << newCircle; - widget->unlock(); - widget->setRasterOp(old); - oldCircle = newCircle; - first_time = FALSE; - } else if(!first_time){ - RasterOp old = widget->rasterOp(); //save the initial raster mode - widget->setRasterOp(XorROP); - widget->lock(); - *widget << CGAL::GREEN << CGAL::PointSize(10); - *widget << oldCircle; - widget->unlock(); - widget->setRasterOp(old); - first_time = true; - } - }; - void leaveEvent(QEvent *) - { - widget->lock(); - RasterOp old = widget->rasterOp(); //save the initial raster mode - widget->setRasterOp(XorROP); - *widget << CGAL::GREEN; - if(!first_time) - *widget << oldCircle; - widget->unlock(); - widget->setRasterOp(old); - first_time = TRUE; - //remove_leftovers(widget); - } - -private: - T &tr; - Circle oldCircle, newCircle; - bool first_time; - -};//end class - - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar.C b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar.C deleted file mode 100644 index 6b261e7e7f6..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar.C +++ /dev/null @@ -1,92 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : delaunay_triangulation_2_toolbar.C -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - -#ifdef CGAL_USE_QT - -#include -#include "delaunay_triangulation_2_toolbar.h" - -// icons -#include -#include -#include -#include - -#include - - Tools_toolbar::Tools_toolbar(CGAL::Qt_widget *w, QMainWindow *mw, - Delaunay *t) : QToolBar(mw, "NT") - { - //when it is created, the toolbar has 0 buttons - nr_of_buttons = 0; - //set the widget - widget = w; - widget->attach(&input_line_layer); - widget->attach(&input_point_layer); - widget->attach(&edit_vertex_layer); - input_point_layer.deactivate(); - input_line_layer.deactivate(); - edit_vertex_layer.set_Delaunay(t); - edit_vertex_layer.deactivate(); - - - QIconSet set0(QPixmap( (const char**)arrow_small_xpm ), - QPixmap( (const char**)arrow_xpm )); - QIconSet set1(QPixmap( (const char**)point_small_xpm ), - QPixmap( (const char**)point_xpm )); - QIconSet set2(QPixmap( (const char**)line_small_xpm ), - QPixmap( (const char**)line_xpm )); - QIconSet set3(QPixmap( (const char**)movepoint_small_xpm ), - QPixmap( (const char**)movepoint_xpm )); - - but[0] = new QToolButton(this, "deactivate layer"); - but[0]->setIconSet(set0); - but[1] = new QToolButton(this, "pointinput layer"); - but[1]->setIconSet(set1); - but[1]->setTextLabel("Input Point"); - but[2] = new QToolButton(this, "lineinput layer"); - but[2]->setIconSet(set2); - but[2]->setTextLabel("Input Line"); - but[3] = new QToolButton(this, "movedelete layer"); - but[3]->setIconSet(set3); - but[3]->setTextLabel("Move/Delete Vertex"); - - nr_of_buttons = 4; - - button_group = new QButtonGroup(0, "exclusive"); - for (int i=0; iinsert(but[i]); - but[i]->setToggleButton(true); - } - button_group->setExclusive(true); - connect(but[1], SIGNAL(stateChanged(int)), - &input_point_layer, SLOT(stateChanged(int))); - connect(but[2], SIGNAL(stateChanged(int)), - &input_line_layer, SLOT(stateChanged(int))); - connect(but[3], SIGNAL(stateChanged(int)), - &edit_vertex_layer, SLOT(stateChanged(int))); - -}; - - - -#include "delaunay_triangulation_2_toolbar.moc" - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar.h deleted file mode 100644 index 810bc420b8b..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar.h +++ /dev/null @@ -1,56 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : delaunay_triangulation_2_toolbar.h -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - -#ifndef CGAL_DELAUNAY_TRIANGULATION_2_TOOLBAR_H -#define CGAL_DELAUNAY_TRIANGULATION_2_TOOLBAR_H - -#include "cgal_types.h" -#include -#include "triangulation_2_edit_vertex.h" -#include -#include - -#include -#include -#include -#include -#include - - -class Tools_toolbar : public QToolBar -{ - Q_OBJECT -public: - Tools_toolbar(CGAL::Qt_widget *w, QMainWindow *mw, Delaunay *t); -private: - QToolButton *but[10]; - CGAL::Qt_widget *widget; - QButtonGroup *button_group; - int activebutton; - bool is_active; - int nr_of_buttons; - - CGAL::Qt_widget_get_line input_line_layer; - CGAL::Qt_widget_get_point input_point_layer; - triangulation_2_edit_vertex edit_vertex_layer; -};//end class - - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar_layers.C b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar_layers.C deleted file mode 100644 index 094f54cf2f0..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar_layers.C +++ /dev/null @@ -1,180 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : delaunay_triangulation_2_toolbar_layers.C -// package : Qt_widget -// author(s) : Ursu Radu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - - -#ifdef CGAL_USE_QT - -#include "delaunay_triangulation_2_toolbar_layers.h" - -// icons -#include -#include -#include -#include - -#include - -/* XPM */ -static char *circum_circle_xpm[] = { -/* columns rows colors chars-per-pixel */ -"32 32 5 1", -" c opaque", -". c green", -"X c red", -"o c #c0c0c0", -"O c None", -/* pixels */ -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOXXXXXOOOOOOOOOOOOOOO", -"OOOOOOOOOXXXOOOOOXXXOOOOOOOOOOOO", -"OOOOOOOXXOOOOOOOOOOOXXOOOOOOOOOO", -"OOOOOOXOOOOOOOOOOOOOOOXOOOOOOOOO", -"OOOOOXOOOOOOOOOOOOOOOOOXOOOOOOOO", -"OOOOXOOOOOOOOOOOOOOOOOOOXOOOOOOO", -"OOOXOOOOOOOOOOOOOOOOOOOOOXOOOOOO", -"OOOXOOOOOOOOOOOOOOOOOOOOOXOOOOOO", -"OOOXOOOOOOOOOOOOOOOOOOOOOXOOOOOO", -"OOXOOOOOOOOOOOOOOOOOOOOOOOXOOOOO", -"OOXOOOOOOOOOOOOOOOOOOOOOOOXOOOOO", -"OOXOOOOOOOOOOOOOOOOOOOOOOOXOOOOO", -"OO.. ..OOOOO", -"OO.. ooooooooooooooooooo ..OOOOO", -"OO Xo ooooooooooooooooo oX OOOOO", -"OO Xoo ooooooooooooo ooX OOOOO", -"OO oXooo ooooooooooo oooXo OOOOO", -"OO ooXooo ooooooo oooXoo OOOOO", -"OO oooXoooo ooooo ooooXooo OOOOO", -"OO ooooXXooo o oooXXoooo OOOOO", -"OO ooooooXXXo..ooXXXoooooo OOOOO", -"OO oooooooooX..XXooooooooo OOOOO", -"OO ooooooo ooooo oooooooo OOOOO", -"OO oooooo oooooooo oooooo OOOOO", -"OO oooo ooooooooooo ooooo OOOOO", -"OO ooo oooooooooooooo ooo OOOOO", -"OO o ooooooooooooooooo oo OOOOO", -"OO oooooooooooooooooooo OOOOO", -"OO OOOOO", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO", -"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" -}; - -/* XPM */ -static char * circum_circle_small_xpm[] = { -"16 16 4 1", -" c None", -". c #35E8D9", -"+ c #F4072E", -"@ c #000000", -" ........ ", -" ..++++.... ", -" ..+...@+@... ", -" ..+.@@@..+@@.. ", -"..+@@.....@+.@..", -".@+......@.+..@.", -".@+@@....@.+..@.", -"..+..@..@..+@@@.", -"..@+..@.@.+...@.", -"...@+..@@+...@..", -"....@++++...@...", -"....@..@...@....", -" ...@..@..@.... ", -" ...@.@.@.... ", -" ..@.@@.... ", -" ..@@.... "}; - - Layers_toolbar::Layers_toolbar(CGAL::Qt_widget *w, QMainWindow *mw, - Delaunay *t) : QToolBar(mw, "LT"), - dt(t), nr_of_buttons(0) - { - showT = new Qt_layer_show_triangulation< Delaunay >(*t); - showV = new Qt_layer_show_voronoi< Delaunay >(*t); - showP = new Qt_layer_show_points< Delaunay >(*t); - showNV = new Qt_layer_nearest_vertex< Delaunay >(*t); - showCC = new Qt_layer_circum_circle< Delaunay >(*t); - - //set the widget - widget = w; - window = mw; - - widget->attach(showT); - widget->attach(showV); - widget->attach(showNV); - widget->attach(showP); - widget->attach(showCC); - showNV->deactivate(); - showCC->deactivate(); - - QIconSet set0(QPixmap( (const char**)triangulation_small_xpm ), - QPixmap( (const char**)triangulation_xpm )); - QIconSet set1(QPixmap( (const char**)voronoi_small_xpm ), - QPixmap( (const char**)voronoi_xpm )); - QIconSet set2(QPixmap( (const char**)nearest_vertex_small_xpm ), - QPixmap( (const char**)nearest_vertex_xpm )); - QIconSet set3(QPixmap( (const char**)points_small_xpm ), - QPixmap( (const char**)points_xpm )); - QIconSet set4(QPixmap( (const char**)circum_circle_small_xpm ), - QPixmap( (const char**)circum_circle_xpm )); - - but[0] = new QToolButton(this, "triangulation"); - but[0]->setIconSet(set0); - but[0]->setTextLabel("Triangulation"); - but[1] = new QToolButton(this, "voronoi"); - but[1]->setIconSet(set1); - but[1]->setTextLabel("Voronoi Diagram"); - but[2] = new QToolButton(this, "nearest_vertex"); - but[2]->setIconSet(set2); - but[2]->setTextLabel("Nearest Vertex"); - but[3] = new QToolButton(this, "vertices"); - but[3]->setIconSet(set3); - but[3]->setTextLabel("Vertices"); - but[4] = new QToolButton(this, "circles"); - but[4]->setIconSet(set4); - but[4]->setTextLabel("Circuscribed Circle"); - - nr_of_buttons = 5; - button_group = new QButtonGroup(0, "nonexclusive"); - for(int i =0; isetToggleButton(TRUE); - but[i]->toggle(); - button_group->insert(but[i]); - } - but[2]->toggle(); - but[4]->toggle(); - connect(button_group, SIGNAL(clicked(int)), - widget, SLOT(redraw())); - - connect(but[0], SIGNAL(stateChanged(int)), - showT, SLOT(stateChanged(int))); - connect(but[1], SIGNAL(stateChanged(int)), - showV, SLOT(stateChanged(int))); - connect(but[2], SIGNAL(stateChanged(int)), - showNV, SLOT(stateChanged(int))); - connect(but[3], SIGNAL(stateChanged(int)), - showP, SLOT(stateChanged(int))); - connect(but[4], SIGNAL(stateChanged(int)), - showCC, SLOT(stateChanged(int))); - - } - - -#include "delaunay_triangulation_2_toolbar_layers.moc" - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar_layers.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar_layers.h deleted file mode 100644 index a6dc8ba66e9..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/delaunay_triangulation_2_toolbar_layers.h +++ /dev/null @@ -1,62 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : delaunay_triangulation_2_toolbar_layers.h -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - -#ifndef CGAL_DELAUNAY_TRIANGULATION_2_TOOLBAR_LAYERS_H -#define CGAL_DELAUNAY_TRIANGULATION_2_TOOLBAR_LAYERS_H - -#include "cgal_types.h" -#include -#include "delaunay_triangulation_2_layers.h" - -#include -#include -#include -#include -#include -#include - -class Layers_toolbar : public QToolBar -{ - Q_OBJECT -public: - Layers_toolbar(CGAL::Qt_widget *w, QMainWindow *mw, Delaunay *t); - ~Layers_toolbar() - { - delete showT; - delete showV; - delete showP; - delete showNV; - }; -private: - QToolButton *but[10]; - CGAL::Qt_widget *widget; - QMainWindow *window; - Delaunay *dt; - QButtonGroup *button_group; - int nr_of_buttons; - - Qt_layer_show_triangulation < Delaunay > *showT; - Qt_layer_show_voronoi < Delaunay > *showV; - Qt_layer_show_points < Delaunay > *showP; - Qt_layer_nearest_vertex < Delaunay > *showNV; - Qt_layer_circum_circle < Delaunay> *showCC; -};//end class - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/conflict_zone.gif b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/conflict_zone.gif deleted file mode 100644 index 532234c94c21f3267b343da253e4981dc991528a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4866 zcma)=y^iBH5P(OJ3a1nAnk{#Ylqr;O3kPWkERi@sULt)SLSE}7^BU>W=rX??lD2nq zcQ`>3Kh6*5PyX%qUr#^(`4{{F|4hJtz5)KFf8XRD|9|;c-u*yNXf2HU0bs>Dzgz;$ zPa(7q{ce8h0e{E41PD)|+tZh{cyO_{0Ntt3p=gBX=^lscNtNqbe_XyFsHS+ zD0+jF_KVqau3~a-@FlX}<;t$B%i`BE6n8)CRn3Vl1kE($pPD z<@@}48e!E)eL1QN>2i(gkq_{cGvVY=RN{Da99wWwZ$PbK9+l2U1Ru)_$Mx{T*^9FdVt|#J>Lv3h3ke>2NI21Dpr`p63vwy06 znv}OxB<(Q_f6|CC?bEqBYkLTXjFL$FVmOzK@NN-fEAQjy2{fVYkQsm8EMh*ydCxS_ zSv9yz$K01QyDOeOD*UPfNjw_=V`n^&qF|fJo{8}+57k`6$@f9CwE%Z;3|Mri;)~=L z;h1~#(4PDq>4|*qxRhe{9pQ_nk~O|t@tM80sd!-CN(Tl&*B;$wiBGx>-jTN(-YXWaOcO4V zBgaeDy9!@wT*_|M8PoGHQotN(@GaL zWr;qd6r5`*HNI?1GsipMrO6%wZ4=+EW0ujS#9uk3>;hZ-`EA1)OO&z6hnq10hHsPO zSx-PNOMJ(M+2c5tP(4uGc44g>{1m^Iz^Rmnb-{ezjn53KyK0`QggcKb52&IXe;cWt zrV20NOWJeRl%s2Kjz7k8gHK{L>B38V(rR!Z%?NMgHC0d&qzr1(@rswReC^14zOdYq zJv8>Af3Z$mykpUK)o`0QVu|x~p?6gWv3Vv8CE{8f<1bg~(&Ad2s7^n?vHZPN>C)n* zG|oerj_08|BsAXd9>`x!?cEpfM5l0r?#zP2YLZ)euC*{Kq9(qSL+074X-AyM7&!WMRpI>DS-i{`B+Vuj;qz-)SX(K3AXl@AAJ}`R|YX zo6oChw?D5BZ8Kl2e6joE^{Y1z$7(XYosAZ!bv){SC7*BKf4x|}9Dk)d^$R<&UhPNk zY`=eJ2aX=`t5)$4>IhgfzhO|vGsL`=bY@q9ojc^yOeEDOXCX4gVsm{4B7)KZUJBE7sCqY+PGijPe=r9D*~cQnlS#*&IoKS_dtNW8su{4pk9T^p z9DO;N2SS6h?%eIqkI!4zsWnlRyDOLx^x@c5;mOJ7gCpDb{Z9+{BTJRahbIv}f(>PP z8W<;3HPAGdLfoEh5wV6aLe*H*FVsO}TE&~ni}*KW4l!DY(eW8*C^}mql$}`wn@qP3 z8WnYDkI80*pm>K>lTTL4pcu}1{qE2FD4guE;N)N-5iL;fcVhB_(7;<_!&24ahq-Xh zVf#MX96jEJs+!m!Dj+K8OH;xBDqU%lo--XZjEZ1p`?D+-;bgef+AXDPo9Q?x2@>fR zQ~H)dc`ShT&-Wm4U@l2Vl~>Ss#D`-rsXqhOR)XGfyT73n7=Xu6SNfq zm3J|-x!?}zvMC=0EnT+M>XjysQWv88g-xQ7p;s}R;;4?;q{SU5G1%7ebX+k*+Y)!x zedE!kE4PqHmwXF?;t|C}{|_hYqCJ*6#LQEd$s@?(ZAB^T7mHXR_YU@UVTzbz=veOv za~Z8v&R?cZGMH4b+0E+qBas$a#_aES7GVXDWbn@g$psi9doX1r6pkSt)- zTNV_)^L)Z5EE`;;%tDDyJJHf`<&6&coTfmx-)I^=Hq|c!cR zXyq4{w4ENCG*>|FnUp6VI>j2TVn8Q4O}I3aH>Mn-mrwK_6QONtCow56v_@A8Kmk#W zb9#Js2j$|&$)yuJus~>RE_dI$md>UG&0Wb!>};@kus66fI_RW)8TeGg=L!W(Qp{L_?i zng<(jAcl8=>!4?8oc0TH4?rbG1{68(;`bGDPMrd#SbfP;1_RTy085<$rid$vTS>dp ISJf~71HQ|)CIA2c diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/index.html b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/index.html deleted file mode 100644 index f9cbc50372f..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/index.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - Alpha_shapes_2 - - - -

How to use Triangulation_2 Demo

-
- Main Functionality -
- Editing - - Persistance - - -

 

-

 

-

 

-

 

- -

-  

-

-  

-

- Reset application

- Press Ctrl+N combination keys or go to File menu and choose "New". - The triangulation will be erased, the window's viewport will be set - to default. (-1, 1, -1, 1) - -

-  

-

-  

-

- Create a new window

- Press Ctrl+W combination keys or go to File menu and choose "New Window". - A new window will appear, modifying the viewport to make the - triangulation fit in the new window. - -

-  

-

-  

-

- Print

- Press Ctrl+P combination keys or go to File menu and choose "Print". - The visible area on the screen will be outputed to the print device - of your choice. - - -

-  

-

-  

-

- Close the current window -

- Press Ctrl+X combination keys or go to File menu and choose "Close". - You may do it for any window other than the initial one, this operation - will close only the one you have choosen. If you do this for the initial - parent window, it will close the others too. - -

-  

-

-  

-

- Quit the application

- Press Ctrl+Q combination keys or go to File menu and choose "Quit". - When you quit the application, all the windows you have created will - be destroyed. - - -

-  

-

-  

-

- Generate Delaunay triangulation -

- To generate a Delaunay triangulation, go to Edit menu and choose - "Generate Triangulation" button, or press Ctrl+G combination keys. - Each time you generate the triangulation, the old one will be erased. - -

-  

-

-  

-

- Insert a new vertex

- - Left click on the "Input point" layer. Be sure there is no layer - activated in standard toolbar that eat events. To be sure, press the - arrow button situated on the standard toolbar. Left Click anywhere on the - application's drawing area (the black rectangle) to insert the vertex. - The vertex is inserted in the triangulation. To see the conflict zone - keep the left mouse button pressed. The vertex is inserted when you - release the button.
- -
-
- To insert more than one vertex, keep clicking on the rectangle without - deactivating the "Input point" layer. To deactivate this layer, just - press the arrow button situated on the same toolbar. - -

-  

-

-  

-

- Delete an existing vertex -

- - (1)Left click on the "Move/Delete vertex" layer. If the "Input point" - layer was active, it will deactivate itself. (2)Right click on the - drawing area (the black rectangle) near an existing vertex. A popup menu - will apear and the selected vertex will be highlighted. If the popup - doesn't appear, press the arrow button on the "standard toolbar" to - deactivate all layers that could eat the events. (3)Choose "Delete". - The vertex will be removed from the triangulation. To delete more than - one vertex, repeat the process from (2) to (3). To deactivate this layer, - just press the arrow button situated on the same toolbar. - -

-  

-

-  

-

- Move existing vertex

- - (1)Left click on the "Move/Delete vertex" layer. If the "Input point" - or "Input line" layer was active, it will deactivate itself. (2)Right - click on the drawing area (the black rectangle) near an existing vertex. - A popup menu will apear and the selected vertex will be highlighted. - (3)Choose "Move". From this moment, the vertex will move as you move the - mouse. The triangulation will reflect the changes. (4)Left click on the - drawing area will position the vertex at the mouse coordinates. You may - repeat the process from the step (2) to (4). To deactivate this layer, - just press the arrow button situated on the same toolbar. - -

-  

-

-  

-

- Input line to display the line_walk -

- - Left Click on the "Input Line" layer. If the "Input point" or - "Move/Delete vertex" layer was active, it will deactivate itself. Lef - click on the drawing area to define the first point of the line. Move the - mouse where you want the second point be situated. As you move the mouse - you will see a line defined by the first point and the point situated at - mouse coordinates. Click the left mouse button. The final line will be - displayed and you can see the result of the line walk alghoritm, the - triangles intersected by this line will be highlighted on the screen. - - -

-  

-

-  

-

- Save the current triangulation -

- Press Ctrl+S combination keys or go to File menu, then choose - "Save Triangulation". A save file dialog will appear, the default name - given is "triangulation.cgal". You may change the name then press "Save" - or hit "Enter" key. To cancel the save process just press Esc key.
- The triangulation saved does not contain - the visible area. - - -

-  

-

-  

-

- Load an existing triangulation -

- Press Ctrl+L combination keys or go to File menu and choose "Load - Triangulation". A load file dialog will appear, having a filter that - displays only the files with "cgal" extension. Choose a file then press - "Open" button or hit "Enter" key.
- The triangulation saved does not contain - the visible area. The application will change the current visible area - to fit the bounding box of the triangualtion. -

 

-

 

- - -
-
- - -Last modified: Fri May 16 11:46:03 MEST 2003 - - - diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/input_line_layer.gif b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/input_line_layer.gif deleted file mode 100644 index 08a924feef877f1ed090cd68f072e1aa17cb49c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1808 zcmbW2v98lF6oxIOpsrT$a2JHIJak~_l`{mfl;jw~8YNO!CRQGyH0cZQ2KP^-+#Nky}P@+zrW`r zrC$74gz+W+xmIPTUDqAEuKTZ{5vipagoFHUFb8AI+Qh-nmNbl-NAfs#$wPYMX9^9Y zgMU<34&^l0`WYE;y{t!;(~Kz=u`Z{Ft)CG#JF$bE!%Rv@x8(%d9wnVSc+A;3424|b zT+fxZ93*FihwY9mE-PGxh`dL!a~25Yy>qUpu+o;bxDX+)!)CebH_j2>c2bu%uxzKo zqU^~zY-0~mw|AA)9d%u?!ER*o2N4@!)Kpp24cK-~-A%-X5_HK#Z1A=+1dpgaiin*I zyPdAr#0+c3#L7D8SVC!A4Kxo{iX{BREJN zvZ<*X5{A~xQaKR1LT$loM^7)dmu}^&Ykk9n0)8)@zShKcH9Souwt`5Lrx#L>-OBrw zz6o{0Kc(xnW|@5jOA{$`1x_DKlcyJhY|p2Z7c2ca)JadfLhC?L!PCK_BU9>Wq{lXQpaxNFL zu=G_dmnNpAK@CeocCz&8l1OYFI!ax!>#H~6ka@Gh$gQX7Ty^5A(tNeP{Ud@%_)buKzqf?)Uq{;eelv zx%wB&`U&6ouZh}CRsE`}>QzhW+&V2A$BT2iBo9fFTqnAe{>PDJgMhm}j(2H@PUMp8d?Rv-_zact*@L=V`!lG`0is3WnigD6gRORu1DPu|l`G%fc%o-(mo&MO zs1Pm*X-Cp5$>M8roz1oJjZ9almm)5-V7WPV8Iqy9QoXM!xExQ6?|jnWj4~zwE1-;% z73_~#D5+U)aJe={XG^h>F#{}R9@~Nox$q*`%v=NWAorAuDmpG~hWLTa{9s83$K(=a zD%VWN)P|zTlCizZaWB`}8B(jw%Y3zu7YcH^~M z2D#HAmxSBPgU1@;ut`!^?s7Jlos`7k(p-6>g3D@?G`DT64xZ-Tew9ZmYdR&fQcmxgmdR8lSCS#%|`L*TXY$Fnxr3^maLOGhdi5Pmr7I`~Uy| diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/movedelete_point_layer.gif b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/movedelete_point_layer.gif deleted file mode 100644 index 51d9f8eb2219b80eac3b9394dd2bd02f52ddc2d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1732 zcmbW2v5wO~5QbN>?-a^au1JA|uv}13I2sp5G~qlsLL0@B+iR$K1m}{}_YC(Yd7#kH z(OCR5>$TThfE+2Z+Fj3l^ZzqWK7Y9@KHPsbug#AugU_4mZ%xyDe|kC|kEhc~j*NNx zGuHLJe9N;YYU`>xR8{p~%aVDOF87Ru`JYRYJS0i-PM38p0qcw6@MP-a5WYUV5F1oh z)w~&D+u-s{G3o7axH(juzC>=2x~kK&a`PP#_1+P7rR)ToQ$qy$26C5YusIb(yRx&M zbSI5Sc%M^*JM^Qfm;B&dZh|J|0-~bieJiI(BU{HsAh@UrTvVamjVHM4;&Vr$QjH-c z?MS(rMQaLdZcJApv(!rw3N4W=mt7{wM6On^H3crm6VqemjxrDgtDp?YP(-2@YHG+$ zy~~X;zH@RH853YB>#(hGMQ%|BHiK)t+~-`W!gIxDh!1VXi`Dg0??!ToGAGwe$TWtc z$ztSkJjk_nCaIm=skK_?Gi*Q14ab9AyPb<$&gH4yss`_}S1YsJy6&!c(aW8NTvF~J zSKLy$z0HVQbaGc9DOW`l)^Rao>8>c5hiFAq}?MPx?w}Zg5#fTRaSgS?`dWU7=?e z;rd5{VIB_u5-wPuIvD2R@XuMs*h_vPA3aHJ4!BbN<-g3Mzm7||19tS!^U8eu1@$8A ADF6Tf diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/rindex.html b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/rindex.html deleted file mode 100644 index 74e957e7bbf..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/help/rindex.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - Regular Triangulation 2 - - - -

How to use Regular_triangulation_2 Demo -

-
- Main Functionality -
- Persistance - - -

 

-

 

-

 

-

 

- -

-  

-

-  

-

- Reset application

- Press Ctrl+N combination keys or go to File menu and choose "New". The - triangulation will be erased, the window's viewport will be set to - default. (-1, 1, -1, 1) - -

-  

-

-  

-

- Create a new window

- Press Ctrl+W combination keys or go to File menu and choose "New Window". - A new window will appear, modifying the viewport to make the - triangulation fit in the new window. - -

-  

-

-  

-

Print -

- Press Ctrl+P combination keys or go to File menu and choose "Print". - The visible area on the screen will be outputed to the print device of - your choice. - - -

-  

-

-  

-

- Close the current window -

- Press Ctrl+X combination keys or go to File menu and choose "Close". You - may do it for any window other than the initial one, this operation will - close only the one you have choosen. If you do this for the initial - parent window, it will close the others too. - -

-  

-

-  

-

- Quit the application

- Press Ctrl+Q combination keys or go to File menu and choose "Quit". - When you quit the application, all the windows you have created will be - destroyed. - - - - -

-  

-

-  

-

- Save the current triangulation -

- Press Ctrl+S combination keys or go to File menu, then choose "Save - Triangulation". A save file dialog will appear, the default name given - is "triangulation.cgal". You may change the name then press "Save" or - hit "Enter" key. To cancel the save process just press Esc key.
- The triangulation saved does not contain the - viewport. - - -

-  

-

-  

-

- Load an existing triangulation -

- Press Ctrl+L combination keys or go to File menu and choose "Save - Triangulation". A load file dialog will appear, having a filter that - displays only the files with "cgal" extension. Choose a file then press - "Open" button or hit "Enter" key.
- The triangulation saved does not contain the - viewport. The application will change the current viewport to fit the - bounding box of the triangualtion. -

 

-

 

- - -
-
- - -Last modified: Fri May 16 11:55:13 MEST 2003 - - - diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/makefile b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/makefile deleted file mode 100644 index e8bf878166b..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/makefile +++ /dev/null @@ -1,114 +0,0 @@ -# Created by the script create_makefile -# This is the makefile for compiling a CGAL application. - -#---------------------------------------------------------------------# -# include platform specific settings -#---------------------------------------------------------------------# -# Choose the right include file from the /make directory. - -# CGAL_MAKEFILE = ENTER_YOUR_INCLUDE_MAKEFILE_HERE -include $(CGAL_MAKEFILE) - -#---------------------------------------------------------------------# -# compiler flags -#---------------------------------------------------------------------# - -CXXFLAGS = -I../../../include/ \ - $(CGAL_CXXFLAGS) \ - $(LONG_NAME_PROBLEM_CXXFLAGS) \ - $(DEBUG_OPT) - -#---------------------------------------------------------------------# -# linker flags -#---------------------------------------------------------------------# - -LIBPATH = \ - $(CGAL_LIBPATH) - -LDFLAGS = \ - $(LONG_NAME_PROBLEM_LDFLAGS) \ - $(CGAL_QT_LDFLAGS) - -#---------------------------------------------------------------------# -# target entries -#---------------------------------------------------------------------# - -all: delaunay_triangulation_2 regular_triangulation_2 - -delaunay_triangulation_2_toolbar$(OBJ_EXT): delaunay_triangulation_2_toolbar.C delaunay_triangulation_2_toolbar.moc - $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) delaunay_triangulation_2_toolbar.C - -delaunay_triangulation_2_toolbar.moc: delaunay_triangulation_2_toolbar.h - $(QT_MOC) -o delaunay_triangulation_2_toolbar.moc delaunay_triangulation_2_toolbar.h - -delaunay_triangulation_2_toolbar_layers$(OBJ_EXT): delaunay_triangulation_2_toolbar_layers.C \ - delaunay_triangulation_2_toolbar_layers.moc - $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) delaunay_triangulation_2_toolbar_layers.C - -delaunay_triangulation_2_toolbar_layers.moc: delaunay_triangulation_2_toolbar_layers.h - $(QT_MOC) -o delaunay_triangulation_2_toolbar_layers.moc delaunay_triangulation_2_toolbar_layers.h - -triangulation_2_edit_vertex$(OBJ_EXT): triangulation_2_edit_vertex.C triangulation_2_edit_vertex.moc - $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) triangulation_2_edit_vertex.C - -triangulation_2_edit_vertex.moc: triangulation_2_edit_vertex.h - $(QT_MOC) -o triangulation_2_edit_vertex.moc triangulation_2_edit_vertex.h - -delaunay_triangulation_2.moc: delaunay_triangulation_2.C triangulation_2_edit_vertex$(OBJ_EXT) \ - delaunay_triangulation_2_toolbar$(OBJ_EXT) \ - delaunay_triangulation_2_toolbar_layers$(OBJ_EXT) - ${QT_MOC} -o delaunay_triangulation_2.moc delaunay_triangulation_2.C - -delaunay_triangulation_2$(OBJ_EXT): delaunay_triangulation_2.C delaunay_triangulation_2.moc - $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) delaunay_triangulation_2.C - -delaunay_triangulation_2$(EXE_EXT): delaunay_triangulation_2$(OBJ_EXT) - $(CGAL_CXX) $(EXE_OPT)delaunay_triangulation_2 delaunay_triangulation_2$(OBJ_EXT) triangulation_2_edit_vertex$(OBJ_EXT) delaunay_triangulation_2_toolbar$(OBJ_EXT) delaunay_triangulation_2_toolbar_layers$(OBJ_EXT) $(LDFLAGS) - - -#--------------------------------# -# regular_triangulation_2 -#--------------------------------# - -regular_triangulation_2_toolbar$(OBJ_EXT): regular_triangulation_2_toolbar.C \ - regular_triangulation_2_toolbar.moc - $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) regular_triangulation_2_toolbar.C - -regular_triangulation_2_toolbar.moc: regular_triangulation_2_toolbar.h - $(QT_MOC) -o regular_triangulation_2_toolbar.moc \ - regular_triangulation_2_toolbar.h - -regular_triangulation_2_toolbar_layers$(OBJ_EXT): \ - regular_triangulation_2_toolbar_layers.C \ - regular_triangulation_2_toolbar_layers.moc - $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) \ - regular_triangulation_2_toolbar_layers.C - -regular_triangulation_2_toolbar_layers.moc: \ - regular_triangulation_2_toolbar_layers.h - $(QT_MOC) -o regular_triangulation_2_toolbar_layers.moc \ - regular_triangulation_2_toolbar_layers.h - -regular_triangulation_2.moc: regular_triangulation_2.C \ - triangulation_2_edit_vertex$(OBJ_EXT) \ - regular_triangulation_2_toolbar$(OBJ_EXT) \ - regular_triangulation_2_toolbar_layers$(OBJ_EXT) - ${QT_MOC} -o triangulation_2.moc triangulation_2.C - - -regular_triangulation_2$(OBJ_EXT): regular_triangulation_2.C \ - regular_triangulation_2.moc - $(CGAL_CXX) $(CXXFLAGS) $(OBJ_OPT) regular_triangulation_2.C - -regular_triangulation_2$(EXE_EXT): regular_triangulation_2$(OBJ_EXT) - $(CGAL_CXX) $(EXE_OPT)regular_triangulation_2 regular_triangulation_2$(OBJ_EXT) triangulation_2_edit_vertex$(OBJ_EXT) regular_triangulation_2_toolbar$(OBJ_EXT) regular_triangulation_2_toolbar_layers$(OBJ_EXT) $(LDFLAGS) - - -clean: delaunay_triangulation_2.clean \ - delaunay_triangulation_2_toolbar_layers.clean \ - delaunay_triangulation_2_toolbar.clean \ - triangulation_2_edit_vertex.clean \ - regular_triangulation_2.clean \ - regular_triangulation_2_toolbar_layers.clean \ - regular_triangulation_2_toolbar.clean - diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_cgal_types.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_cgal_types.h deleted file mode 100644 index 451a4bd9969..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_cgal_types.h +++ /dev/null @@ -1,15 +0,0 @@ -//CGAL headers -#include -#include -#include - -typedef CGAL::Simple_cartesian Rp; -typedef Rp::Point_2 Point; -typedef Rp::Circle_2 Circle; -typedef double W; -typedef CGAL::Regular_triangulation_euclidean_traits_2 Gt; -typedef CGAL::Triangulation_vertex_base_2 Vb; -typedef CGAL::Regular_triangulation_face_base_2 Fb; -typedef CGAL::Triangulation_data_structure_2 Tds; -typedef CGAL::Regular_triangulation_2 Regular_triangulation; -typedef Regular_triangulation::Vertex_iterator Vertex_iterator; \ No newline at end of file diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.C b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.C deleted file mode 100644 index 5b1ea30bc13..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.C +++ /dev/null @@ -1,256 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2002 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : regular_triangulation_2.C -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - - -// if QT is not installed, a message will be issued in runtime. -#ifndef CGAL_USE_QT -#include - - -int main(int, char*) -{ - - std::cout << "Sorry, this demo needs QT..."; - std::cout << std::endl; - - return 0; -} - -#else - -#include "regular_cgal_types.h" - -//Qt_widget headers -#include -#include -#include -#include "regular_triangulation_2_toolbar.h" -#include "regular_triangulation_2_toolbar_layers.h" - -//Qt headers -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - - - -const QString title_string("Regular_triangulation_2"); - -Regular_triangulation rt; -int current_state; -double xmin, ymin, xmax, ymax; - -class Window : public QMainWindow -{ - Q_OBJECT -public: - Window(int w, int h) - { - widget = new CGAL::Qt_widget(this); - setCentralWidget(widget); - - // file menu - QPopupMenu * file = new QPopupMenu( this ); - menuBar()->insertItem( "&File", file ); - file->insertItem("&New", this, SLOT(new_instance()), CTRL+Key_N); - file->insertItem("New &Window", this, SLOT(new_window()), CTRL+Key_W); - file->insertSeparator(); - file->insertItem("&Load Triangulation", this, - SLOT(load_triangulation()), CTRL+Key_L); - file->insertItem("&Save Triangulation", this, - SLOT(save_triangulation()), CTRL+Key_S); - file->insertSeparator(); - file->insertItem("Print", widget, SLOT(print_to_ps()), CTRL+Key_P); - file->insertSeparator(); - file->insertItem( "&Close", this, SLOT(close()), CTRL+Key_X ); - file->insertItem( "&Quit", qApp, - SLOT( closeAllWindows() ), CTRL+Key_Q ); - - // help menu - QPopupMenu * help = new QPopupMenu( this ); - menuBar()->insertItem( "&Help", help ); - help->insertItem("How To", this, SLOT(howto()), Key_F1); - help->insertSeparator(); - help->insertItem("&About", this, SLOT(about()), CTRL+Key_A ); - help->insertItem("About &Qt", this, SLOT(aboutQt()) ); - - *widget << CGAL::BackgroundColor(CGAL::BLACK); - resize(w, h); - widget->set_window(-1, 1, -1, 1); - widget->setMouseTracking(TRUE); - - //the standard toolbar - stoolbar = new CGAL::Qt_widget_standard_toolbar (widget, this, "ST"); - //the input layers toolbar - newtoolbar = new Tools_toolbar(widget, this, &rt); - //the other layers toolbar - ltoolbar = new Layers_toolbar(widget, this, &rt); - - - //connect the widget to the main function that receives the objects - connect(widget, SIGNAL(new_cgal_object(CGAL::Object)), - this, SLOT(get_new_object(CGAL::Object))); - - //create a timer to check if something changed - QTimer *timer = new QTimer( this ); - connect( timer, SIGNAL(timeout()), - this, SLOT(timerDone()) ); - timer->start( 200, FALSE ); - old_state = 0; - - } - void - init_coordinates(){ - xmin = -1; xmax = 1; - ymin = -1; ymax = 1; - } -private slots: - void - new_instance(){ - widget->lock(); - widget->clear(); - stoolbar->clear_history(); - rt.clear(); - // set the Visible Area to the Interval - widget->set_window(-1.1, 1.1, -1.1, 1.1); - widget->unlock(); - something_changed(); - } - void - new_window(){ - Window *ed = new Window(500, 500); - ed->setCaption("Layer"); - if(rt.number_of_vertices() > 1){ - Vertex_iterator it = rt.vertices_begin(); - xmin = xmax = (*it).point().x(); - ymin = ymax = (*it).point().y(); - while(it != rt.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++; - } - } - ed->stoolbar->clear_history(); - ed->widget->set_window(xmin, xmax, ymin, ymax); - ed->show(); - something_changed(); - } - - void - timerDone(){ - if(old_state!=current_state){ - widget->redraw(); - old_state = current_state; - } - } - - void - howto(){ - QString home; - home = "help/rindex.html"; - HelpWindow *help = new HelpWindow(home, ".", 0, "help viewer"); - help->resize(400, 400); - help->setCaption("Demo HowTo"); - help->show(); - } - - void - about(){ - QMessageBox::about( this, title_string, - "This is a demo for Regular_triangulation_2\n" - "Copyright CGAL @2003"); - } - - void - aboutQt(){ - QMessageBox::aboutQt( this, title_string ); - } - - void - get_new_object(CGAL::Object obj){ - Point p; - Circle c; - if(CGAL::assign(p,obj)) { - rt.insert(p); - something_changed(); - } else if (CGAL::assign(c, obj)){ - rt.insert(Gt::Weighted_point(Point(c.center()), c.squared_radius())); - something_changed(); - } - } - - - void - load_triangulation(){ - QString s( QFileDialog::getOpenFileName( QString::null, - "CGAL files (*.cgal)", this ) ); - if ( s.isEmpty() ) - return; - rt.clear(); - - Gt::Weighted_point wp; - - } - void - save_triangulation(){ - } -private: - inline void something_changed(){current_state++;}; - CGAL::Qt_widget *widget; - CGAL::Qt_widget_standard_toolbar *stoolbar; - Tools_toolbar *newtoolbar; - Layers_toolbar *ltoolbar; - int old_state; - -}; - -#include "regular_triangulation_2.moc" - -int -main(int argc, char **argv) -{ - QApplication app( argc, argv ); - Window W(500,500); // physical widget size - app.setMainWidget(&W); - W.setCaption(title_string); - W.setMouseTracking(TRUE); - W.show(); - W.init_coordinates(); - current_state = -1; - return app.exec(); -} - - -#endif //CGAL_USE_QT diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.vcproj b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.vcproj deleted file mode 100644 index 6f428c16fe7..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2.vcproj +++ /dev/null @@ -1,212 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_layers.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_layers.h deleted file mode 100644 index aa2e1ffada1..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_layers.h +++ /dev/null @@ -1,86 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : demo/Qt_widget/Triangulation_2/triangulation_2_layers.h -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// -// ============================================================================ - -#ifndef CGAL_REGULAR_TRIANGULATION_2_LAYERS_H -#define CGAL_REGULAR_TRIANGULATION_2_LAYERS_H - -#include -#include -#include -#include -#include - - -template -class Qt_layer_show_triangulation : public CGAL::Qt_widget_layer -{ -public: - Qt_layer_show_triangulation(T &t) : tr(t){}; - void draw() - { - *widget << CGAL::BLUE; - *widget << tr; - }; -private: - T &tr; -};//end class - -template -class Qt_layer_show_voronoi : public CGAL::Qt_widget_layer -{ -public: - Qt_layer_show_voronoi(T &t1) : tr(t1){}; - void draw() - { - *widget << CGAL::RED ; - tr.draw_dual(*widget); - }; -private: - T &tr; -};//end class - -template -class Qt_layer_show_points : public CGAL::Qt_widget_layer { -public: - typedef typename T::Point Point; - typedef typename T::Segment Segment; - typedef typename T::Vertex Vertex; - typedef typename T::Vertex_iterator Vertex_iterator; - - Qt_layer_show_points(T &t) : rt(t){}; - void draw() - { - Vertex_iterator it = rt.vertices_begin(), - beyond = rt.vertices_end(); - *widget << CGAL::GREEN << CGAL::PointSize (3) - << CGAL::PointStyle (CGAL::DISC); - while(it != beyond) { - *widget << (*it).point(); - *widget << Circle((*it).point().point(), (*it).point().weight()); - ++it; - } - }; -private: - T &rt; -};//end class - - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar.C b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar.C deleted file mode 100644 index eec2a4bb38d..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar.C +++ /dev/null @@ -1,91 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : regular_triangulation_2_toolbar.C -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - -#ifdef CGAL_USE_QT - -#include -#include "regular_triangulation_2_toolbar.h" - -// icons -#include -#include -#include -#include - -#include - - Tools_toolbar::Tools_toolbar(CGAL::Qt_widget *w, QMainWindow *mw, - Regular_triangulation *t) : - QToolBar(mw, "NT") - { - //when it is created, the toolbar has 0 buttons - nr_of_buttons = 0; - //set the widget - widget = w; - widget->attach(&input_circle_layer); - widget->attach(&input_point_layer); - widget->attach(&edit_vertex_layer); - input_point_layer.deactivate(); - input_circle_layer.deactivate(); - edit_vertex_layer.set_triangulation(t); - edit_vertex_layer.deactivate(); - - QIconSet set0(QPixmap( (const char**)arrow_small_xpm ), - QPixmap( (const char**)arrow_xpm )); - QIconSet set1(QPixmap( (const char**)point_small_xpm ), - QPixmap( (const char**)point_xpm )); - QIconSet set2(QPixmap( (const char**)circle_small_xpm ), - QPixmap( (const char**)circle_xpm )); - QIconSet set3(QPixmap( (const char**)movepoint_small_xpm ), - QPixmap( (const char**)movepoint_xpm )); - - but[0] = new QToolButton(this, "deactivate layer"); - but[0]->setIconSet(set0); - but[1] = new QToolButton(this, "pointinput layer"); - but[1]->setIconSet(set1); - but[1]->setTextLabel("Input Point"); - but[2] = new QToolButton(this, "circleinput layer"); - but[2]->setIconSet(set2); - but[2]->setTextLabel("Input WeightedPoint"); - but[3] = new QToolButton(this, "movedelete layer"); - but[3]->setIconSet(set3); - but[3]->setTextLabel("Edit Vertex"); - - nr_of_buttons = 4; - - button_group = new QButtonGroup(0, "exclusive"); - for (int i=0; iinsert(but[i]); - but[i]->setToggleButton(true); - } - button_group->setExclusive(true); - connect(but[1], SIGNAL(stateChanged(int)), - &input_point_layer, SLOT(stateChanged(int))); - connect(but[2], SIGNAL(stateChanged(int)), - &input_circle_layer, SLOT(stateChanged(int))); - connect(but[3], SIGNAL(stateChanged(int)), - &edit_vertex_layer, SLOT(stateChanged(int))); -}; - - - -#include "regular_triangulation_2_toolbar.moc" - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar.h deleted file mode 100644 index f4120dbdf96..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar.h +++ /dev/null @@ -1,57 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : include/CGAL/IO/Qt_widget_toolbar.h -// package : Qt_widget -// author(s) : Ursu Radu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - -#ifndef CGAL_REGULAR_TRIANGULATION_2_TOOLBAR_H -#define CGAL_REGULAR_TRIANGULATION_2_TOOLBAR_H - -#include "regular_cgal_types.h" -#include -#include "triangulation_2_edit_vertex.h" -#include -#include - -#include -#include -#include -#include -#include - - -class Tools_toolbar : public QToolBar -{ - Q_OBJECT -public: - Tools_toolbar(CGAL::Qt_widget *w, QMainWindow *mw, Regular_triangulation *t); -private: - QToolButton *but[10]; - CGAL::Qt_widget *widget; - QButtonGroup *button_group; - int activebutton; - bool is_active; - int nr_of_buttons; - - CGAL::Qt_widget_get_circle input_circle_layer; - CGAL::Qt_widget_get_point input_point_layer; - triangulation_2_edit_weightedpoint - edit_vertex_layer; -};//end class - - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar_layers.C b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar_layers.C deleted file mode 100644 index 7006414f6b8..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar_layers.C +++ /dev/null @@ -1,89 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : triangulation_2_toolbar_layers.C -// package : Qt_widget -// author(s) : Ursu Radu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - - -#ifdef CGAL_USE_QT - -#include "regular_triangulation_2_toolbar_layers.h" - -// icons -#include -#include -#include - -#include - - - Layers_toolbar::Layers_toolbar(CGAL::Qt_widget *w, QMainWindow *mw, - Regular_triangulation *t) : - QToolBar(mw, "LT"), dt(t), nr_of_buttons(0) - { - showT = new Qt_layer_show_triangulation< Regular_triangulation >(*t); - showV = new Qt_layer_show_voronoi< Regular_triangulation >(*t); - showP = new Qt_layer_show_points< Regular_triangulation >(*t); - - //set the widget - widget = w; - window = mw; - - widget->attach(showT); - widget->attach(showV); - widget->attach(showP); - - QIconSet set0(QPixmap( (const char**)triangulation_small_xpm ), - QPixmap( (const char**)triangulation_xpm )); - QIconSet set1(QPixmap( (const char**)voronoi_small_xpm ), - QPixmap( (const char**)voronoi_xpm )); - QIconSet set3(QPixmap( (const char**)points_small_xpm ), - QPixmap( (const char**)points_xpm )); - - but[0] = new QToolButton(this, "triangulation"); - but[0]->setIconSet(set0); - but[0]->setTextLabel("Triangulation"); - but[1] = new QToolButton(this, "voronoi"); - but[1]->setIconSet(set1); - but[1]->setTextLabel("Voronoi Diagram"); - but[2] = new QToolButton(this, "vertices"); - but[2]->setIconSet(set3); - but[2]->setTextLabel("Vertices"); - - nr_of_buttons = 3; - button_group = new QButtonGroup(0, "nonexclusive"); - for(int i =0; isetToggleButton(true); - but[i]->toggle(); - button_group->insert(but[i]); - } - connect(button_group, SIGNAL(clicked(int)), - widget, SLOT(redraw())); - - connect(but[0], SIGNAL(stateChanged(int)), - showT, SLOT(stateChanged(int))); - connect(but[1], SIGNAL(stateChanged(int)), - showV, SLOT(stateChanged(int))); - connect(but[2], SIGNAL(stateChanged(int)), - showP, SLOT(stateChanged(int))); - } - - -#include "regular_triangulation_2_toolbar_layers.moc" - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar_layers.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar_layers.h deleted file mode 100644 index 4325728e728..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/regular_triangulation_2_toolbar_layers.h +++ /dev/null @@ -1,60 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : triangulation_2_toolbar_layers.h -// package : Qt_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - -#ifndef CGAL_TRIANGULATION_2_TOOLBAR_LAYERS_H -#define CGAL_TRIANGULATION_2_TOOLBAR_LAYERS_H - -#include "regular_cgal_types.h" -#include -#include "regular_triangulation_2_layers.h" - -#include -#include -#include -#include -#include -#include - -class Layers_toolbar : public QToolBar -{ - Q_OBJECT -public: - Layers_toolbar(CGAL::Qt_widget *w, QMainWindow *mw, Regular_triangulation *t); - ~Layers_toolbar() - { - delete showT; - delete showV; - delete showP; - }; -private: - QToolButton *but[10]; - CGAL::Qt_widget *widget; - QMainWindow *window; - Regular_triangulation - *dt; - QButtonGroup *button_group; - int nr_of_buttons; - - Qt_layer_show_triangulation < Regular_triangulation > *showT; - Qt_layer_show_voronoi < Regular_triangulation > *showV; - Qt_layer_show_points < Regular_triangulation > *showP; -};//end class - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2_edit_vertex.C b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2_edit_vertex.C deleted file mode 100644 index 082d267927a..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2_edit_vertex.C +++ /dev/null @@ -1,37 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : triangulation_2_edit_vertex.C -// package : Qt_widget -// author(s) : Laurent Rineau -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ - -#ifdef CGAL_USE_QT - -#include "triangulation_2_edit_vertex.h" - -void triangulation_2_edit_vertex_helper::delete_vertex() { delete_vertexi(); }; -void triangulation_2_edit_vertex_helper::move_vertex() { move_vertexi(); }; -void triangulation_2_edit_vertex_helper::change_weight() { change_weighti(); }; -void triangulation_2_edit_vertex_helper::stateChanged(int i){ - if(i==2) - activate(); - else if(i == 0) - deactivate(); -} - -#include "triangulation_2_edit_vertex.moc" - -#endif diff --git a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2_edit_vertex.h b/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2_edit_vertex.h deleted file mode 100644 index d6d64bb9a8c..00000000000 --- a/Packages/Qt_widget/demo/Qt_widget/Triangulation_2/triangulation_2_edit_vertex.h +++ /dev/null @@ -1,338 +0,0 @@ -// ============================================================================ -// -// Copyright (c) 1997-2000 The CGAL Consortium -// -// This software and related documentation is part of an INTERNAL release -// of the Computational Geometry Algorithms Library (CGAL). It is not -// intended for general use. -// -// ---------------------------------------------------------------------------- -// -// file : triangulation_2_edit_vertex.h -// package : QT_widget -// author(s) : Radu Ursu -// release : -// release_date : -// -// coordinator : Laurent Rineau -// -// ============================================================================ -#ifndef TRIANGULATION_2_EDIT_VERTEX_HELPER -#define TRIANGULATION_2_EDIT_VERTEX_HELPER - -#include -#include - - -#include -#include -#include - - - -class triangulation_2_edit_vertex_helper : public CGAL::Qt_widget_layer -{ - Q_OBJECT - public: - virtual void delete_vertexi(){}; - virtual void move_vertexi(){}; - virtual void change_weighti(){}; - - -public slots: - void stateChanged(int i); - void delete_vertex(); - void move_vertex(); - void change_weight(); -}; - -template -class triangulation_2_edit_vertex : public triangulation_2_edit_vertex_helper -{ -public: - - typedef typename T::Point Point; - typedef typename T::Segment Segment; - typedef typename T::Face_handle Face_handle; - typedef typename T::Vertex_handle Vertex_handle; - typedef typename T::Geom_traits::FT FT; -protected: - FT first_x, first_y; - FT x2, y2; - bool wasrepainted; - bool on_first; - Vertex_handle current_v; - //the vertex that will be process - Point old_point; - T *dt; - QPopupMenu *popup; -public: - triangulation_2_edit_vertex() : wasrepainted(true), on_first(FALSE) - {}; - void set_Delaunay (T *t) {dt = t;} -private: - QCursor oldcursor; - - void draw(){ - wasrepainted = true; - }; - void mousePressEvent(QMouseEvent *e) - { - if(e->button() == Qt::LeftButton && on_first) - { - on_first = FALSE; - } - if(e->button() == Qt::RightButton) - { - if (dt->dimension()<2) return; - FT x, y; - widget->x_real(e->x(), x); - widget->y_real(e->y(), y); - Point p(x, y); - Vertex_handle v = dt->nearest_vertex(p); - RasterOp old = widget->rasterOp(); //save the initial raster mode - widget->setRasterOp(XorROP); - widget->lock(); - *widget << CGAL::GREEN << CGAL::PointSize (7) - << CGAL::PointStyle (CGAL::DISC); - if(!wasrepainted) - *widget << old_point; - *widget << v->point(); - widget->unlock(); - widget->setRasterOp(old); - popup->popup(widget->mapToGlobal(e->pos())); - old_point = v->point(); - current_v = v; - wasrepainted = FALSE; - on_first = FALSE; - } - }; - void mouseMoveEvent(QMouseEvent *e) - { - if(on_first) - { - FT x, y; - widget->x_real(e->x(), x); - widget->y_real(e->y(), y); - - *widget << CGAL::GREEN << CGAL::PointSize (5) - << CGAL::PointStyle (CGAL::DISC); - if(!wasrepainted) - *widget << old_point; - *widget << Point(x, y); - dt->remove(current_v); - current_v = dt->insert(Point(x, y)); - widget->redraw(); //redraw the scenes - old_point = Point(x, y); - } -}; - void activating() - { - oldcursor = widget->cursor(); - widget->setCursor(crossCursor); - wasrepainted = TRUE; - popup = new QPopupMenu( widget, 0); - popup->insertItem("Delete Point", this, SLOT(delete_vertex())); - popup->insertItem("Move Point", this, SLOT(move_vertex())); - }; - - void deactivating() - { - widget->setCursor(oldcursor); - }; - void delete_vertexi(){ - dt->remove(current_v); - widget->redraw(); //redraw the scenes - }; - void move_vertexi(){ - on_first = true; - widget->cursor().setPos(widget->mapToGlobal( - QPoint(widget->x_pixel(old_point.x()), widget->y_pixel(old_point.y())))); - }; -};//end class - - -template -class triangulation_2_edit_weightedpoint : public triangulation_2_edit_vertex_helper -{ -public: - - typedef typename T::Point Point; - typedef typename T::Segment Segment; - typedef typename T::Face_handle Face_handle; - typedef typename T::Vertex_handle Vertex_handle; - typedef typename T::Geom_traits GT; - typedef typename CGAL::Kernel_traits::Kernel::FT FT; -protected: - FT first_x, first_y; - FT x2, y2; - bool wasrepainted; - bool on_first; - //true if right mouse button was pressed - bool - move_button_pressed; - //true if the popup's move button was pressed - bool - change_weight_pressed; - //true if the popup's change_weight button was pressed - Vertex_handle current_v; - //the vertex that will be processed - Point old_point; - //contains the old vertex that should be removed - T *t; - //pointer to regular triangulation being used - QPopupMenu *popup; - //the popup being displayed when right mouse button is pressed -public: - triangulation_2_edit_weightedpoint() : wasrepainted(true), on_first(false) - , move_button_pressed(false), change_weight_pressed(false) {}; - void set_triangulation (T *tr) {t = tr;} - - template < class TRIANGULATION > - Vertex_handle - closest_vertex(const TRIANGULATION &T, - Face_handle f, - const Point& p) - { - Vertex_handle v ; - typename GT::Compare_distance_2 cmp = - T.geom_traits().compare_distance_2_object(); - - if( T.is_infinite(f)){ - int i = f->index(T.infinite_vertex()); - Point pcwi = f->vertex(f->cw(i))->point(); - Point pccwi = f->vertex(f->ccw(i))->point(); - v = cmp(p, pcwi, pccwi) == CGAL::SMALLER ? f->vertex(f->cw(i)) : - f->vertex(f->ccw(i)); - } - else{ - v = f->vertex(0); - if (cmp(p, f->vertex(1)->point(), v->point()) == CGAL::SMALLER) - v = f->vertex(1); - if (cmp(p, f->vertex(2)->point(), v->point()) == CGAL::SMALLER) - v = f->vertex(2); - } - return v; - } -private: - QCursor oldcursor; - - void - draw(){ - wasrepainted = true; - } - - void - mousePressEvent(QMouseEvent *e) - { - if(e->button() == Qt::LeftButton && on_first) - { - on_first = FALSE; - } - if(e->button() == Qt::RightButton) - { - if (t->dimension()<2) return; - FT x, y; - widget->x_real(e->x(), x); - widget->y_real(e->y(), y); - Point p(x, y); - Face_handle f = t->locate(p); - Vertex_handle v = closest_vertex(*t, f, p); - RasterOp old = widget->rasterOp(); //save the initial raster mode - widget->setRasterOp(XorROP); - widget->lock(); - *widget << CGAL::GREEN << CGAL::PointSize (7) - << CGAL::PointStyle (CGAL::DISC); - if(!wasrepainted) - *widget << old_point; - *widget << v->point(); - widget->unlock(); - widget->setRasterOp(old); - popup->popup(widget->mapToGlobal(e->pos())); - old_point = v->point(); - current_v = v; - wasrepainted = FALSE; - on_first = FALSE; - } - } - - void - mouseMoveEvent(QMouseEvent *e) - { - if(on_first) - { - if(move_button_pressed){ - FT x, y; - widget->x_real(e->x(), x); - widget->y_real(e->y(), y); - - *widget << CGAL::GREEN << CGAL::PointSize (5) - << CGAL::PointStyle (CGAL::DISC); - if(!wasrepainted) - *widget << old_point; - *widget << Point(x, y); - double wght = current_v->point().weight(); - t->remove(current_v); - current_v = t->insert(GT::Weighted_point(Point(x, y), wght)); - widget->redraw(); //redraw the scenes - old_point = Point(x, y); - } else if(change_weight_pressed){ - FT x, y; - widget->x_real(e->x(), x); - widget->y_real(e->y(), y); - - double wght = current_v->point().weight(); - Point lastp = current_v->point().point(); - - t->remove(current_v); - current_v = t->insert(GT::Weighted_point(lastp, CGAL::squared_distance(lastp, Point(x, y)))); - widget->redraw(); //redraw the scenes - old_point = lastp; - } - } - } - - void - activating() - { - oldcursor = widget->cursor(); - widget->setCursor(crossCursor); - wasrepainted = TRUE; - popup = new QPopupMenu( widget, 0); - popup->insertItem("Delete Vertex", this, SLOT(delete_vertex())); - popup->insertItem("Move Vertex", this, SLOT(move_vertex())); - popup->insertItem("Change Weight", this, SLOT(change_weight())); - } - - void - deactivating() - { - widget->setCursor(oldcursor); - } - - void - delete_vertexi(){ - t->remove(current_v); - widget->redraw(); //redraw the scenes - } - - void - move_vertexi(){ - on_first = true; - change_weight_pressed = false; - move_button_pressed = true; - widget->cursor().setPos(widget->mapToGlobal( - QPoint(widget->x_pixel(old_point.x()), widget->y_pixel(old_point.y())))); - } - - void - change_weighti(){ - on_first = true; - move_button_pressed = false; - change_weight_pressed = true; - widget->cursor().setPos(widget->mapToGlobal( - QPoint(widget->x_pixel(old_point.x()), widget->y_pixel(old_point.y())))); - } -};//end class - -#endif \ No newline at end of file