diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-06-22 22:36:36 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-06-22 22:36:36 (GMT) |
commit | 4480b67f960af29106e66d1c24e211cf4368f33b (patch) | |
tree | 60200cd451a817a32cd7dd49669b6ffa48488cbf /intersect.cc | |
parent | a19c8ed4751bb193874071c83fe1666a046c1030 (diff) |
Clifford Wolf:
Various cleanups
git-svn-id: http://svn.clifford.at/openscad/trunk@10 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'intersect.cc')
-rw-r--r-- | intersect.cc | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/intersect.cc b/intersect.cc deleted file mode 100644 index 29dd4e3..0000000 --- a/intersect.cc +++ /dev/null @@ -1,73 +0,0 @@ -/* - * OpenSCAD (www.openscad.at) - * Copyright (C) 2009 Clifford Wolf <clifford@clifford.at> - * - * 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. - * - * 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 - * - */ - -#define INCLUDE_ABSTRACT_NODE_DETAILS - -#include "openscad.h" - -class IntersectModule : public AbstractModule -{ -public: - virtual AbstractNode *evaluate(const Context *ctx, const QVector<QString> &call_argnames, const QVector<Value> &call_argvalues, const QVector<AbstractNode*> child_nodes) const; -}; - -class IntersectNode : public AbstractNode -{ -public: - virtual CGAL_Nef_polyhedron render_cgal_nef_polyhedron() const; - virtual QString dump(QString indent) const; -}; - -AbstractNode *IntersectModule::evaluate(const Context*, const QVector<QString>&, const QVector<Value>&, const QVector<AbstractNode*> child_nodes) const -{ - IntersectNode *node = new IntersectNode(); - foreach (AbstractNode *v, child_nodes) - node->children.append(v); - return node; -} - -CGAL_Nef_polyhedron IntersectNode::render_cgal_nef_polyhedron() const -{ - bool first = true; - CGAL_Nef_polyhedron N; - foreach (AbstractNode *v, children) { - if (first) - N = v->render_cgal_nef_polyhedron(); - else - N *= v->render_cgal_nef_polyhedron(); - first = false; - } - progress_report(); - return N; -} - -QString IntersectNode::dump(QString indent) const -{ - QString text = indent + "intersect() {\n"; - foreach (AbstractNode *v, children) - text += v->dump(indent + QString("\t")); - return text + indent + "}\n"; -} - -void register_builtin_intersect() -{ - builtin_modules["intersect"] = new IntersectModule(); -} - |