diff options
| -rw-r--r-- | src/Preferences.cc | 8 | ||||
| -rw-r--r-- | src/mainwin.cc | 17 | ||||
| -rw-r--r-- | src/svg.cc | 3 | 
3 files changed, 26 insertions, 2 deletions
| diff --git a/src/Preferences.cc b/src/Preferences.cc index e70a2a1..ec66094 100644 --- a/src/Preferences.cc +++ b/src/Preferences.cc @@ -30,7 +30,9 @@  #include <QKeyEvent>  #include <QSettings>  #include "PolySetCache.h" +#ifdef ENABLE_CGAL  #include "CGALCache.h" +#endif  Preferences *Preferences::instance = NULL; @@ -75,7 +77,9 @@ Preferences::Preferences(QWidget *parent) : QMainWindow(parent)  	this->defaultmap["advanced/opencsg_show_warning"] = true;  	this->defaultmap["advanced/enable_opencsg_opengl1x"] = true;  	this->defaultmap["advanced/polysetCacheSize"] = uint(PolySetCache::instance()->maxSize()); +#ifdef ENABLE_CGAL  	this->defaultmap["advanced/cgalCacheSize"] = uint(CGALCache::instance()->maxSize()); +#endif  	this->defaultmap["advanced/openCSGLimit"] = 2000;  	this->defaultmap["advanced/forceGoldfeather"] = false; @@ -126,7 +130,9 @@ Preferences::Preferences(QWidget *parent) : QMainWindow(parent)    // Advanced pane	  	QValidator *validator = new QIntValidator(this); +#ifdef ENABLE_CGAL  	this->cgalCacheSizeEdit->setValidator(validator); +#endif  	this->polysetCacheSizeEdit->setValidator(validator);  	this->opencsgLimitEdit->setValidator(validator); @@ -198,7 +204,9 @@ void Preferences::on_cgalCacheSizeEdit_textChanged(const QString &text)  {  	QSettings settings;  	settings.setValue("advanced/cgalCacheSize", text); +#ifdef ENABLE_CGAL  	CGALCache::instance()->setMaxSize(text.toULong()); +#endif  }  void Preferences::on_polysetCacheSizeEdit_textChanged(const QString &text) diff --git a/src/mainwin.cc b/src/mainwin.cc index 251c6e1..17b9ef7 100644 --- a/src/mainwin.cc +++ b/src/mainwin.cc @@ -89,6 +89,10 @@  #include "cgal.h"  #include "cgalworker.h" +#else + +#include "PolySetEvaluator.h" +  #endif // ENABLE_CGAL  #ifndef OPENCSG_VERSION_STRING @@ -153,9 +157,11 @@ MainWindow::MainWindow(const QString &filename)  {  	setupUi(this); +#ifdef ENABLE_CGAL  	this->cgalworker = new CGALWorker();  	connect(this->cgalworker, SIGNAL(done(CGAL_Nef_polyhedron *)),   					this, SLOT(actionRenderCGALDone(CGAL_Nef_polyhedron *))); +#endif  	register_builtin(root_ctx); @@ -410,8 +416,10 @@ MainWindow::loadDesignSettings()  	}  	uint polySetCacheSize = Preferences::inst()->getValue("advanced/polysetCacheSize").toUInt();  	PolySetCache::instance()->setMaxSize(polySetCacheSize); +#ifdef ENABLE_CGAL  	uint cgalCacheSize = Preferences::inst()->getValue("advanced/cgalCacheSize").toUInt();  	CGALCache::instance()->setMaxSize(cgalCacheSize); +#endif  }  MainWindow::~MainWindow() @@ -677,8 +685,12 @@ void MainWindow::compileCSG(bool procevents)  	progress_report_prep(this->root_node, report_func, this);  	try { +#ifdef ENABLE_CGAL  		CGALEvaluator cgalevaluator(this->tree);  		PolySetCGALEvaluator psevaluator(cgalevaluator); +#else +		PolySetEvaluator psevaluator(this->tree); +#endif  		CSGTermEvaluator csgrenderer(this->tree, &psevaluator);  		this->root_raw_term = csgrenderer.evaluateCSGTerm(*root_node, highlight_terms, background_terms);  		if (!root_raw_term) { @@ -687,7 +699,9 @@ void MainWindow::compileCSG(bool procevents)  				QApplication::processEvents();  		}  		PolySetCache::instance()->print(); +#ifdef ENABLE_CGAL  		CGALCache::instance()->print(); +#endif  	}  	catch (const ProgressCancelException &e) {  		PRINT("CSG generation cancelled."); @@ -1196,8 +1210,9 @@ void MainWindow::actionRenderCGALDone(CGAL_Nef_polyhedron *root_N)  	if (root_N) {  		PolySetCache::instance()->print(); +#ifdef ENABLE_CGAL  		CGALCache::instance()->print(); - +#endif  		if (!root_N->isNull()) {  			if (root_N->dim == 2) {  				PRINT("   Top level object is a 2D object:"); @@ -1,3 +1,4 @@ +#ifdef ENABLE_CGAL  #include "cgalutils.h"  #include "svg.h"  #include <boost/algorithm/string.hpp> @@ -246,4 +247,4 @@ std::string dump_svg( const CGAL_Nef_polyhedron3 &N )  } // namespace - +#endif // ENABLE_CGAL | 
