diff options
author | Marius Kintel <marius@kintel.net> | 2010-03-29 01:31:47 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2010-10-31 00:42:35 (GMT) |
commit | 184d0e041f6279dba5d1f6348f973478ae133a3a (patch) | |
tree | dccc0d26fd5b14e4f5ca834290e7f588febfcbe4 /test-code | |
parent | 34a8206410f049f566535b1d795b4e89950c6a6f (diff) |
Initial implementation of CGALRenderer
Diffstat (limited to 'test-code')
-rw-r--r-- | test-code/cgaltest.cc | 19 | ||||
-rw-r--r-- | test-code/cgaltest.pro | 33 |
2 files changed, 31 insertions, 21 deletions
diff --git a/test-code/cgaltest.cc b/test-code/cgaltest.cc index 837f442..8529da8 100644 --- a/test-code/cgaltest.cc +++ b/test-code/cgaltest.cc @@ -32,6 +32,7 @@ #include "builtin.h" #include "nodedumper.h" #include "CGALRenderer.h" +#include "PolySetCGALRenderer.h" #include <QApplication> #include <QFile> @@ -145,17 +146,25 @@ int main(int argc, char **argv) AbstractNode::resetIndexCounter(); root_node = root_module->evaluate(&root_ctx, &root_inst); - NodeDumper dumper; Traverser trav(dumper, *root_node, Traverser::PRE_AND_POSTFIX); trav.execute(); std::string dumpstdstr = dumper.getDump() + "\n"; std::cout << dumpstdstr << "\n"; - CGALRenderer renderer(dumper.getCache()); - Traverser render(renderer, *root_node, Traverser::PRE_AND_POSTFIX); - render.execute(); - std::cout << renderer.getCGALMesh() << "\n"; + CGALRenderer cgalrenderer(dumper.getCache()); + PolySetCGALRenderer psrenderer(cgalrenderer); + PolySetRenderer::setRenderer(&psrenderer); + +// This is done in renderCGALMesh() for convenience, but can be overridden here +// Traverser render(cgalrenderer, *root_node, Traverser::PRE_AND_POSTFIX); +// render.execute(); + CGAL_Nef_polyhedron N = cgalrenderer.renderCGALMesh(*root_node); + + QDir::setCurrent(original_path.absolutePath()); + export_stl(&N, fileInfo.baseName() + ".stl", NULL); + + PolySetRenderer::setRenderer(NULL); destroy_builtin_functions(); destroy_builtin_modules(); diff --git a/test-code/cgaltest.pro b/test-code/cgaltest.pro index 94942da..27eeb1a 100644 --- a/test-code/cgaltest.pro +++ b/test-code/cgaltest.pro @@ -7,7 +7,7 @@ UI_DIR = objects RCC_DIR = objects INCLUDEPATH += ../src -DEFINES += REMOVE_DUMP +DEFINES += REMOVE_DUMP REMOVE_RENDERCGAL macx { CONFIG -= app_bundle LIBS += -framework Carbon @@ -15,20 +15,14 @@ macx { CONFIG += qt QT += opengl +CONFIG += cgal -# Optionally specify location of Eigen2 using the -# EIGEN2DIR env. variable -EIGEN2_DIR = $$(EIGEN2DIR) -!isEmpty(EIGEN2_DIR) { - INCLUDEPATH += $$EIGEN2_DIR -} -else { - macx { - INCLUDEPATH += /opt/local/include/eigen2 - } - else { - INCLUDEPATH += /usr/include/eigen2 - } +include(../cgal.pri) +include(../eigen2.pri) + +# Standard include path for misc external libs +macx { + INCLUDEPATH += /opt/local/include } LEXSOURCES += ../src/lexer.l @@ -66,7 +60,9 @@ HEADERS += ../src/builtin.h \ ../src/CGALRenderer.h \ ../src/nodecache.h \ ../src/importnode.h \ - ../src/state.h + ../src/state.h \ + ../src/PolySetRenderer.h \ + ../src/PolySetCGALRenderer.h SOURCES += cgaltest.cc \ ../src/export.cc \ @@ -83,11 +79,14 @@ SOURCES += cgaltest.cc \ ../src/primitives.cc \ ../src/projection.cc \ ../src/cgaladv.cc \ + ../src/cgaladv_minkowski2.cc \ + ../src/cgaladv_minkowski3.cc \ ../src/surface.cc \ ../src/control.cc \ ../src/render.cc \ ../src/import.cc \ ../src/dxfdata.cc \ + ../src/nef2dxf.cc \ ../src/dxftess.cc \ ../src/dxftess-glu.cc \ ../src/dxftess-cgal.cc \ @@ -98,4 +97,6 @@ SOURCES += cgaltest.cc \ ../src/progress.cc \ ../src/nodedumper.cc \ ../src/CGALRenderer.cc \ - ../src/traverser.cc + ../src/traverser.cc \ + ../src/PolySetRenderer.cc \ + ../src/PolySetCGALRenderer.cc |