summaryrefslogtreecommitdiff
path: root/src/nef2dxf.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-09-01 02:09:06 (GMT)
committerMarius Kintel <marius@kintel.net>2011-09-01 02:09:06 (GMT)
commit1633fb0344c92631562c2a802e8deddf2ce4637f (patch)
treee6e71a9d9a524119db9cc430c5f8409c6839aa9a /src/nef2dxf.cc
parentc193372d2ff20d32900d72e817e7c9608ae36112 (diff)
Refactoring of CGAL functionality to allow for forward-declaration of CGAL classes in header files, reducing coupling and thus compilation times
Diffstat (limited to 'src/nef2dxf.cc')
-rw-r--r--src/nef2dxf.cc77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/nef2dxf.cc b/src/nef2dxf.cc
deleted file mode 100644
index cbefa9c..0000000
--- a/src/nef2dxf.cc
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * OpenSCAD (www.openscad.org)
- * Copyright (C) 2009-2011 Clifford Wolf <clifford@clifford.at> and
- * Marius Kintel <marius@kintel.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * As a special exception, you have permission to link this program
- * with the CGAL library and distribute executables, as long as you
- * follow the requirements of the GNU GPL in regard to all of the
- * software in the executable aside from CGAL.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "dxfdata.h"
-#include "grid.h"
-#include "cgal.h"
-
-#ifdef ENABLE_CGAL
-
-DxfData::DxfData(const struct CGAL_Nef_polyhedron &N)
-{
- assert(N.dim == 2);
- Grid2d<int> grid(GRID_COARSE);
-
- typedef CGAL_Nef_polyhedron2::Explorer Explorer;
- typedef Explorer::Face_const_iterator fci_t;
- typedef Explorer::Halfedge_around_face_const_circulator heafcc_t;
- Explorer E = N.p2.explorer();
-
- for (fci_t fit = E.faces_begin(), facesend = E.faces_end(); fit != facesend; ++fit)
- {
- heafcc_t fcirc(E.halfedge(fit)), fend(fcirc);
- int first_point = -1, last_point = -1;
- CGAL_For_all(fcirc, fend) {
- if (E.is_standard(E.target(fcirc))) {
- Explorer::Point ep = E.point(E.target(fcirc));
- double x = to_double(ep.x()), y = to_double(ep.y());
- int this_point = -1;
- if (grid.has(x, y)) {
- this_point = grid.align(x, y);
- } else {
- this_point = grid.align(x, y) = points.size();
- points.append(Vector2d(x, y));
- }
- if (first_point < 0) {
- paths.append(Path());
- first_point = this_point;
- }
- if (this_point != last_point) {
- paths.last().points.append(&points[this_point]);
- last_point = this_point;
- }
- }
- }
- if (first_point >= 0) {
- paths.last().is_closed = 1;
- paths.last().points.append(&points[first_point]);
- }
- }
-
- fixup_path_direction();
-}
-
-#endif // ENABLE_CGAL
contact: Jan Huwald // Impressum