diff options
Diffstat (limited to 'tests')
136 files changed, 487 insertions, 184 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 1d3a004..1874669 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -96,6 +96,8 @@ include_directories(../src) add_definitions(-DOPENSCAD_VERSION=test) set(COMMON_SOURCES + ../src/handle_dep.cc + ../src/qhash.cc ../src/export.cc ../src/value.cc ../src/expr.cc @@ -107,6 +109,7 @@ set(COMMON_SOURCES ../src/polyset.cc ../src/csgops.cc ../src/transform.cc + ../src/color.cc ../src/primitives.cc ../src/projection.cc ../src/cgaladv.cc @@ -124,6 +127,7 @@ set(COMMON_SOURCES ../src/nodedumper.cc ../src/traverser.cc ../src/PolySetEvaluator.cc + ../src/PolySetCache.cc ../src/Tree.cc ${FLEX_OpenSCADlexer_OUTPUTS} ${BISON_OpenSCADparser_OUTPUTS}) @@ -156,15 +160,29 @@ include_directories(${CGAL_INCLUDE_DIRS}) # # cgaltest # -add_executable(cgaltest cgaltest.cc ../src/cgal.cc ../src/CSGTermEvaluator.cc ../src/CGALEvaluator.cc - ../src/PolySetCGALEvaluator.cc ../src/qhash.cc ../src/nef2dxf.cc - ../src/cgaladv_minkowski2.cc ../src/cgaladv_minkowski3.cc ${COMMON_SOURCES}) +add_executable(cgaltest cgaltest.cc ../src/CGAL_Nef_polyhedron.cc ../src/cgalutils.cc ../src/CSGTermEvaluator.cc + ../src/CGALEvaluator.cc ../src/CGALCache.cc ../src/PolySetCGALEvaluator.cc ../src/qhash.cc + ../src/CGAL_Nef_polyhedron_DxfData.cc ../src/cgaladv_minkowski2.cc ../src/cgaladv_convexhull2.cc + ${COMMON_SOURCES}) set_target_properties(cgaltest PROPERTIES COMPILE_FLAGS "-DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") target_link_libraries(cgaltest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENGL_LIBRARY}) # +# cgalpngtest +# +add_executable(cgalpngtest cgalpngtest.cc OffscreenView.cc OffscreenContext.mm + ../src/CGALRenderer.cc ../src/CGAL_Nef_polyhedron.cc ../src/cgalutils.cc + ../src/CSGTermEvaluator.cc ../src/CGALEvaluator.cc ../src/CGALCache.cc + ../src/PolySetCGALEvaluator.cc ../src/qhash.cc + ../src/CGAL_Nef_polyhedron_DxfData.cc ../src/cgaladv_minkowski2.cc ../src/cgaladv_convexhull2.cc + ${COMMON_SOURCES}) +set_target_properties(cgalpngtest PROPERTIES COMPILE_FLAGS "-DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") +target_link_libraries(cgalpngtest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY}) + +# # opencsgtest # +<<<<<<< HEAD if (NOT $ENV{MACOSX_DEPLOY_DIR} STREQUAL "") set(OFFSCREEN_SOURCE "OffscreenContext.mm") else() @@ -175,6 +193,13 @@ add_executable(opencsgtest opencsgtest.cc OffscreenView.cc ${OFFSCREEN_SOURCE} ../src/cgal.cc ../src/OpenCSGRenderer.cc ../src/ThrownTogetherRenderer.cc ../src/CSGTermEvaluator.cc ../src/CGALEvaluator.cc ../src/PolySetCGALEvaluator.cc ../src/qhash.cc ../src/nef2dxf.cc ../src/cgaladv_minkowski2.cc ../src/cgaladv_minkowski3.cc +======= +add_executable(opencsgtest opencsgtest.cc OffscreenView.cc OffscreenContext.mm + ../src/OpenCSGRenderer.cc ../src/ThrownTogetherRenderer.cc + ../src/CSGTermEvaluator.cc ../src/CGAL_Nef_polyhedron.cc ../src/cgalutils.cc + ../src/CGALEvaluator.cc ../src/CGALCache.cc ../src/PolySetCGALEvaluator.cc ../src/qhash.cc + ../src/CGAL_Nef_polyhedron_DxfData.cc ../src/cgaladv_minkowski2.cc ../src/cgaladv_convexhull2.cc +>>>>>>> upstream/visitor ${COMMON_SOURCES}) set_target_properties(opencsgtest PROPERTIES COMPILE_FLAGS "-DENABLE_OPENCSG -DENABLE_CGAL ${CGAL_CXX_FLAGS_INIT}") target_link_libraries(opencsgtest ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENCSG_LIBRARY} ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY}) @@ -207,16 +232,56 @@ add_cmdline_test(csgtexttest txt ${MINIMAL_FILES}) add_cmdline_test(csgtermtest txt ${MINIMAL_FILES}) # Add cgaltest tests to CTest +<<<<<<< HEAD LIST(APPEND CGALTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/cube.scad) LIST(APPEND CGALTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/sphere.scad) LIST(APPEND CGALTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/cylinder.scad) LIST(APPEND CGALTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/background-modifier.scad) LIST(APPEND CGALTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/highlight-modifier.scad) LIST(APPEND CGALTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example001.scad) +======= +>>>>>>> upstream/visitor add_cmdline_test(cgaltest stl ${CGALTEST_FILES}) +# Add cgalpngtest tests to CTest +LIST(APPEND CGALPNGTEST_FILES + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/2d-3d.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/circle-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/square-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/polygon-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/cube-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/sphere-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/cylinder-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/union-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/difference-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/intersection-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/linear_extrude-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/rotate_extrude-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/minkowski2-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/minkowski3-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/hull2-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/surface-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/import_dxf-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/transform-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/color-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/background-modifier.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/highlight-modifier.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/root-modifier.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/disable-modifier.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/for-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/for-nested-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/intersection_for-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/render-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/projection-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/assign-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/include-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/child-tests.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/ifelse-tests.scad) +#LIST(APPEND CGALPNGTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example001.scad) +add_cmdline_test(cgalpngtest png ${CGALPNGTEST_FILES}) + # Add opencsg tests to CTest -LIST(APPEND OPENCSGTEST_FILES ${CGALTEST_FILES}) +LIST(APPEND OPENCSGTEST_FILES ${CGALPNGTEST_FILES}) add_cmdline_test(opencsgtest png ${OPENCSGTEST_FILES}) # Add dxfexport tests to CTest diff --git a/tests/FindGLEW.cmake b/tests/FindGLEW.cmake index a784990..edf590c 100644 --- a/tests/FindGLEW.cmake +++ b/tests/FindGLEW.cmake @@ -23,16 +23,26 @@ IF (WIN32) ${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib DOC "The GLEW library") ELSE (WIN32) +<<<<<<< HEAD MESSAGE( "-- GLEW_DIR value:" ${GLEW_DIR}) FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h PATHS /usr/include /usr/local/include ${GLEW_DIR}/include +======= + message("GLEW_DIR: " ${GLEW_DIR}) + FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h + PATHS ${GLEW_DIR}/include /usr/include /usr/local/include +>>>>>>> upstream/visitor NO_DEFAULT_PATH DOC "The directory where GL/glew.h resides") FIND_LIBRARY( GLEW_LIBRARY NAMES GLEW glew +<<<<<<< HEAD PATHS /usr/lib /usr/local/lib ${GLEW_DIR}/lib +======= + PATHS ${GLEW_DIR}/lib /usr/lib /usr/local/lib +>>>>>>> upstream/visitor NO_DEFAULT_PATH DOC "The GLEW library") ENDIF (WIN32) @@ -43,5 +53,3 @@ IF (GLEW_INCLUDE_PATH) ELSE (GLEW_INCLUDE_PATH) SET( GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise") ENDIF (GLEW_INCLUDE_PATH) - -MARK_AS_ADVANCED( GLEW_FOUND ) diff --git a/tests/OffscreenView.cc b/tests/OffscreenView.cc index 9565908..8a4b57d 100644 --- a/tests/OffscreenView.cc +++ b/tests/OffscreenView.cc @@ -10,10 +10,8 @@ #define FAR_FAR_AWAY 100000.0 OffscreenView::OffscreenView(size_t width, size_t height) - : orthomode(false), showaxes(true), showfaces(true), showedges(false), - object_rot_x(35), object_rot_y(0), object_rot_z(25), - camera_eye_x(0), camera_eye_y(0), camera_eye_z(0), - camera_center_x(0), camera_center_y(0), camera_center_z(0) + : orthomode(false), showaxes(false), showfaces(true), showedges(false), + object_rot(35, 0, 25), camera_eye(0, 0, 0), camera_center(0, 0, 0) { for (int i = 0; i < 10; i++) this->shaderinfo[i] = 0; this->ctx = create_offscreen_context(width, height); @@ -156,15 +154,14 @@ void OffscreenView::resizeGL(int w, int h) #endif glViewport(0, 0, w, h); w_h_ratio = sqrt((double)w / (double)h); - setupPerspective(); } void OffscreenView::setupPerspective() { glMatrixMode(GL_PROJECTION); glLoadIdentity(); - gluPerspective(90, w_h_ratio, 0.1*(this->camera_center_y - this->camera_eye_y), - 3*(this->camera_center_y - this->camera_eye_y)); + double dist = (this->camera_center - this->camera_eye).norm(); + gluPerspective(45, w_h_ratio, 0.1*dist, 100*dist); } void OffscreenView::setupOrtho(bool offset) @@ -172,7 +169,7 @@ void OffscreenView::setupOrtho(bool offset) glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (offset) glTranslated(-0.8, -0.8, 0); - double l = (this->camera_eye_y - this->camera_center_y)/10; + double l = (this->camera_center - this->camera_eye).norm() / 10; glOrtho(-w_h_ratio*l, +w_h_ratio*l, -(1/w_h_ratio)*l, +(1/w_h_ratio)*l, -FAR_FAR_AWAY, +FAR_FAR_AWAY); @@ -192,13 +189,13 @@ void OffscreenView::paintGL() glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); - gluLookAt(this->camera_eye_x, this->camera_eye_y, this->camera_eye_z, - this->camera_center_x, this->camera_center_y, this->camera_center_z, + gluLookAt(this->camera_eye[0], this->camera_eye[1], this->camera_eye[2], + this->camera_center[0], this->camera_center[1], this->camera_center[2], 0.0, 0.0, 1.0); - glRotated(object_rot_x, 1.0, 0.0, 0.0); - glRotated(object_rot_y, 0.0, 1.0, 0.0); - glRotated(object_rot_z, 0.0, 0.0, 1.0); + // glRotated(object_rot[0], 1.0, 0.0, 0.0); + // glRotated(object_rot[1], 0.0, 1.0, 0.0); + // glRotated(object_rot[2], 0.0, 0.0, 1.0); // Large gray axis cross inline with the model // FIXME: This is always gray - adjust color to keep contrast with background @@ -207,7 +204,7 @@ void OffscreenView::paintGL() glLineWidth(1); glColor3d(0.5, 0.5, 0.5); glBegin(GL_LINES); - double l = 3*(this->camera_eye_y - this->camera_center_y); + double l = 3*(this->camera_center - this->camera_eye).norm(); glVertex3d(-l, 0, 0); glVertex3d(+l, 0, 0); glVertex3d(0, -l, 0); @@ -237,14 +234,9 @@ bool OffscreenView::save(const char *filename) return save_framebuffer(this->ctx, filename); } -void OffscreenView::setCamera(double xpos, double ypos, double zpos, - double xcenter, double ycenter, double zcenter) +void OffscreenView::setCamera(const Eigen::Vector3d &pos, const Eigen::Vector3d ¢er) { - this->camera_eye_x = xpos; - this->camera_eye_y = ypos; - this->camera_eye_z = zpos; - this->camera_center_x = xcenter; - this->camera_center_y = ycenter; - this->camera_center_z = zcenter; + this->camera_eye = pos; + this->camera_center = center; } diff --git a/tests/OffscreenView.h b/tests/OffscreenView.h index d71ea2f..587255a 100644 --- a/tests/OffscreenView.h +++ b/tests/OffscreenView.h @@ -2,6 +2,8 @@ #define OFFSCREENVIEW_H_ #include "OffscreenContext.h" +#include <Eigen/Core> +#include <Eigen/Geometry> #include <stdint.h> class OffscreenView @@ -11,8 +13,7 @@ public: ~OffscreenView(); void setRenderer(class Renderer* r); - void setCamera(double xpos, double ypos, double zpos, - double xcenter, double ycenter, double zcenter); + void setCamera(const Eigen::Vector3d &pos, const Eigen::Vector3d ¢er); void initializeGL(); void resizeGL(int w, int h); void setupPerspective(); @@ -25,15 +26,9 @@ public: private: Renderer *renderer; double w_h_ratio; - double object_rot_x; - double object_rot_y; - double object_rot_z; - double camera_eye_x; - double camera_eye_y; - double camera_eye_z; - double camera_center_x; - double camera_center_y; - double camera_center_z; + Eigen::Vector3d object_rot; + Eigen::Vector3d camera_eye; + Eigen::Vector3d camera_center; bool orthomode; bool showaxes; diff --git a/tests/cgalpngtest.cc b/tests/cgalpngtest.cc new file mode 100644 index 0000000..4c5c914 --- /dev/null +++ b/tests/cgalpngtest.cc @@ -0,0 +1,230 @@ +/* + * 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. + * + * 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 "myqhash.h" +#include "openscad.h" +#include "node.h" +#include "module.h" +#include "polyset.h" +#include "context.h" +#include "value.h" +#include "export.h" +#include "builtin.h" +#include "Tree.h" +#include "CGAL_Nef_polyhedron.h" +#include "CGALEvaluator.h" +#include "PolySetCGALEvaluator.h" +#include "CGALRenderer.h" +#include "CGAL_renderer.h" +#include "cgal.h" +#include "OffscreenView.h" +#include "handle_dep.h" + +#include <QApplication> +#include <QFile> +#include <QDir> +#include <QSet> +#include <QTextStream> +#include <getopt.h> +#include <iostream> +#include <assert.h> +#include <sstream> + +std::string commandline_commands; +QString currentdir; +QString examplesdir; +QString librarydir; + +using std::string; + +void cgalTree(Tree &tree) +{ + assert(tree.root()); + + CGALEvaluator evaluator(tree); + Traverser evaluate(evaluator, *tree.root(), Traverser::PRE_AND_POSTFIX); + evaluate.execute(); +} + +AbstractNode *find_root_tag(AbstractNode *n) +{ + foreach(AbstractNode *v, n->children) { + if (v->modinst->tag_root) return v; + if (AbstractNode *vroot = find_root_tag(v)) return vroot; + } + return NULL; +} + +struct CsgInfo +{ + OffscreenView *glview; +}; + +int main(int argc, char **argv) +{ + if (argc != 2) { + fprintf(stderr, "Usage: %s <file.scad>\n", argv[0]); + exit(1); + } + + const char *filename = argv[1]; + + initialize_builtin_functions(); + initialize_builtin_modules(); + + QApplication app(argc, argv, false); + QDir original_path = QDir::current(); + + currentdir = QDir::currentPath(); + + QDir libdir(QApplication::instance()->applicationDirPath()); +#ifdef Q_WS_MAC + libdir.cd("../Resources"); // Libraries can be bundled + if (!libdir.exists("libraries")) libdir.cd("../../.."); +#elif defined(Q_OS_UNIX) + if (libdir.cd("../share/openscad/libraries")) { + librarydir = libdir.path(); + } else + if (libdir.cd("../../share/openscad/libraries")) { + librarydir = libdir.path(); + } else + if (libdir.cd("../../libraries")) { + librarydir = libdir.path(); + } else +#endif + if (libdir.cd("libraries")) { + librarydir = libdir.path(); + } + + Context root_ctx; + root_ctx.functions_p = &builtin_functions; + root_ctx.modules_p = &builtin_modules; + root_ctx.set_variable("$fn", Value(0.0)); + root_ctx.set_variable("$fs", Value(1.0)); + root_ctx.set_variable("$fa", Value(12.0)); + root_ctx.set_variable("$t", Value(0.0)); + + Value zero3; + zero3.type = Value::VECTOR; + zero3.append(new Value(0.0)); + zero3.append(new Value(0.0)); + zero3.append(new Value(0.0)); + root_ctx.set_variable("$vpt", zero3); + root_ctx.set_variable("$vpr", zero3); + + + AbstractModule *root_module; + ModuleInstantiation root_inst; + + QFileInfo fileInfo(filename); + handle_dep(filename); + FILE *fp = fopen(filename, "rt"); + if (!fp) { + fprintf(stderr, "Can't open input file `%s'!\n", filename); + exit(1); + } else { + std::stringstream text; + char buffer[513]; + int ret; + while ((ret = fread(buffer, 1, 512, fp)) > 0) { + buffer[ret] = 0; + text << buffer; + } + fclose(fp); + text << commandline_commands; + root_module = parse(text.str().c_str(), fileInfo.absolutePath().toLocal8Bit(), false); + if (!root_module) { + exit(1); + } + } + + QDir::setCurrent(fileInfo.absolutePath()); + + AbstractNode::resetIndexCounter(); + AbstractNode *absolute_root_node = root_module->evaluate(&root_ctx, &root_inst); + AbstractNode *root_node; + // Do we have an explicit root node (! modifier)? + if (!(root_node = find_root_tag(absolute_root_node))) root_node = absolute_root_node; + + Tree tree(root_node); + + CsgInfo csgInfo; + CGALEvaluator cgalevaluator(tree); + PolySetCGALEvaluator psevaluator(cgalevaluator); + + CGAL_Nef_polyhedron N = cgalevaluator.evaluateCGALMesh(*root_node); + + QDir::setCurrent(original_path.absolutePath()); + + csgInfo.glview = new OffscreenView(512,512); + + glewInit(); +#ifdef DEBUG + cout << "GLEW version " << glewGetString(GLEW_VERSION) << "\n"; + cout << (const char *)glGetString(GL_RENDERER) << "(" << (const char *)glGetString(GL_VENDOR) << ")\n" + << "OpenGL version " << (const char *)glGetString(GL_VERSION) << "\n"; + cout << "Extensions: " << (const char *)glGetString(GL_EXTENSIONS) << "\n"; + + + if (GLEW_ARB_framebuffer_object) { + cout << "ARB_FBO supported\n"; + } + if (GLEW_EXT_framebuffer_object) { + cout << "EXT_FBO supported\n"; + } + if (GLEW_EXT_packed_depth_stencil) { + cout << "EXT_packed_depth_stencil\n"; + } +#endif + + CGALRenderer cgalRenderer(N); + + BoundingBox bbox; + if (cgalRenderer.polyhedron) { + CGAL::Bbox_3 cgalbbox = cgalRenderer.polyhedron->bbox(); + bbox = BoundingBox(Vector3d(cgalbbox.xmin(), cgalbbox.ymin(), cgalbbox.zmin()), + Vector3d(cgalbbox.xmax(), cgalbbox.ymax(), cgalbbox.zmax())); + } + else if (cgalRenderer.polyset) { + bbox = cgalRenderer.polyset->getBoundingBox(); + } + Vector3d center = (bbox.min() + bbox.max()) / 2; + double radius = (bbox.max() - bbox.min()).norm() / 2; + + + Vector3d cameradir(1, 1, -0.5); + Vector3d camerapos = center - radius*2*cameradir; + csgInfo.glview->setCamera(camerapos, center); + + + csgInfo.glview->setRenderer(&cgalRenderer); + csgInfo.glview->paintGL(); + csgInfo.glview->save("/dev/stdout"); + + destroy_builtin_functions(); + destroy_builtin_modules(); + + return 0; +} diff --git a/tests/cgaltest.cc b/tests/cgaltest.cc index df03a43..8dfb63c 100644 --- a/tests/cgaltest.cc +++ b/tests/cgaltest.cc @@ -25,6 +25,7 @@ #include "myqhash.h" #include "openscad.h" +#include "handle_dep.h" #include "node.h" #include "module.h" #include "context.h" @@ -32,6 +33,7 @@ #include "export.h" #include "builtin.h" #include "Tree.h" +#include "CGAL_Nef_polyhedron.h" #include "CGALEvaluator.h" #include "PolySetCGALEvaluator.h" @@ -42,41 +44,34 @@ #include <QTextStream> #include <getopt.h> #include <iostream> +#include <assert.h> +#include <sstream> -QString commandline_commands; -const char *make_command = NULL; -QSet<QString> dependencies; +std::string commandline_commands; QString currentdir; QString examplesdir; QString librarydir; using std::string; -void handle_dep(QString filename) -{ - if (filename.startsWith("/")) - dependencies.insert(filename); - else - dependencies.insert(QDir::currentPath() + QString("/") + filename); - if (!QFile(filename).exists() && make_command) { - char buffer[4096]; - snprintf(buffer, 4096, "%s '%s'", make_command, filename.replace("'", "'\\''").toUtf8().data()); - system(buffer); // FIXME: Handle error - } -} - -// FIXME: enforce some maximum cache size (old version had 100K vertices as limit) -QHash<std::string, CGAL_Nef_polyhedron> cache; - void cgalTree(Tree &tree) { assert(tree.root()); - CGALEvaluator evaluator(cache, tree); + CGALEvaluator evaluator(tree); Traverser evaluate(evaluator, *tree.root(), Traverser::PRE_AND_POSTFIX); evaluate.execute(); } +AbstractNode *find_root_tag(AbstractNode *n) +{ + foreach(AbstractNode *v, n->children) { + if (v->modinst->tag_root) return v; + if (AbstractNode *vroot = find_root_tag(v)) return vroot; + } + return NULL; +} + int main(int argc, char **argv) { if (argc != 2) { @@ -132,7 +127,6 @@ int main(int argc, char **argv) AbstractModule *root_module; ModuleInstantiation root_inst; - AbstractNode *root_node; QFileInfo fileInfo(filename); handle_dep(filename); @@ -141,15 +135,16 @@ int main(int argc, char **argv) fprintf(stderr, "Can't open input file `%s'!\n", filename); exit(1); } else { - QString text; + std::stringstream text; char buffer[513]; int ret; while ((ret = fread(buffer, 1, 512, fp)) > 0) { buffer[ret] = 0; - text += buffer; + text << buffer; } fclose(fp); - root_module = parse((text+commandline_commands).toAscii().data(), fileInfo.absolutePath().toLocal8Bit(), false); + text << commandline_commands; + root_module = parse(text.str().c_str(), fileInfo.absolutePath().toLocal8Bit(), false); if (!root_module) { exit(1); } @@ -158,20 +153,22 @@ int main(int argc, char **argv) QDir::setCurrent(fileInfo.absolutePath()); AbstractNode::resetIndexCounter(); - root_node = root_module->evaluate(&root_ctx, &root_inst); + AbstractNode *absolute_root_node = root_module->evaluate(&root_ctx, &root_inst); + AbstractNode *root_node; + // Do we have an explicit root node (! modifier)? + if (!(root_node = find_root_tag(absolute_root_node))) root_node = absolute_root_node; Tree tree(root_node); - QHash<std::string, CGAL_Nef_polyhedron> cache; - CGALEvaluator cgalevaluator(cache, tree); + CGALEvaluator cgalevaluator(tree); PolySetCGALEvaluator psevaluator(cgalevaluator); CGAL_Nef_polyhedron N = cgalevaluator.evaluateCGALMesh(*root_node); QDir::setCurrent(original_path.absolutePath()); - QTextStream outstream(stdout); - export_stl(&N, outstream, NULL); - + if (!N.empty()) { + export_stl(&N, std::cout, NULL); + } destroy_builtin_functions(); destroy_builtin_modules(); diff --git a/tests/csgtermtest.cc b/tests/csgtermtest.cc index 9be09fc..f23ec70 100644 --- a/tests/csgtermtest.cc +++ b/tests/csgtermtest.cc @@ -23,9 +23,12 @@ * */ +#include "myqhash.h" +#include "PolySetEvaluator.h" #include "CSGTermEvaluator.h" #include "CSGTextCache.h" #include "openscad.h" +#include "handle_dep.h" #include "node.h" #include "module.h" #include "context.h" @@ -42,29 +45,15 @@ #include <getopt.h> #include <assert.h> #include <iostream> +#include <sstream> using std::cout; -QString commandline_commands; -const char *make_command = NULL; -QSet<QString> dependencies; +std::string commandline_commands; QString currentdir; QString examplesdir; QString librarydir; -void handle_dep(QString filename) -{ - if (filename.startsWith("/")) - dependencies.insert(filename); - else - dependencies.insert(QDir::currentPath() + QString("/") + filename); - if (!QFile(filename).exists() && make_command) { - char buffer[4096]; - snprintf(buffer, 4096, "%s '%s'", make_command, filename.replace("'", "'\\''").toUtf8().data()); - system(buffer); // FIXME: Handle error - } -} - int main(int argc, char **argv) { if (argc != 2) { @@ -131,15 +120,16 @@ int main(int argc, char **argv) fprintf(stderr, "Can't open input file `%s'!\n", filename); exit(1); } else { - QString text; + std::stringstream text; char buffer[513]; int ret; while ((ret = fread(buffer, 1, 512, fp)) > 0) { buffer[ret] = 0; - text += buffer; + text << buffer; } fclose(fp); - root_module = parse((text+commandline_commands).toAscii().data(), fileInfo.absolutePath().toLocal8Bit(), false); + text << commandline_commands; + root_module = parse(text.str().c_str(), fileInfo.absolutePath().toLocal8Bit(), false); if (!root_module) { exit(1); } @@ -154,9 +144,17 @@ int main(int argc, char **argv) // cout << tree.getString(*root_node) << "\n"; +<<<<<<< HEAD CSGTermEvaluator evaluator(tree); vector<CSGTerm*> empty = vector<CSGTerm*>(); CSGTerm *root_term = evaluator.evaluateCSGTerm(*root_node, empty, empty); +======= + vector<CSGTerm*> highlights; + vector<CSGTerm*> background; + PolySetEvaluator psevaluator(tree); + CSGTermEvaluator evaluator(tree, &psevaluator); + CSGTerm *root_term = evaluator.evaluateCSGTerm(*root_node, highlights, background); +>>>>>>> upstream/visitor // cout << "Stored terms: " << evaluator.stored_term.size() << "\n"; // for (map<int, class CSGTerm*>::iterator iter = evaluator.stored_term.begin(); diff --git a/tests/csgtexttest.cc b/tests/csgtexttest.cc index c259e2d..3c4451d 100644 --- a/tests/csgtexttest.cc +++ b/tests/csgtexttest.cc @@ -26,6 +26,7 @@ #include "CSGTextRenderer.h" #include "CSGTextCache.h" #include "openscad.h" +#include "handle_dep.h" #include "node.h" #include "module.h" #include "context.h" @@ -41,27 +42,13 @@ #include <getopt.h> #include <assert.h> #include <iostream> +#include <sstream> -QString commandline_commands; -const char *make_command = NULL; -QSet<QString> dependencies; +std::string commandline_commands; QString currentdir; QString examplesdir; QString librarydir; -void handle_dep(QString filename) -{ - if (filename.startsWith("/")) - dependencies.insert(filename); - else - dependencies.insert(QDir::currentPath() + QString("/") + filename); - if (!QFile(filename).exists() && make_command) { - char buffer[4096]; - snprintf(buffer, 4096, "%s '%s'", make_command, filename.replace("'", "'\\''").toUtf8().data()); - system(buffer); // FIXME: Handle error - } -} - void csgTree(CSGTextCache &cache, const AbstractNode &root) { CSGTextRenderer renderer(cache); @@ -135,15 +122,16 @@ int main(int argc, char **argv) fprintf(stderr, "Can't open input file `%s'!\n", filename); exit(1); } else { - QString text; + std::stringstream text; char buffer[513]; int ret; while ((ret = fread(buffer, 1, 512, fp)) > 0) { buffer[ret] = 0; - text += buffer; + text << buffer; } fclose(fp); - root_module = parse((text+commandline_commands).toAscii().data(), fileInfo.absolutePath().toLocal8Bit(), false); + text << commandline_commands; + root_module = parse(text.str().c_str(), fileInfo.absolutePath().toLocal8Bit(), false); if (!root_module) { exit(1); } diff --git a/tests/dumptest.cc b/tests/dumptest.cc index 3f6068a..65424b3 100644 --- a/tests/dumptest.cc +++ b/tests/dumptest.cc @@ -25,6 +25,7 @@ */ #include "openscad.h" +#include "handle_dep.h" #include "node.h" #include "module.h" #include "context.h" @@ -41,29 +42,15 @@ #include <getopt.h> #include <assert.h> #include <iostream> +#include <sstream> using std::string; -QString commandline_commands; -const char *make_command = NULL; -QSet<QString> dependencies; +std::string commandline_commands; QString currentdir; QString examplesdir; QString librarydir; -void handle_dep(QString filename) -{ - if (filename.startsWith("/")) - dependencies.insert(filename); - else - dependencies.insert(QDir::currentPath() + QString("/") + filename); - if (!QFile(filename).exists() && make_command) { - char buffer[4096]; - snprintf(buffer, 4096, "%s '%s'", make_command, filename.replace("'", "'\\''").toUtf8().data()); - system(buffer); // FIXME: Handle error - } -} - int main(int argc, char **argv) { if (argc != 2) { @@ -130,15 +117,16 @@ int main(int argc, char **argv) fprintf(stderr, "Can't open input file `%s'!\n", filename); exit(1); } else { - QString text; + std::stringstream text; char buffer[513]; int ret; while ((ret = fread(buffer, 1, 512, fp)) > 0) { buffer[ret] = 0; - text += buffer; + text << buffer; } fclose(fp); - root_module = parse((text+commandline_commands).toAscii().data(), fileInfo.absolutePath().toLocal8Bit(), false); + text << commandline_commands; + root_module = parse(text.str().c_str(), fileInfo.absolutePath().toLocal8Bit(), false); if (!root_module) { exit(1); } @@ -156,7 +144,7 @@ int main(int argc, char **argv) string dumpstdstr = tree.getString(*root_node); string dumpstdstr_cached = tree.getString(*root_node); - if (dumpstdstr != dumpstdstr_cached) rc = 1; + assert(dumpstdstr == dumpstdstr_cached); std::cout << dumpstdstr << "\n"; diff --git a/tests/opencsgtest.cc b/tests/opencsgtest.cc index 6d92312..98e1037 100644 --- a/tests/opencsgtest.cc +++ b/tests/opencsgtest.cc @@ -1,5 +1,6 @@ #include <GL/glew.h> #include "openscad.h" +#include "handle_dep.h" #include "builtin.h" #include "context.h" #include "node.h" @@ -21,36 +22,16 @@ #include <QDir> #include <QSet> #include <QTimer> +#include <sstream> using std::cerr; using std::cout; -QString commandline_commands; +std::string commandline_commands; QString librarydir; -QSet<QString> dependencies; -const char *make_command = NULL; //#define DEBUG -void handle_dep(QString filename) -{ - if (filename.startsWith("/")) - dependencies.insert(filename); - else - dependencies.insert(QDir::currentPath() + QString("/") + filename); - if (!QFile(filename).exists() && make_command) { - char buffer[4096]; - snprintf(buffer, 4096, "%s '%s'", make_command, filename.replace("'", "'\\''").toUtf8().data()); - system(buffer); // FIXME: Handle error - } -} - -// static void renderfunc(void *vp) -// { -// glClearColor(1.0, 0.0, 0.0, 0.0); -// glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); -// } - struct CsgInfo { CSGTerm *root_norm_term; // Normalized CSG products @@ -62,6 +43,15 @@ struct CsgInfo OffscreenView *glview; }; +AbstractNode *find_root_tag(AbstractNode *n) +{ + foreach(AbstractNode *v, n->children) { + if (v->modinst->tag_root) return v; + if (AbstractNode *vroot = find_root_tag(v)) return vroot; + } + return NULL; +} + int main(int argc, char *argv[]) { if (argc != 2) { @@ -118,7 +108,6 @@ int main(int argc, char *argv[]) AbstractModule *root_module; ModuleInstantiation root_inst; - AbstractNode *root_node; QFileInfo fileInfo(filename); handle_dep(filename); @@ -127,15 +116,16 @@ int main(int argc, char *argv[]) fprintf(stderr, "Can't open input file `%s'!\n", filename); exit(1); } else { - QString text; + std::stringstream text; char buffer[513]; int ret; while ((ret = fread(buffer, 1, 512, fp)) > 0) { buffer[ret] = 0; - text += buffer; + text << buffer; } fclose(fp); - root_module = parse((text+commandline_commands).toAscii().data(), fileInfo.absolutePath().toLocal8Bit(), false); + text << commandline_commands; + root_module = parse(text.str().c_str(), fileInfo.absolutePath().toLocal8Bit(), false); if (!root_module) { exit(1); } @@ -144,15 +134,16 @@ int main(int argc, char *argv[]) QDir::setCurrent(fileInfo.absolutePath()); AbstractNode::resetIndexCounter(); - root_node = root_module->evaluate(&root_ctx, &root_inst); + AbstractNode *absolute_root_node = root_module->evaluate(&root_ctx, &root_inst); + AbstractNode *root_node; + // Do we have an explicit root node (! modifier)? + if (!(root_node = find_root_tag(absolute_root_node))) root_node = absolute_root_node; Tree tree(root_node); CsgInfo csgInfo; - QHash<std::string, CGAL_Nef_polyhedron> cache; - CGALEvaluator cgalevaluator(cache, tree); - PolySetCGALEvaluator psevaluator(cgalevaluator); - CSGTermEvaluator evaluator(tree); + CGALEvaluator cgalevaluator(tree); + CSGTermEvaluator evaluator(tree, &cgalevaluator.psevaluator); CSGTerm *root_raw_term = evaluator.evaluateCSGTerm(*root_node, csgInfo.highlight_terms, csgInfo.background_terms); @@ -162,9 +153,8 @@ int main(int argc, char *argv[]) return 1; } - csgInfo.root_norm_term = root_raw_term->link(); - // CSG normalization + csgInfo.root_norm_term = root_raw_term->link(); while (1) { CSGTerm *n = csgInfo.root_norm_term->normalize(); csgInfo.root_norm_term->unlink(); @@ -177,6 +167,7 @@ int main(int argc, char *argv[]) csgInfo.root_chain = new CSGChain(); csgInfo.root_chain->import(csgInfo.root_norm_term); + fprintf(stderr, "Normalized CSG tree has %d elements\n", csgInfo.root_chain->polysets.size()); if (csgInfo.highlight_terms.size() > 0) { cerr << "Compiling highlights (" << csgInfo.highlight_terms.size() << " CSG Trees)...\n"; @@ -217,8 +208,11 @@ int main(int argc, char *argv[]) Vector3d center = (bbox.min() + bbox.max()) / 2; double radius = (bbox.max() - bbox.min()).norm() / 2; - csgInfo.glview->setCamera(center[0], center[1] - 2 * radius, center[2], - center[0], center[1], center[2]); + + + Vector3d cameradir(1, 1, -0.5); + Vector3d camerapos = center - radius*1.8*cameradir; + csgInfo.glview->setCamera(camerapos, center); glewInit(); #ifdef DEBUG diff --git a/tests/regression/cgalpngtest/2d-3d-expected.png b/tests/regression/cgalpngtest/2d-3d-expected.png Binary files differnew file mode 100644 index 0000000..4d202ac --- /dev/null +++ b/tests/regression/cgalpngtest/2d-3d-expected.png diff --git a/tests/regression/cgalpngtest/assign-tests-expected.png b/tests/regression/cgalpngtest/assign-tests-expected.png Binary files differnew file mode 100644 index 0000000..465a94d --- /dev/null +++ b/tests/regression/cgalpngtest/assign-tests-expected.png diff --git a/tests/regression/cgalpngtest/background-modifier-expected.png b/tests/regression/cgalpngtest/background-modifier-expected.png Binary files differnew file mode 100644 index 0000000..e003a87 --- /dev/null +++ b/tests/regression/cgalpngtest/background-modifier-expected.png diff --git a/tests/regression/cgalpngtest/child-tests-expected.png b/tests/regression/cgalpngtest/child-tests-expected.png Binary files differnew file mode 100644 index 0000000..ed6207c --- /dev/null +++ b/tests/regression/cgalpngtest/child-tests-expected.png diff --git a/tests/regression/cgalpngtest/circle-tests-expected.png b/tests/regression/cgalpngtest/circle-tests-expected.png Binary files differnew file mode 100644 index 0000000..0736af5 --- /dev/null +++ b/tests/regression/cgalpngtest/circle-tests-expected.png diff --git a/tests/regression/cgalpngtest/color-tests-expected.png b/tests/regression/cgalpngtest/color-tests-expected.png Binary files differnew file mode 100644 index 0000000..207fc5b --- /dev/null +++ b/tests/regression/cgalpngtest/color-tests-expected.png diff --git a/tests/regression/cgalpngtest/cube-tests-expected.png b/tests/regression/cgalpngtest/cube-tests-expected.png Binary files differnew file mode 100644 index 0000000..536f220 --- /dev/null +++ b/tests/regression/cgalpngtest/cube-tests-expected.png diff --git a/tests/regression/cgalpngtest/cylinder-tests-expected.png b/tests/regression/cgalpngtest/cylinder-tests-expected.png Binary files differnew file mode 100644 index 0000000..9d96df2 --- /dev/null +++ b/tests/regression/cgalpngtest/cylinder-tests-expected.png diff --git a/tests/regression/cgalpngtest/difference-tests-expected.png b/tests/regression/cgalpngtest/difference-tests-expected.png Binary files differnew file mode 100644 index 0000000..e672c48 --- /dev/null +++ b/tests/regression/cgalpngtest/difference-tests-expected.png diff --git a/tests/regression/cgalpngtest/disable-modifier-expected.png b/tests/regression/cgalpngtest/disable-modifier-expected.png Binary files differnew file mode 100644 index 0000000..550a71d --- /dev/null +++ b/tests/regression/cgalpngtest/disable-modifier-expected.png diff --git a/tests/regression/cgalpngtest/for-nested-tests-expected.png b/tests/regression/cgalpngtest/for-nested-tests-expected.png Binary files differnew file mode 100644 index 0000000..e7178c2 --- /dev/null +++ b/tests/regression/cgalpngtest/for-nested-tests-expected.png diff --git a/tests/regression/cgalpngtest/for-tests-expected.png b/tests/regression/cgalpngtest/for-tests-expected.png Binary files differnew file mode 100644 index 0000000..bf1970a --- /dev/null +++ b/tests/regression/cgalpngtest/for-tests-expected.png diff --git a/tests/regression/cgalpngtest/highlight-modifier-expected.png b/tests/regression/cgalpngtest/highlight-modifier-expected.png Binary files differnew file mode 100644 index 0000000..29a4117 --- /dev/null +++ b/tests/regression/cgalpngtest/highlight-modifier-expected.png diff --git a/tests/regression/cgalpngtest/hull2-tests-expected.png b/tests/regression/cgalpngtest/hull2-tests-expected.png Binary files differnew file mode 100644 index 0000000..256b349 --- /dev/null +++ b/tests/regression/cgalpngtest/hull2-tests-expected.png diff --git a/tests/regression/cgalpngtest/ifelse-tests-expected.png b/tests/regression/cgalpngtest/ifelse-tests-expected.png Binary files differnew file mode 100644 index 0000000..fcda7bc --- /dev/null +++ b/tests/regression/cgalpngtest/ifelse-tests-expected.png diff --git a/tests/regression/cgalpngtest/import_dxf-tests-expected.png b/tests/regression/cgalpngtest/import_dxf-tests-expected.png Binary files differnew file mode 100644 index 0000000..7c8a63e --- /dev/null +++ b/tests/regression/cgalpngtest/import_dxf-tests-expected.png diff --git a/tests/regression/cgalpngtest/intersection-tests-expected.png b/tests/regression/cgalpngtest/intersection-tests-expected.png Binary files differnew file mode 100644 index 0000000..6d004b0 --- /dev/null +++ b/tests/regression/cgalpngtest/intersection-tests-expected.png diff --git a/tests/regression/cgalpngtest/intersection_for-tests-expected.png b/tests/regression/cgalpngtest/intersection_for-tests-expected.png Binary files differnew file mode 100644 index 0000000..dc4c56a --- /dev/null +++ b/tests/regression/cgalpngtest/intersection_for-tests-expected.png diff --git a/tests/regression/cgalpngtest/linear_extrude-tests-expected.png b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png Binary files differnew file mode 100644 index 0000000..4ed4361 --- /dev/null +++ b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png diff --git a/tests/regression/cgalpngtest/minkowski2-tests-expected.png b/tests/regression/cgalpngtest/minkowski2-tests-expected.png Binary files differnew file mode 100644 index 0000000..ebdbc74 --- /dev/null +++ b/tests/regression/cgalpngtest/minkowski2-tests-expected.png diff --git a/tests/regression/cgalpngtest/minkowski3-tests-expected.png b/tests/regression/cgalpngtest/minkowski3-tests-expected.png Binary files differnew file mode 100644 index 0000000..6d74961 --- /dev/null +++ b/tests/regression/cgalpngtest/minkowski3-tests-expected.png diff --git a/tests/regression/cgalpngtest/polygon-tests-expected.png b/tests/regression/cgalpngtest/polygon-tests-expected.png Binary files differnew file mode 100644 index 0000000..89aed2f --- /dev/null +++ b/tests/regression/cgalpngtest/polygon-tests-expected.png diff --git a/tests/regression/cgalpngtest/projection-tests-expected.png b/tests/regression/cgalpngtest/projection-tests-expected.png Binary files differnew file mode 100644 index 0000000..800f7ba --- /dev/null +++ b/tests/regression/cgalpngtest/projection-tests-expected.png diff --git a/tests/regression/cgalpngtest/render-tests-expected.png b/tests/regression/cgalpngtest/render-tests-expected.png Binary files differnew file mode 100644 index 0000000..8087794 --- /dev/null +++ b/tests/regression/cgalpngtest/render-tests-expected.png diff --git a/tests/regression/cgalpngtest/root-modifier-expected.png b/tests/regression/cgalpngtest/root-modifier-expected.png Binary files differnew file mode 100644 index 0000000..550a71d --- /dev/null +++ b/tests/regression/cgalpngtest/root-modifier-expected.png diff --git a/tests/regression/cgalpngtest/rotate_extrude-tests-expected.png b/tests/regression/cgalpngtest/rotate_extrude-tests-expected.png Binary files differnew file mode 100644 index 0000000..ee60a72 --- /dev/null +++ b/tests/regression/cgalpngtest/rotate_extrude-tests-expected.png diff --git a/tests/regression/cgalpngtest/sphere-tests-expected.png b/tests/regression/cgalpngtest/sphere-tests-expected.png Binary files differnew file mode 100644 index 0000000..6ad650f --- /dev/null +++ b/tests/regression/cgalpngtest/sphere-tests-expected.png diff --git a/tests/regression/cgalpngtest/square-tests-expected.png b/tests/regression/cgalpngtest/square-tests-expected.png Binary files differnew file mode 100644 index 0000000..8c9bc60 --- /dev/null +++ b/tests/regression/cgalpngtest/square-tests-expected.png diff --git a/tests/regression/cgalpngtest/surface-tests-expected.png b/tests/regression/cgalpngtest/surface-tests-expected.png Binary files differnew file mode 100644 index 0000000..cc29f66 --- /dev/null +++ b/tests/regression/cgalpngtest/surface-tests-expected.png diff --git a/tests/regression/cgalpngtest/transform-tests-expected.png b/tests/regression/cgalpngtest/transform-tests-expected.png Binary files differnew file mode 100644 index 0000000..08cfce8 --- /dev/null +++ b/tests/regression/cgalpngtest/transform-tests-expected.png diff --git a/tests/regression/cgalpngtest/union-tests-expected.png b/tests/regression/cgalpngtest/union-tests-expected.png Binary files differnew file mode 100644 index 0000000..c390f42 --- /dev/null +++ b/tests/regression/cgalpngtest/union-tests-expected.png diff --git a/tests/regression/csgtermtest/allfunctions-expected.txt b/tests/regression/csgtermtest/allfunctions-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/allfunctions-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/allmodules-expected.txt b/tests/regression/csgtermtest/allmodules-expected.txt new file mode 100644 index 0000000..f544c01 --- /dev/null +++ b/tests/regression/csgtermtest/allmodules-expected.txt @@ -0,0 +1 @@ +((((((cube23 + sphere24) + cylinder25) + polyhedron26) + square27) + circle28) + polygon29) diff --git a/tests/regression/csgtermtest/assign-expected.txt b/tests/regression/csgtermtest/assign-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/assign-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/child-expected.txt b/tests/regression/csgtermtest/child-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/child-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/circle-expected.txt b/tests/regression/csgtermtest/circle-expected.txt new file mode 100644 index 0000000..b8c8161 --- /dev/null +++ b/tests/regression/csgtermtest/circle-expected.txt @@ -0,0 +1 @@ +circle2 diff --git a/tests/regression/csgtermtest/color-expected.txt b/tests/regression/csgtermtest/color-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/color-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/cube-expected.txt b/tests/regression/csgtermtest/cube-expected.txt new file mode 100644 index 0000000..3393bc4 --- /dev/null +++ b/tests/regression/csgtermtest/cube-expected.txt @@ -0,0 +1 @@ +cube2 diff --git a/tests/regression/csgtermtest/cylinder-expected.txt b/tests/regression/csgtermtest/cylinder-expected.txt new file mode 100644 index 0000000..f3dd1f9 --- /dev/null +++ b/tests/regression/csgtermtest/cylinder-expected.txt @@ -0,0 +1 @@ +cylinder2 diff --git a/tests/regression/csgtermtest/difference-expected.txt b/tests/regression/csgtermtest/difference-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/difference-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/dxf_linear_extrude-expected.txt b/tests/regression/csgtermtest/dxf_linear_extrude-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/dxf_linear_extrude-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/dxf_rotate_extrude-expected.txt b/tests/regression/csgtermtest/dxf_rotate_extrude-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/dxf_rotate_extrude-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/echo-expected.txt b/tests/regression/csgtermtest/echo-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/echo-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/for-expected.txt b/tests/regression/csgtermtest/for-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/for-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/glide-expected.txt b/tests/regression/csgtermtest/glide-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/glide-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/group-expected.txt b/tests/regression/csgtermtest/group-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/group-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/hull-expected.txt b/tests/regression/csgtermtest/hull-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/hull-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/if-expected.txt b/tests/regression/csgtermtest/if-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/if-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/import-expected.txt b/tests/regression/csgtermtest/import-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/import-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/import_dxf-expected.txt b/tests/regression/csgtermtest/import_dxf-expected.txt new file mode 100644 index 0000000..847d6c3 --- /dev/null +++ b/tests/regression/csgtermtest/import_dxf-expected.txt @@ -0,0 +1 @@ +import2 diff --git a/tests/regression/csgtermtest/import_off-expected.txt b/tests/regression/csgtermtest/import_off-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/import_off-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/import_stl-expected.txt b/tests/regression/csgtermtest/import_stl-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/import_stl-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/intersection-expected.txt b/tests/regression/csgtermtest/intersection-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/intersection-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/intersection_for-expected.txt b/tests/regression/csgtermtest/intersection_for-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/intersection_for-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/linear_extrude-expected.txt b/tests/regression/csgtermtest/linear_extrude-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/linear_extrude-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/minkowski-expected.txt b/tests/regression/csgtermtest/minkowski-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/minkowski-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/mirror-expected.txt b/tests/regression/csgtermtest/mirror-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/mirror-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/multmatrix-expected.txt b/tests/regression/csgtermtest/multmatrix-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/multmatrix-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/polygon-expected.txt b/tests/regression/csgtermtest/polygon-expected.txt new file mode 100644 index 0000000..b41dfc6 --- /dev/null +++ b/tests/regression/csgtermtest/polygon-expected.txt @@ -0,0 +1 @@ +polygon2 diff --git a/tests/regression/csgtermtest/polyhedron-expected.txt b/tests/regression/csgtermtest/polyhedron-expected.txt new file mode 100644 index 0000000..5ccc055 --- /dev/null +++ b/tests/regression/csgtermtest/polyhedron-expected.txt @@ -0,0 +1 @@ +polyhedron2 diff --git a/tests/regression/csgtermtest/projection-expected.txt b/tests/regression/csgtermtest/projection-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/projection-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/render-expected.txt b/tests/regression/csgtermtest/render-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/render-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/rotate-expected.txt b/tests/regression/csgtermtest/rotate-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/rotate-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/rotate_extrude-expected.txt b/tests/regression/csgtermtest/rotate_extrude-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/rotate_extrude-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/scale-expected.txt b/tests/regression/csgtermtest/scale-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/scale-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/sphere-expected.txt b/tests/regression/csgtermtest/sphere-expected.txt new file mode 100644 index 0000000..f9b8d73 --- /dev/null +++ b/tests/regression/csgtermtest/sphere-expected.txt @@ -0,0 +1 @@ +sphere2 diff --git a/tests/regression/csgtermtest/square-expected.txt b/tests/regression/csgtermtest/square-expected.txt new file mode 100644 index 0000000..8190c0f --- /dev/null +++ b/tests/regression/csgtermtest/square-expected.txt @@ -0,0 +1 @@ +square2 diff --git a/tests/regression/csgtermtest/subdiv-expected.txt b/tests/regression/csgtermtest/subdiv-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/subdiv-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/surface-expected.txt b/tests/regression/csgtermtest/surface-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/surface-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/transform-insert-expected.txt b/tests/regression/csgtermtest/transform-insert-expected.txt new file mode 100644 index 0000000..847d6c3 --- /dev/null +++ b/tests/regression/csgtermtest/transform-insert-expected.txt @@ -0,0 +1 @@ +import2 diff --git a/tests/regression/csgtermtest/translate-expected.txt b/tests/regression/csgtermtest/translate-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/translate-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtermtest/union-expected.txt b/tests/regression/csgtermtest/union-expected.txt new file mode 100644 index 0000000..a40cf60 --- /dev/null +++ b/tests/regression/csgtermtest/union-expected.txt @@ -0,0 +1 @@ +No top-level CSG object diff --git a/tests/regression/csgtexttest/allfunctions-expected.txt b/tests/regression/csgtexttest/allfunctions-expected.txt new file mode 100644 index 0000000..331822f --- /dev/null +++ b/tests/regression/csgtexttest/allfunctions-expected.txt @@ -0,0 +1 @@ +group1 diff --git a/tests/regression/csgtexttest/allmodules-expected.txt b/tests/regression/csgtexttest/allmodules-expected.txt index 6b13f07..34fa5ae 100644 --- a/tests/regression/csgtexttest/allmodules-expected.txt +++ b/tests/regression/csgtexttest/allmodules-expected.txt @@ -1 +1 @@ -group1(minkowski2+glide3+subdiv4+hull5+group6+group6+group6+intersection_for9+group6+union11+difference12+intersection13+linear_extrude+linear_extrude+rotate_extrude+rotate_extrude+import_stl+import_off+import_dxf+group6+cube+sphere+cylinder+polyhedron+square+circle+polygon+projection+render30+surface+transform32+transform32+transform34+transform32+transform32+transform37) +group1(minkowski2+glide3+subdiv4+hull5+group6+group6+group6+intersection_for9+group6+union11+difference12+intersection13+linear_extrude+linear_extrude+rotate_extrude+rotate_extrude+import+import+import+import+group6+cube+sphere+cylinder+polyhedron+square+circle+polygon+projection+render31+surface+transform33+transform33+transform35+transform33+transform33+color38) diff --git a/tests/regression/csgtexttest/color-expected.txt b/tests/regression/csgtexttest/color-expected.txt index 80024d2..6140174 100644 --- a/tests/regression/csgtexttest/color-expected.txt +++ b/tests/regression/csgtexttest/color-expected.txt @@ -1 +1 @@ -group1(transform2) +group1(color2) diff --git a/tests/regression/csgtexttest/import-expected.txt b/tests/regression/csgtexttest/import-expected.txt new file mode 100644 index 0000000..a673ddb --- /dev/null +++ b/tests/regression/csgtexttest/import-expected.txt @@ -0,0 +1 @@ +group1(import) diff --git a/tests/regression/csgtexttest/import_dxf-expected.txt b/tests/regression/csgtexttest/import_dxf-expected.txt index ffb96fc..a673ddb 100644 --- a/tests/regression/csgtexttest/import_dxf-expected.txt +++ b/tests/regression/csgtexttest/import_dxf-expected.txt @@ -1 +1 @@ -group1(import_dxf) +group1(import) diff --git a/tests/regression/csgtexttest/import_off-expected.txt b/tests/regression/csgtexttest/import_off-expected.txt index 8a3bafa..a673ddb 100644 --- a/tests/regression/csgtexttest/import_off-expected.txt +++ b/tests/regression/csgtexttest/import_off-expected.txt @@ -1 +1 @@ -group1(import_off) +group1(import) diff --git a/tests/regression/csgtexttest/import_stl-expected.txt b/tests/regression/csgtexttest/import_stl-expected.txt index 47c4707..a673ddb 100644 --- a/tests/regression/csgtexttest/import_stl-expected.txt +++ b/tests/regression/csgtexttest/import_stl-expected.txt @@ -1 +1 @@ -group1(import_stl) +group1(import) diff --git a/tests/regression/csgtexttest/transform-insert-expected.txt b/tests/regression/csgtexttest/transform-insert-expected.txt index ffb96fc..a673ddb 100644 --- a/tests/regression/csgtexttest/transform-insert-expected.txt +++ b/tests/regression/csgtexttest/transform-insert-expected.txt @@ -1 +1 @@ -group1(import_dxf) +group1(import) diff --git a/tests/regression/dumptest/allfunctions-expected.txt b/tests/regression/dumptest/allfunctions-expected.txt new file mode 100644 index 0000000..0a04719 --- /dev/null +++ b/tests/regression/dumptest/allfunctions-expected.txt @@ -0,0 +1 @@ +group(); diff --git a/tests/regression/dumptest/allmodules-expected.txt b/tests/regression/dumptest/allmodules-expected.txt index b51fae3..2f920df 100644 --- a/tests/regression/dumptest/allmodules-expected.txt +++ b/tests/regression/dumptest/allmodules-expected.txt @@ -11,13 +11,14 @@ group() { union(); difference(); intersection(); - linear_extrude(file = "", cache = "0.0", layer = "", height = 100, origin = [ 0 0 ], scale = 1, center = false, convexity = 1, $fn = 0, $fa = 12, $fs = 1); - linear_extrude(file = "", cache = "0.0", layer = "", height = 100, origin = [ 0 0 ], scale = 1, center = false, convexity = 1, $fn = 0, $fa = 12, $fs = 1); - rotate_extrude(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); - rotate_extrude(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); - import_stl(file = "", cache = "0.0", convexity = 1); - import_off(file = "", cache = "0.0", convexity = 1); - import_dxf(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 100, center = false, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 100, center = false, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + rotate_extrude(convexity = 1, $fn = 0, $fa = 12, $fs = 1); + rotate_extrude(convexity = 1, $fn = 0, $fa = 12, $fs = 1); + import(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + import(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + import(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + import(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); group(); cube(size = [1, 1, 1], center = false); sphere($fn = 0, $fa = 12, $fs = 1, r = 1); @@ -34,5 +35,5 @@ group() { multmatrix([[-1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]); multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]); multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]); - multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]); + color([-1, -1, -1, 1]); } diff --git a/tests/regression/dumptest/color-expected.txt b/tests/regression/dumptest/color-expected.txt index 87e28e2..ef862fc 100644 --- a/tests/regression/dumptest/color-expected.txt +++ b/tests/regression/dumptest/color-expected.txt @@ -1,3 +1,3 @@ group() { - multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]); + color([-1, -1, -1, 1]); } diff --git a/tests/regression/dumptest/dxf_linear_extrude-expected.txt b/tests/regression/dumptest/dxf_linear_extrude-expected.txt index fd6535d..9284114 100644 --- a/tests/regression/dumptest/dxf_linear_extrude-expected.txt +++ b/tests/regression/dumptest/dxf_linear_extrude-expected.txt @@ -1,3 +1,3 @@ group() { - linear_extrude(file = "", cache = "0.0", layer = "", height = 100, origin = [ 0 0 ], scale = 1, center = false, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 100, center = false, convexity = 1, $fn = 0, $fa = 12, $fs = 1); } diff --git a/tests/regression/dumptest/dxf_rotate_extrude-expected.txt b/tests/regression/dumptest/dxf_rotate_extrude-expected.txt index 2d65d35..e2f5832 100644 --- a/tests/regression/dumptest/dxf_rotate_extrude-expected.txt +++ b/tests/regression/dumptest/dxf_rotate_extrude-expected.txt @@ -1,3 +1,3 @@ group() { - rotate_extrude(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + rotate_extrude(convexity = 1, $fn = 0, $fa = 12, $fs = 1); } diff --git a/tests/regression/dumptest/import-expected.txt b/tests/regression/dumptest/import-expected.txt new file mode 100644 index 0000000..b424afe --- /dev/null +++ b/tests/regression/dumptest/import-expected.txt @@ -0,0 +1,3 @@ +group() { + import(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); +} diff --git a/tests/regression/dumptest/import_dxf-expected.txt b/tests/regression/dumptest/import_dxf-expected.txt index 08238d2..b424afe 100644 --- a/tests/regression/dumptest/import_dxf-expected.txt +++ b/tests/regression/dumptest/import_dxf-expected.txt @@ -1,3 +1,3 @@ group() { - import_dxf(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + import(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); } diff --git a/tests/regression/dumptest/import_off-expected.txt b/tests/regression/dumptest/import_off-expected.txt index 51293c9..b424afe 100644 --- a/tests/regression/dumptest/import_off-expected.txt +++ b/tests/regression/dumptest/import_off-expected.txt @@ -1,3 +1,3 @@ group() { - import_off(file = "", cache = "0.0", convexity = 1); + import(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); } diff --git a/tests/regression/dumptest/import_stl-expected.txt b/tests/regression/dumptest/import_stl-expected.txt index 2da7d35..b424afe 100644 --- a/tests/regression/dumptest/import_stl-expected.txt +++ b/tests/regression/dumptest/import_stl-expected.txt @@ -1,3 +1,3 @@ group() { - import_stl(file = "", cache = "0.0", convexity = 1); + import(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); } diff --git a/tests/regression/dumptest/linear_extrude-expected.txt b/tests/regression/dumptest/linear_extrude-expected.txt index fd6535d..9284114 100644 --- a/tests/regression/dumptest/linear_extrude-expected.txt +++ b/tests/regression/dumptest/linear_extrude-expected.txt @@ -1,3 +1,3 @@ group() { - linear_extrude(file = "", cache = "0.0", layer = "", height = 100, origin = [ 0 0 ], scale = 1, center = false, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 100, center = false, convexity = 1, $fn = 0, $fa = 12, $fs = 1); } diff --git a/tests/regression/dumptest/rotate_extrude-expected.txt b/tests/regression/dumptest/rotate_extrude-expected.txt index 2d65d35..e2f5832 100644 --- a/tests/regression/dumptest/rotate_extrude-expected.txt +++ b/tests/regression/dumptest/rotate_extrude-expected.txt @@ -1,3 +1,3 @@ group() { - rotate_extrude(file = "", cache = "0.0", layer = "", origin = [ 0 0 ], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + rotate_extrude(convexity = 1, $fn = 0, $fa = 12, $fs = 1); } diff --git a/tests/regression/opencsgtest/2d-3d-expected.png b/tests/regression/opencsgtest/2d-3d-expected.png Binary files differnew file mode 100644 index 0000000..47418f0 --- /dev/null +++ b/tests/regression/opencsgtest/2d-3d-expected.png diff --git a/tests/regression/opencsgtest/assign-tests-expected.png b/tests/regression/opencsgtest/assign-tests-expected.png Binary files differnew file mode 100644 index 0000000..6fe8e10 --- /dev/null +++ b/tests/regression/opencsgtest/assign-tests-expected.png diff --git a/tests/regression/opencsgtest/background-modifier-expected.png b/tests/regression/opencsgtest/background-modifier-expected.png Binary files differindex f1d48d9..24149d0 100644 --- a/tests/regression/opencsgtest/background-modifier-expected.png +++ b/tests/regression/opencsgtest/background-modifier-expected.png diff --git a/tests/regression/opencsgtest/child-tests-expected.png b/tests/regression/opencsgtest/child-tests-expected.png Binary files differnew file mode 100644 index 0000000..e8ea39b --- /dev/null +++ b/tests/regression/opencsgtest/child-tests-expected.png diff --git a/tests/regression/opencsgtest/circle-tests-expected.png b/tests/regression/opencsgtest/circle-tests-expected.png Binary files differnew file mode 100644 index 0000000..7066eb9 --- /dev/null +++ b/tests/regression/opencsgtest/circle-tests-expected.png diff --git a/tests/regression/opencsgtest/color-tests-expected.png b/tests/regression/opencsgtest/color-tests-expected.png Binary files differnew file mode 100644 index 0000000..b2ef8dd --- /dev/null +++ b/tests/regression/opencsgtest/color-tests-expected.png diff --git a/tests/regression/opencsgtest/cube-expected.png b/tests/regression/opencsgtest/cube-expected.png Binary files differdeleted file mode 100644 index 2de1a5f..0000000 --- a/tests/regression/opencsgtest/cube-expected.png +++ /dev/null diff --git a/tests/regression/opencsgtest/cube-tests-expected.png b/tests/regression/opencsgtest/cube-tests-expected.png Binary files differnew file mode 100644 index 0000000..8f0a361 --- /dev/null +++ b/tests/regression/opencsgtest/cube-tests-expected.png diff --git a/tests/regression/opencsgtest/cylinder-expected.png b/tests/regression/opencsgtest/cylinder-expected.png Binary files differdeleted file mode 100644 index aea350c..0000000 --- a/tests/regression/opencsgtest/cylinder-expected.png +++ /dev/null diff --git a/tests/regression/opencsgtest/cylinder-tests-expected.png b/tests/regression/opencsgtest/cylinder-tests-expected.png Binary files differnew file mode 100644 index 0000000..17c10b8 --- /dev/null +++ b/tests/regression/opencsgtest/cylinder-tests-expected.png diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.png Binary files differnew file mode 100644 index 0000000..d88d98b --- /dev/null +++ b/tests/regression/opencsgtest/difference-tests-expected.png diff --git a/tests/regression/opencsgtest/disable-modifier-expected.png b/tests/regression/opencsgtest/disable-modifier-expected.png Binary files differnew file mode 100644 index 0000000..1e4b471 --- /dev/null +++ b/tests/regression/opencsgtest/disable-modifier-expected.png diff --git a/tests/regression/opencsgtest/example001-expected.png b/tests/regression/opencsgtest/example001-expected.png Binary files differdeleted file mode 100644 index 48509b2..0000000 --- a/tests/regression/opencsgtest/example001-expected.png +++ /dev/null diff --git a/tests/regression/opencsgtest/for-nested-tests-expected.png b/tests/regression/opencsgtest/for-nested-tests-expected.png Binary files differnew file mode 100644 index 0000000..c9cdb74 --- /dev/null +++ b/tests/regression/opencsgtest/for-nested-tests-expected.png diff --git a/tests/regression/opencsgtest/for-tests-expected.png b/tests/regression/opencsgtest/for-tests-expected.png Binary files differnew file mode 100644 index 0000000..968659d --- /dev/null +++ b/tests/regression/opencsgtest/for-tests-expected.png diff --git a/tests/regression/opencsgtest/highlight-modifier-expected.png b/tests/regression/opencsgtest/highlight-modifier-expected.png Binary files differindex 7a117fa..78d0309 100644 --- a/tests/regression/opencsgtest/highlight-modifier-expected.png +++ b/tests/regression/opencsgtest/highlight-modifier-expected.png diff --git a/tests/regression/opencsgtest/hull2-tests-expected.png b/tests/regression/opencsgtest/hull2-tests-expected.png Binary files differnew file mode 100644 index 0000000..66ee6b2 --- /dev/null +++ b/tests/regression/opencsgtest/hull2-tests-expected.png diff --git a/tests/regression/opencsgtest/ifelse-tests-expected.png b/tests/regression/opencsgtest/ifelse-tests-expected.png Binary files differnew file mode 100644 index 0000000..6dae4df --- /dev/null +++ b/tests/regression/opencsgtest/ifelse-tests-expected.png diff --git a/tests/regression/opencsgtest/import_dxf-tests-expected.png b/tests/regression/opencsgtest/import_dxf-tests-expected.png Binary files differnew file mode 100644 index 0000000..6e568c7 --- /dev/null +++ b/tests/regression/opencsgtest/import_dxf-tests-expected.png diff --git a/tests/regression/opencsgtest/intersection-tests-expected.png b/tests/regression/opencsgtest/intersection-tests-expected.png Binary files differnew file mode 100644 index 0000000..fc23560 --- /dev/null +++ b/tests/regression/opencsgtest/intersection-tests-expected.png diff --git a/tests/regression/opencsgtest/intersection_for-tests-expected.png b/tests/regression/opencsgtest/intersection_for-tests-expected.png Binary files differnew file mode 100644 index 0000000..08c8e06 --- /dev/null +++ b/tests/regression/opencsgtest/intersection_for-tests-expected.png diff --git a/tests/regression/opencsgtest/linear_extrude-tests-expected.png b/tests/regression/opencsgtest/linear_extrude-tests-expected.png Binary files differnew file mode 100644 index 0000000..579479e --- /dev/null +++ b/tests/regression/opencsgtest/linear_extrude-tests-expected.png diff --git a/tests/regression/opencsgtest/minkowski2-tests-expected.png b/tests/regression/opencsgtest/minkowski2-tests-expected.png Binary files differnew file mode 100644 index 0000000..062f1ed --- /dev/null +++ b/tests/regression/opencsgtest/minkowski2-tests-expected.png diff --git a/tests/regression/opencsgtest/minkowski3-tests-expected.png b/tests/regression/opencsgtest/minkowski3-tests-expected.png Binary files differnew file mode 100644 index 0000000..1f0d572 --- /dev/null +++ b/tests/regression/opencsgtest/minkowski3-tests-expected.png diff --git a/tests/regression/opencsgtest/polygon-tests-expected.png b/tests/regression/opencsgtest/polygon-tests-expected.png Binary files differnew file mode 100644 index 0000000..4d88973 --- /dev/null +++ b/tests/regression/opencsgtest/polygon-tests-expected.png diff --git a/tests/regression/opencsgtest/projection-tests-expected.png b/tests/regression/opencsgtest/projection-tests-expected.png Binary files differnew file mode 100644 index 0000000..8239d3d --- /dev/null +++ b/tests/regression/opencsgtest/projection-tests-expected.png diff --git a/tests/regression/opencsgtest/render-tests-expected.png b/tests/regression/opencsgtest/render-tests-expected.png Binary files differnew file mode 100644 index 0000000..40a1703 --- /dev/null +++ b/tests/regression/opencsgtest/render-tests-expected.png diff --git a/tests/regression/opencsgtest/root-modifier-expected.png b/tests/regression/opencsgtest/root-modifier-expected.png Binary files differnew file mode 100644 index 0000000..1e4b471 --- /dev/null +++ b/tests/regression/opencsgtest/root-modifier-expected.png diff --git a/tests/regression/opencsgtest/rotate_extrude-tests-expected.png b/tests/regression/opencsgtest/rotate_extrude-tests-expected.png Binary files differnew file mode 100644 index 0000000..96452e1 --- /dev/null +++ b/tests/regression/opencsgtest/rotate_extrude-tests-expected.png diff --git a/tests/regression/opencsgtest/sphere-expected.png b/tests/regression/opencsgtest/sphere-expected.png Binary files differdeleted file mode 100644 index 63636d4..0000000 --- a/tests/regression/opencsgtest/sphere-expected.png +++ /dev/null diff --git a/tests/regression/opencsgtest/sphere-tests-expected.png b/tests/regression/opencsgtest/sphere-tests-expected.png Binary files differnew file mode 100644 index 0000000..06161f3 --- /dev/null +++ b/tests/regression/opencsgtest/sphere-tests-expected.png diff --git a/tests/regression/opencsgtest/square-tests-expected.png b/tests/regression/opencsgtest/square-tests-expected.png Binary files differnew file mode 100644 index 0000000..4f9db9d --- /dev/null +++ b/tests/regression/opencsgtest/square-tests-expected.png diff --git a/tests/regression/opencsgtest/surface-tests-expected.png b/tests/regression/opencsgtest/surface-tests-expected.png Binary files differnew file mode 100644 index 0000000..2655afb --- /dev/null +++ b/tests/regression/opencsgtest/surface-tests-expected.png diff --git a/tests/regression/opencsgtest/transform-tests-expected.png b/tests/regression/opencsgtest/transform-tests-expected.png Binary files differnew file mode 100644 index 0000000..9c763ba --- /dev/null +++ b/tests/regression/opencsgtest/transform-tests-expected.png diff --git a/tests/regression/opencsgtest/union-tests-expected.png b/tests/regression/opencsgtest/union-tests-expected.png Binary files differnew file mode 100644 index 0000000..caa1467 --- /dev/null +++ b/tests/regression/opencsgtest/union-tests-expected.png |