diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-06-24 10:59:15 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-06-24 10:59:15 (GMT) |
commit | ba42e6c30be19004f0c4351f51005bc5e5dabdca (patch) | |
tree | 718836294c363f8b31e806954f252933a9871795 /mainwin.cc | |
parent | 12e8d77bc0e4a059feb0ead66de0a04a71fb8d67 (diff) |
Clifford Wolf:
Preps for OpenCSG interface
Invented AbstractPolyNode
git-svn-id: http://svn.clifford.at/openscad/trunk@15 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'mainwin.cc')
-rw-r--r-- | mainwin.cc | 26 |
1 files changed, 23 insertions, 3 deletions
@@ -35,7 +35,9 @@ MainWindow::MainWindow(const char *filename) root_module = NULL; root_node = NULL; +#ifdef ENABLE_CGAL root_N = NULL; +#endif if (filename) { this->filename = QString(filename); @@ -60,7 +62,8 @@ MainWindow::MainWindow(const char *filename) menu->addAction("Compile and &Render (CGAL)", this, SLOT(actionRenderCGAL())); #endif menu->addAction("Display &AST...", this, SLOT(actionDisplayAST())); - menu->addAction("Display &CSG...", this, SLOT(actionDisplayCSG())); + menu->addAction("Display CSG &Tree...", this, SLOT(actionDisplayCSGTree())); + menu->addAction("Display CSG &Products...", this, SLOT(actionDisplayCSGProducts())); menu->addAction("Export as &STL...", this, SLOT(actionExportSTL())); menu->addAction("Export as &OFF...", this, SLOT(actionExportOFF())); } @@ -135,8 +138,10 @@ MainWindow::~MainWindow() delete root_module; if (root_node) delete root_node; +#ifdef ENABLE_CGAL if (root_N) delete root_N; +#endif } void MainWindow::actionNew() @@ -215,8 +220,9 @@ void MainWindow::actionCompile() root_node = NULL; } - console->append("Compiling design (CSG generation)..."); + console->append("Compiling design (CSG Tree generation)..."); QApplication::processEvents(); + AbstractNode::idx_counter = 1; root_node = root_module->evaluate(&root_ctx, QVector<QString>(), QVector<Value>(), QVector<AbstractNode*>()); if (!root_node) { @@ -287,7 +293,7 @@ void MainWindow::actionDisplayAST() e->resize(600, 400); } -void MainWindow::actionDisplayCSG() +void MainWindow::actionDisplayCSGTree() { QTextEdit *e = new QTextEdit(NULL); e->setTabStopWidth(30); @@ -301,6 +307,20 @@ void MainWindow::actionDisplayCSG() e->resize(600, 400); } +void MainWindow::actionDisplayCSGProducts() +{ + QTextEdit *e = new QTextEdit(NULL); + e->setTabStopWidth(30); + e->setWindowTitle("CSG Dump"); + if (root_node) { + e->setPlainText("Fixme!"); + } else { + e->setPlainText("No CSG to dump. Please try compiling first..."); + } + e->show(); + e->resize(600, 400); +} + void MainWindow::actionExportSTL() { console->append(QString("Function %1 is not implemented yet!").arg(QString(__PRETTY_FUNCTION__))); |