summaryrefslogtreecommitdiff
path: root/test-code
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2010-03-29 01:31:47 (GMT)
committerMarius Kintel <marius@kintel.net>2010-10-31 00:42:35 (GMT)
commit184d0e041f6279dba5d1f6348f973478ae133a3a (patch)
treedccc0d26fd5b14e4f5ca834290e7f588febfcbe4 /test-code
parent34a8206410f049f566535b1d795b4e89950c6a6f (diff)
Initial implementation of CGALRenderer
Diffstat (limited to 'test-code')
-rw-r--r--test-code/cgaltest.cc19
-rw-r--r--test-code/cgaltest.pro33
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
contact: Jan Huwald // Impressum