summaryrefslogtreecommitdiff
path: root/src/dxfrotextrude.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-09-30 01:11:28 (GMT)
committerMarius Kintel <marius@kintel.net>2011-09-30 01:11:28 (GMT)
commitbf3fb9634c44bcd28a4e2faede72052daa1f966c (patch)
tree50096d172fa5aa4df69dec7e0f34372e4dd441f5 /src/dxfrotextrude.cc
parentff915961b6fac11c535742857b5923514ce18e09 (diff)
Renamed some files and classnames for clarification
Diffstat (limited to 'src/dxfrotextrude.cc')
-rw-r--r--src/dxfrotextrude.cc137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/dxfrotextrude.cc b/src/dxfrotextrude.cc
deleted file mode 100644
index 646b643..0000000
--- a/src/dxfrotextrude.cc
+++ /dev/null
@@ -1,137 +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 "dxfrotextrudenode.h"
-#include "module.h"
-#include "context.h"
-#include "printutils.h"
-#include "builtin.h"
-#include "polyset.h"
-#include "dxfdata.h"
-#include "progress.h"
-#include "visitor.h"
-#include "PolySetEvaluator.h"
-#include "openscad.h" // get_fragments_from_r()
-
-#include <sstream>
-#include <boost/assign/std/vector.hpp>
-using namespace boost::assign; // bring 'operator+=()' into scope
-
-#include <QFileInfo>
-
-class DxfRotateExtrudeModule : public AbstractModule
-{
-public:
- DxfRotateExtrudeModule() { }
- virtual AbstractNode *evaluate(const Context *ctx, const ModuleInstantiation *inst) const;
-};
-
-AbstractNode *DxfRotateExtrudeModule::evaluate(const Context *ctx, const ModuleInstantiation *inst) const
-{
- DxfRotateExtrudeNode *node = new DxfRotateExtrudeNode(inst);
-
- std::vector<std::string> argnames;
- argnames += "file", "layer", "origin", "scale";
- std::vector<Expression*> argexpr;
-
- Context c(ctx);
- c.args(argnames, argexpr, inst->argnames, inst->argvalues);
-
- node->fn = c.lookup_variable("$fn").num;
- node->fs = c.lookup_variable("$fs").num;
- node->fa = c.lookup_variable("$fa").num;
-
- Value file = c.lookup_variable("file");
- Value layer = c.lookup_variable("layer", true);
- Value convexity = c.lookup_variable("convexity", true);
- Value origin = c.lookup_variable("origin", true);
- Value scale = c.lookup_variable("scale", true);
-
- if (!file.text.empty()) {
- PRINTF("DEPRECATED: Support for reading files in rotate_extrude will be removed in future releases. Use a child import() instead.");
- node->filename = c.getAbsolutePath(file.text);
- }
-
- node->layername = layer.text;
- node->convexity = (int)convexity.num;
- origin.getv2(node->origin_x, node->origin_y);
- node->scale = scale.num;
-
- if (node->convexity <= 0)
- node->convexity = 1;
-
- if (node->scale <= 0)
- node->scale = 1;
-
- if (node->filename.empty()) {
- std::vector<AbstractNode *> evaluatednodes = inst->evaluateChildren();
- node->children.insert(node->children.end(), evaluatednodes.begin(), evaluatednodes.end());
- }
-
- return node;
-}
-
-void register_builtin_dxf_rotate_extrude()
-{
- builtin_modules["dxf_rotate_extrude"] = new DxfRotateExtrudeModule();
- builtin_modules["rotate_extrude"] = new DxfRotateExtrudeModule();
-}
-
-PolySet *DxfRotateExtrudeNode::evaluate_polyset(PolySetEvaluator *evaluator) const
-{
- if (!evaluator) {
- PRINTF("WARNING: No suitable PolySetEvaluator found for %s module!", this->name().c_str());
- return NULL;
- }
-
- print_messages_push();
-
- PolySet *ps = evaluator->evaluatePolySet(*this);
-
- print_messages_pop();
-
- return ps;
-}
-
-std::string DxfRotateExtrudeNode::toString() const
-{
- std::stringstream stream;
-
- stream << this->name() << "(";
- if (!this->filename.empty()) { // Ignore deprecated parameters if empty
- stream <<
- "file = \"" << this->filename << "\", "
- "cache = \"" << QFileInfo(QString::fromStdString(this->filename)) << "\", "
- "layer = \"" << this->layername << "\", "
- "origin = [ " << std::dec << this->origin_x << " " << this->origin_y << " ], "
- "scale = " << this->scale << ", ";
- }
- stream <<
- "convexity = " << this->convexity << ", "
- "$fn = " << this->fn << ", $fa = " << this->fa << ", $fs = " << this->fs << ")";
-
- return stream.str();
-}
contact: Jan Huwald // Impressum