summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt73
-rw-r--r--tests/FindGLEW.cmake12
-rw-r--r--tests/OffscreenView.cc36
-rw-r--r--tests/OffscreenView.h17
-rw-r--r--tests/cgalpngtest.cc230
-rw-r--r--tests/cgaltest.cc57
-rw-r--r--tests/csgtermtest.cc36
-rw-r--r--tests/csgtexttest.cc26
-rw-r--r--tests/dumptest.cc28
-rw-r--r--tests/opencsgtest.cc64
-rw-r--r--tests/regression/cgalpngtest/2d-3d-expected.pngbin0 -> 7842 bytes
-rw-r--r--tests/regression/cgalpngtest/assign-tests-expected.pngbin0 -> 9420 bytes
-rw-r--r--tests/regression/cgalpngtest/background-modifier-expected.pngbin0 -> 14578 bytes
-rw-r--r--tests/regression/cgalpngtest/child-tests-expected.pngbin0 -> 13034 bytes
-rw-r--r--tests/regression/cgalpngtest/circle-tests-expected.pngbin0 -> 8435 bytes
-rw-r--r--tests/regression/cgalpngtest/color-tests-expected.pngbin0 -> 9554 bytes
-rw-r--r--tests/regression/cgalpngtest/cube-tests-expected.pngbin0 -> 8008 bytes
-rw-r--r--tests/regression/cgalpngtest/cylinder-tests-expected.pngbin0 -> 12498 bytes
-rw-r--r--tests/regression/cgalpngtest/difference-tests-expected.pngbin0 -> 11151 bytes
-rw-r--r--tests/regression/cgalpngtest/disable-modifier-expected.pngbin0 -> 7433 bytes
-rw-r--r--tests/regression/cgalpngtest/for-nested-tests-expected.pngbin0 -> 23800 bytes
-rw-r--r--tests/regression/cgalpngtest/for-tests-expected.pngbin0 -> 10995 bytes
-rw-r--r--tests/regression/cgalpngtest/highlight-modifier-expected.pngbin0 -> 13772 bytes
-rw-r--r--tests/regression/cgalpngtest/hull2-tests-expected.pngbin0 -> 7531 bytes
-rw-r--r--tests/regression/cgalpngtest/ifelse-tests-expected.pngbin0 -> 9264 bytes
-rw-r--r--tests/regression/cgalpngtest/import_dxf-tests-expected.pngbin0 -> 9919 bytes
-rw-r--r--tests/regression/cgalpngtest/intersection-tests-expected.pngbin0 -> 8295 bytes
-rw-r--r--tests/regression/cgalpngtest/intersection_for-tests-expected.pngbin0 -> 8314 bytes
-rw-r--r--tests/regression/cgalpngtest/linear_extrude-tests-expected.pngbin0 -> 12143 bytes
-rw-r--r--tests/regression/cgalpngtest/minkowski2-tests-expected.pngbin0 -> 7538 bytes
-rw-r--r--tests/regression/cgalpngtest/minkowski3-tests-expected.pngbin0 -> 8602 bytes
-rw-r--r--tests/regression/cgalpngtest/polygon-tests-expected.pngbin0 -> 8240 bytes
-rw-r--r--tests/regression/cgalpngtest/projection-tests-expected.pngbin0 -> 9159 bytes
-rw-r--r--tests/regression/cgalpngtest/render-tests-expected.pngbin0 -> 10002 bytes
-rw-r--r--tests/regression/cgalpngtest/root-modifier-expected.pngbin0 -> 7433 bytes
-rw-r--r--tests/regression/cgalpngtest/rotate_extrude-tests-expected.pngbin0 -> 20273 bytes
-rw-r--r--tests/regression/cgalpngtest/sphere-tests-expected.pngbin0 -> 17379 bytes
-rw-r--r--tests/regression/cgalpngtest/square-tests-expected.pngbin0 -> 7820 bytes
-rw-r--r--tests/regression/cgalpngtest/surface-tests-expected.pngbin0 -> 36682 bytes
-rw-r--r--tests/regression/cgalpngtest/transform-tests-expected.pngbin0 -> 16015 bytes
-rw-r--r--tests/regression/cgalpngtest/union-tests-expected.pngbin0 -> 9818 bytes
-rw-r--r--tests/regression/csgtermtest/allfunctions-expected.txt1
-rw-r--r--tests/regression/csgtermtest/allmodules-expected.txt1
-rw-r--r--tests/regression/csgtermtest/assign-expected.txt1
-rw-r--r--tests/regression/csgtermtest/child-expected.txt1
-rw-r--r--tests/regression/csgtermtest/circle-expected.txt1
-rw-r--r--tests/regression/csgtermtest/color-expected.txt1
-rw-r--r--tests/regression/csgtermtest/cube-expected.txt1
-rw-r--r--tests/regression/csgtermtest/cylinder-expected.txt1
-rw-r--r--tests/regression/csgtermtest/difference-expected.txt1
-rw-r--r--tests/regression/csgtermtest/dxf_linear_extrude-expected.txt1
-rw-r--r--tests/regression/csgtermtest/dxf_rotate_extrude-expected.txt1
-rw-r--r--tests/regression/csgtermtest/echo-expected.txt1
-rw-r--r--tests/regression/csgtermtest/for-expected.txt1
-rw-r--r--tests/regression/csgtermtest/glide-expected.txt1
-rw-r--r--tests/regression/csgtermtest/group-expected.txt1
-rw-r--r--tests/regression/csgtermtest/hull-expected.txt1
-rw-r--r--tests/regression/csgtermtest/if-expected.txt1
-rw-r--r--tests/regression/csgtermtest/import-expected.txt1
-rw-r--r--tests/regression/csgtermtest/import_dxf-expected.txt1
-rw-r--r--tests/regression/csgtermtest/import_off-expected.txt1
-rw-r--r--tests/regression/csgtermtest/import_stl-expected.txt1
-rw-r--r--tests/regression/csgtermtest/intersection-expected.txt1
-rw-r--r--tests/regression/csgtermtest/intersection_for-expected.txt1
-rw-r--r--tests/regression/csgtermtest/linear_extrude-expected.txt1
-rw-r--r--tests/regression/csgtermtest/minkowski-expected.txt1
-rw-r--r--tests/regression/csgtermtest/mirror-expected.txt1
-rw-r--r--tests/regression/csgtermtest/multmatrix-expected.txt1
-rw-r--r--tests/regression/csgtermtest/polygon-expected.txt1
-rw-r--r--tests/regression/csgtermtest/polyhedron-expected.txt1
-rw-r--r--tests/regression/csgtermtest/projection-expected.txt1
-rw-r--r--tests/regression/csgtermtest/render-expected.txt1
-rw-r--r--tests/regression/csgtermtest/rotate-expected.txt1
-rw-r--r--tests/regression/csgtermtest/rotate_extrude-expected.txt1
-rw-r--r--tests/regression/csgtermtest/scale-expected.txt1
-rw-r--r--tests/regression/csgtermtest/sphere-expected.txt1
-rw-r--r--tests/regression/csgtermtest/square-expected.txt1
-rw-r--r--tests/regression/csgtermtest/subdiv-expected.txt1
-rw-r--r--tests/regression/csgtermtest/surface-expected.txt1
-rw-r--r--tests/regression/csgtermtest/transform-insert-expected.txt1
-rw-r--r--tests/regression/csgtermtest/translate-expected.txt1
-rw-r--r--tests/regression/csgtermtest/union-expected.txt1
-rw-r--r--tests/regression/csgtexttest/allfunctions-expected.txt1
-rw-r--r--tests/regression/csgtexttest/allmodules-expected.txt2
-rw-r--r--tests/regression/csgtexttest/color-expected.txt2
-rw-r--r--tests/regression/csgtexttest/import-expected.txt1
-rw-r--r--tests/regression/csgtexttest/import_dxf-expected.txt2
-rw-r--r--tests/regression/csgtexttest/import_off-expected.txt2
-rw-r--r--tests/regression/csgtexttest/import_stl-expected.txt2
-rw-r--r--tests/regression/csgtexttest/transform-insert-expected.txt2
-rw-r--r--tests/regression/dumptest/allfunctions-expected.txt1
-rw-r--r--tests/regression/dumptest/allmodules-expected.txt17
-rw-r--r--tests/regression/dumptest/color-expected.txt2
-rw-r--r--tests/regression/dumptest/dxf_linear_extrude-expected.txt2
-rw-r--r--tests/regression/dumptest/dxf_rotate_extrude-expected.txt2
-rw-r--r--tests/regression/dumptest/import-expected.txt3
-rw-r--r--tests/regression/dumptest/import_dxf-expected.txt2
-rw-r--r--tests/regression/dumptest/import_off-expected.txt2
-rw-r--r--tests/regression/dumptest/import_stl-expected.txt2
-rw-r--r--tests/regression/dumptest/linear_extrude-expected.txt2
-rw-r--r--tests/regression/dumptest/rotate_extrude-expected.txt2
-rw-r--r--tests/regression/opencsgtest/2d-3d-expected.pngbin0 -> 8246 bytes
-rw-r--r--tests/regression/opencsgtest/assign-tests-expected.pngbin0 -> 9990 bytes
-rw-r--r--tests/regression/opencsgtest/background-modifier-expected.pngbin16701 -> 17699 bytes
-rw-r--r--tests/regression/opencsgtest/child-tests-expected.pngbin0 -> 13600 bytes
-rw-r--r--tests/regression/opencsgtest/circle-tests-expected.pngbin0 -> 9537 bytes
-rw-r--r--tests/regression/opencsgtest/color-tests-expected.pngbin0 -> 11055 bytes
-rw-r--r--tests/regression/opencsgtest/cube-expected.pngbin8929 -> 0 bytes
-rw-r--r--tests/regression/opencsgtest/cube-tests-expected.pngbin0 -> 7965 bytes
-rw-r--r--tests/regression/opencsgtest/cylinder-expected.pngbin8424 -> 0 bytes
-rw-r--r--tests/regression/opencsgtest/cylinder-tests-expected.pngbin0 -> 13165 bytes
-rw-r--r--tests/regression/opencsgtest/difference-tests-expected.pngbin0 -> 12383 bytes
-rw-r--r--tests/regression/opencsgtest/disable-modifier-expected.pngbin0 -> 7440 bytes
-rw-r--r--tests/regression/opencsgtest/example001-expected.pngbin14630 -> 0 bytes
-rw-r--r--tests/regression/opencsgtest/for-nested-tests-expected.pngbin0 -> 25755 bytes
-rw-r--r--tests/regression/opencsgtest/for-tests-expected.pngbin0 -> 11584 bytes
-rw-r--r--tests/regression/opencsgtest/highlight-modifier-expected.pngbin15046 -> 15502 bytes
-rw-r--r--tests/regression/opencsgtest/hull2-tests-expected.pngbin0 -> 8078 bytes
-rw-r--r--tests/regression/opencsgtest/ifelse-tests-expected.pngbin0 -> 9650 bytes
-rw-r--r--tests/regression/opencsgtest/import_dxf-tests-expected.pngbin0 -> 9289 bytes
-rw-r--r--tests/regression/opencsgtest/intersection-tests-expected.pngbin0 -> 8069 bytes
-rw-r--r--tests/regression/opencsgtest/intersection_for-tests-expected.pngbin0 -> 6642 bytes
-rw-r--r--tests/regression/opencsgtest/linear_extrude-tests-expected.pngbin0 -> 12466 bytes
-rw-r--r--tests/regression/opencsgtest/minkowski2-tests-expected.pngbin0 -> 8177 bytes
-rw-r--r--tests/regression/opencsgtest/minkowski3-tests-expected.pngbin0 -> 8820 bytes
-rw-r--r--tests/regression/opencsgtest/polygon-tests-expected.pngbin0 -> 9057 bytes
-rw-r--r--tests/regression/opencsgtest/projection-tests-expected.pngbin0 -> 9661 bytes
-rw-r--r--tests/regression/opencsgtest/render-tests-expected.pngbin0 -> 10392 bytes
-rw-r--r--tests/regression/opencsgtest/root-modifier-expected.pngbin0 -> 7440 bytes
-rw-r--r--tests/regression/opencsgtest/rotate_extrude-tests-expected.pngbin0 -> 21093 bytes
-rw-r--r--tests/regression/opencsgtest/sphere-expected.pngbin8949 -> 0 bytes
-rw-r--r--tests/regression/opencsgtest/sphere-tests-expected.pngbin0 -> 18276 bytes
-rw-r--r--tests/regression/opencsgtest/square-tests-expected.pngbin0 -> 8237 bytes
-rw-r--r--tests/regression/opencsgtest/surface-tests-expected.pngbin0 -> 41120 bytes
-rw-r--r--tests/regression/opencsgtest/transform-tests-expected.pngbin0 -> 16911 bytes
-rw-r--r--tests/regression/opencsgtest/union-tests-expected.pngbin0 -> 10539 bytes
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 &center)
{
- 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 &center);
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
new file mode 100644
index 0000000..4d202ac
--- /dev/null
+++ b/tests/regression/cgalpngtest/2d-3d-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/assign-tests-expected.png b/tests/regression/cgalpngtest/assign-tests-expected.png
new file mode 100644
index 0000000..465a94d
--- /dev/null
+++ b/tests/regression/cgalpngtest/assign-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/background-modifier-expected.png b/tests/regression/cgalpngtest/background-modifier-expected.png
new file mode 100644
index 0000000..e003a87
--- /dev/null
+++ b/tests/regression/cgalpngtest/background-modifier-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/child-tests-expected.png b/tests/regression/cgalpngtest/child-tests-expected.png
new file mode 100644
index 0000000..ed6207c
--- /dev/null
+++ b/tests/regression/cgalpngtest/child-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/circle-tests-expected.png b/tests/regression/cgalpngtest/circle-tests-expected.png
new file mode 100644
index 0000000..0736af5
--- /dev/null
+++ b/tests/regression/cgalpngtest/circle-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/color-tests-expected.png b/tests/regression/cgalpngtest/color-tests-expected.png
new file mode 100644
index 0000000..207fc5b
--- /dev/null
+++ b/tests/regression/cgalpngtest/color-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/cube-tests-expected.png b/tests/regression/cgalpngtest/cube-tests-expected.png
new file mode 100644
index 0000000..536f220
--- /dev/null
+++ b/tests/regression/cgalpngtest/cube-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/cylinder-tests-expected.png b/tests/regression/cgalpngtest/cylinder-tests-expected.png
new file mode 100644
index 0000000..9d96df2
--- /dev/null
+++ b/tests/regression/cgalpngtest/cylinder-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/difference-tests-expected.png b/tests/regression/cgalpngtest/difference-tests-expected.png
new file mode 100644
index 0000000..e672c48
--- /dev/null
+++ b/tests/regression/cgalpngtest/difference-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/disable-modifier-expected.png b/tests/regression/cgalpngtest/disable-modifier-expected.png
new file mode 100644
index 0000000..550a71d
--- /dev/null
+++ b/tests/regression/cgalpngtest/disable-modifier-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/for-nested-tests-expected.png b/tests/regression/cgalpngtest/for-nested-tests-expected.png
new file mode 100644
index 0000000..e7178c2
--- /dev/null
+++ b/tests/regression/cgalpngtest/for-nested-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/for-tests-expected.png b/tests/regression/cgalpngtest/for-tests-expected.png
new file mode 100644
index 0000000..bf1970a
--- /dev/null
+++ b/tests/regression/cgalpngtest/for-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/highlight-modifier-expected.png b/tests/regression/cgalpngtest/highlight-modifier-expected.png
new file mode 100644
index 0000000..29a4117
--- /dev/null
+++ b/tests/regression/cgalpngtest/highlight-modifier-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/hull2-tests-expected.png b/tests/regression/cgalpngtest/hull2-tests-expected.png
new file mode 100644
index 0000000..256b349
--- /dev/null
+++ b/tests/regression/cgalpngtest/hull2-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/ifelse-tests-expected.png b/tests/regression/cgalpngtest/ifelse-tests-expected.png
new file mode 100644
index 0000000..fcda7bc
--- /dev/null
+++ b/tests/regression/cgalpngtest/ifelse-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/import_dxf-tests-expected.png b/tests/regression/cgalpngtest/import_dxf-tests-expected.png
new file mode 100644
index 0000000..7c8a63e
--- /dev/null
+++ b/tests/regression/cgalpngtest/import_dxf-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/intersection-tests-expected.png b/tests/regression/cgalpngtest/intersection-tests-expected.png
new file mode 100644
index 0000000..6d004b0
--- /dev/null
+++ b/tests/regression/cgalpngtest/intersection-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/intersection_for-tests-expected.png b/tests/regression/cgalpngtest/intersection_for-tests-expected.png
new file mode 100644
index 0000000..dc4c56a
--- /dev/null
+++ b/tests/regression/cgalpngtest/intersection_for-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/linear_extrude-tests-expected.png b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png
new file mode 100644
index 0000000..4ed4361
--- /dev/null
+++ b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/minkowski2-tests-expected.png b/tests/regression/cgalpngtest/minkowski2-tests-expected.png
new file mode 100644
index 0000000..ebdbc74
--- /dev/null
+++ b/tests/regression/cgalpngtest/minkowski2-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/minkowski3-tests-expected.png b/tests/regression/cgalpngtest/minkowski3-tests-expected.png
new file mode 100644
index 0000000..6d74961
--- /dev/null
+++ b/tests/regression/cgalpngtest/minkowski3-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/polygon-tests-expected.png b/tests/regression/cgalpngtest/polygon-tests-expected.png
new file mode 100644
index 0000000..89aed2f
--- /dev/null
+++ b/tests/regression/cgalpngtest/polygon-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/projection-tests-expected.png b/tests/regression/cgalpngtest/projection-tests-expected.png
new file mode 100644
index 0000000..800f7ba
--- /dev/null
+++ b/tests/regression/cgalpngtest/projection-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/render-tests-expected.png b/tests/regression/cgalpngtest/render-tests-expected.png
new file mode 100644
index 0000000..8087794
--- /dev/null
+++ b/tests/regression/cgalpngtest/render-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/root-modifier-expected.png b/tests/regression/cgalpngtest/root-modifier-expected.png
new file mode 100644
index 0000000..550a71d
--- /dev/null
+++ b/tests/regression/cgalpngtest/root-modifier-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/rotate_extrude-tests-expected.png b/tests/regression/cgalpngtest/rotate_extrude-tests-expected.png
new file mode 100644
index 0000000..ee60a72
--- /dev/null
+++ b/tests/regression/cgalpngtest/rotate_extrude-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/sphere-tests-expected.png b/tests/regression/cgalpngtest/sphere-tests-expected.png
new file mode 100644
index 0000000..6ad650f
--- /dev/null
+++ b/tests/regression/cgalpngtest/sphere-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/square-tests-expected.png b/tests/regression/cgalpngtest/square-tests-expected.png
new file mode 100644
index 0000000..8c9bc60
--- /dev/null
+++ b/tests/regression/cgalpngtest/square-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/surface-tests-expected.png b/tests/regression/cgalpngtest/surface-tests-expected.png
new file mode 100644
index 0000000..cc29f66
--- /dev/null
+++ b/tests/regression/cgalpngtest/surface-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/transform-tests-expected.png b/tests/regression/cgalpngtest/transform-tests-expected.png
new file mode 100644
index 0000000..08cfce8
--- /dev/null
+++ b/tests/regression/cgalpngtest/transform-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/union-tests-expected.png b/tests/regression/cgalpngtest/union-tests-expected.png
new file mode 100644
index 0000000..c390f42
--- /dev/null
+++ b/tests/regression/cgalpngtest/union-tests-expected.png
Binary files differ
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
new file mode 100644
index 0000000..47418f0
--- /dev/null
+++ b/tests/regression/opencsgtest/2d-3d-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/assign-tests-expected.png b/tests/regression/opencsgtest/assign-tests-expected.png
new file mode 100644
index 0000000..6fe8e10
--- /dev/null
+++ b/tests/regression/opencsgtest/assign-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/background-modifier-expected.png b/tests/regression/opencsgtest/background-modifier-expected.png
index f1d48d9..24149d0 100644
--- a/tests/regression/opencsgtest/background-modifier-expected.png
+++ b/tests/regression/opencsgtest/background-modifier-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/child-tests-expected.png b/tests/regression/opencsgtest/child-tests-expected.png
new file mode 100644
index 0000000..e8ea39b
--- /dev/null
+++ b/tests/regression/opencsgtest/child-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/circle-tests-expected.png b/tests/regression/opencsgtest/circle-tests-expected.png
new file mode 100644
index 0000000..7066eb9
--- /dev/null
+++ b/tests/regression/opencsgtest/circle-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/color-tests-expected.png b/tests/regression/opencsgtest/color-tests-expected.png
new file mode 100644
index 0000000..b2ef8dd
--- /dev/null
+++ b/tests/regression/opencsgtest/color-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/cube-expected.png b/tests/regression/opencsgtest/cube-expected.png
deleted file mode 100644
index 2de1a5f..0000000
--- a/tests/regression/opencsgtest/cube-expected.png
+++ /dev/null
Binary files differ
diff --git a/tests/regression/opencsgtest/cube-tests-expected.png b/tests/regression/opencsgtest/cube-tests-expected.png
new file mode 100644
index 0000000..8f0a361
--- /dev/null
+++ b/tests/regression/opencsgtest/cube-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/cylinder-expected.png b/tests/regression/opencsgtest/cylinder-expected.png
deleted file mode 100644
index aea350c..0000000
--- a/tests/regression/opencsgtest/cylinder-expected.png
+++ /dev/null
Binary files differ
diff --git a/tests/regression/opencsgtest/cylinder-tests-expected.png b/tests/regression/opencsgtest/cylinder-tests-expected.png
new file mode 100644
index 0000000..17c10b8
--- /dev/null
+++ b/tests/regression/opencsgtest/cylinder-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.png
new file mode 100644
index 0000000..d88d98b
--- /dev/null
+++ b/tests/regression/opencsgtest/difference-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/disable-modifier-expected.png b/tests/regression/opencsgtest/disable-modifier-expected.png
new file mode 100644
index 0000000..1e4b471
--- /dev/null
+++ b/tests/regression/opencsgtest/disable-modifier-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/example001-expected.png b/tests/regression/opencsgtest/example001-expected.png
deleted file mode 100644
index 48509b2..0000000
--- a/tests/regression/opencsgtest/example001-expected.png
+++ /dev/null
Binary files differ
diff --git a/tests/regression/opencsgtest/for-nested-tests-expected.png b/tests/regression/opencsgtest/for-nested-tests-expected.png
new file mode 100644
index 0000000..c9cdb74
--- /dev/null
+++ b/tests/regression/opencsgtest/for-nested-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/for-tests-expected.png b/tests/regression/opencsgtest/for-tests-expected.png
new file mode 100644
index 0000000..968659d
--- /dev/null
+++ b/tests/regression/opencsgtest/for-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/highlight-modifier-expected.png b/tests/regression/opencsgtest/highlight-modifier-expected.png
index 7a117fa..78d0309 100644
--- a/tests/regression/opencsgtest/highlight-modifier-expected.png
+++ b/tests/regression/opencsgtest/highlight-modifier-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/hull2-tests-expected.png b/tests/regression/opencsgtest/hull2-tests-expected.png
new file mode 100644
index 0000000..66ee6b2
--- /dev/null
+++ b/tests/regression/opencsgtest/hull2-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/ifelse-tests-expected.png b/tests/regression/opencsgtest/ifelse-tests-expected.png
new file mode 100644
index 0000000..6dae4df
--- /dev/null
+++ b/tests/regression/opencsgtest/ifelse-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/import_dxf-tests-expected.png b/tests/regression/opencsgtest/import_dxf-tests-expected.png
new file mode 100644
index 0000000..6e568c7
--- /dev/null
+++ b/tests/regression/opencsgtest/import_dxf-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/intersection-tests-expected.png b/tests/regression/opencsgtest/intersection-tests-expected.png
new file mode 100644
index 0000000..fc23560
--- /dev/null
+++ b/tests/regression/opencsgtest/intersection-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/intersection_for-tests-expected.png b/tests/regression/opencsgtest/intersection_for-tests-expected.png
new file mode 100644
index 0000000..08c8e06
--- /dev/null
+++ b/tests/regression/opencsgtest/intersection_for-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/linear_extrude-tests-expected.png b/tests/regression/opencsgtest/linear_extrude-tests-expected.png
new file mode 100644
index 0000000..579479e
--- /dev/null
+++ b/tests/regression/opencsgtest/linear_extrude-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/minkowski2-tests-expected.png b/tests/regression/opencsgtest/minkowski2-tests-expected.png
new file mode 100644
index 0000000..062f1ed
--- /dev/null
+++ b/tests/regression/opencsgtest/minkowski2-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/minkowski3-tests-expected.png b/tests/regression/opencsgtest/minkowski3-tests-expected.png
new file mode 100644
index 0000000..1f0d572
--- /dev/null
+++ b/tests/regression/opencsgtest/minkowski3-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/polygon-tests-expected.png b/tests/regression/opencsgtest/polygon-tests-expected.png
new file mode 100644
index 0000000..4d88973
--- /dev/null
+++ b/tests/regression/opencsgtest/polygon-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/projection-tests-expected.png b/tests/regression/opencsgtest/projection-tests-expected.png
new file mode 100644
index 0000000..8239d3d
--- /dev/null
+++ b/tests/regression/opencsgtest/projection-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/render-tests-expected.png b/tests/regression/opencsgtest/render-tests-expected.png
new file mode 100644
index 0000000..40a1703
--- /dev/null
+++ b/tests/regression/opencsgtest/render-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/root-modifier-expected.png b/tests/regression/opencsgtest/root-modifier-expected.png
new file mode 100644
index 0000000..1e4b471
--- /dev/null
+++ b/tests/regression/opencsgtest/root-modifier-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/rotate_extrude-tests-expected.png b/tests/regression/opencsgtest/rotate_extrude-tests-expected.png
new file mode 100644
index 0000000..96452e1
--- /dev/null
+++ b/tests/regression/opencsgtest/rotate_extrude-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/sphere-expected.png b/tests/regression/opencsgtest/sphere-expected.png
deleted file mode 100644
index 63636d4..0000000
--- a/tests/regression/opencsgtest/sphere-expected.png
+++ /dev/null
Binary files differ
diff --git a/tests/regression/opencsgtest/sphere-tests-expected.png b/tests/regression/opencsgtest/sphere-tests-expected.png
new file mode 100644
index 0000000..06161f3
--- /dev/null
+++ b/tests/regression/opencsgtest/sphere-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/square-tests-expected.png b/tests/regression/opencsgtest/square-tests-expected.png
new file mode 100644
index 0000000..4f9db9d
--- /dev/null
+++ b/tests/regression/opencsgtest/square-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/surface-tests-expected.png b/tests/regression/opencsgtest/surface-tests-expected.png
new file mode 100644
index 0000000..2655afb
--- /dev/null
+++ b/tests/regression/opencsgtest/surface-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/transform-tests-expected.png b/tests/regression/opencsgtest/transform-tests-expected.png
new file mode 100644
index 0000000..9c763ba
--- /dev/null
+++ b/tests/regression/opencsgtest/transform-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/union-tests-expected.png b/tests/regression/opencsgtest/union-tests-expected.png
new file mode 100644
index 0000000..caa1467
--- /dev/null
+++ b/tests/regression/opencsgtest/union-tests-expected.png
Binary files differ
contact: Jan Huwald // Impressum