diff options
author | Marius Kintel <marius@kintel.net> | 2011-09-30 01:11:28 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2011-09-30 01:11:28 (GMT) |
commit | bf3fb9634c44bcd28a4e2faede72052daa1f966c (patch) | |
tree | 50096d172fa5aa4df69dec7e0f34372e4dd441f5 /src/dxfrotextrude.cc | |
parent | ff915961b6fac11c535742857b5923514ce18e09 (diff) |
Renamed some files and classnames for clarification
Diffstat (limited to 'src/dxfrotextrude.cc')
-rw-r--r-- | src/dxfrotextrude.cc | 137 |
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(); -} |