summaryrefslogtreecommitdiff
path: root/src/csgterm.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2010-11-03 18:26:06 (GMT)
committerMarius Kintel <marius@kintel.net>2010-11-03 18:26:06 (GMT)
commit264608981cfcd65de8e64af8d97648a315d52bc1 (patch)
tree486fed9c5c750d0e0b8c75290d315632db22c578 /src/csgterm.cc
parent4423c010301b8a94addee0ab0b3561023bba7290 (diff)
Fixed some issues with PolySetRenderer, causing e.g. extrusions to fail in OpenCSG mode
Diffstat (limited to 'src/csgterm.cc')
-rw-r--r--src/csgterm.cc23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/csgterm.cc b/src/csgterm.cc
index d0ab5df..0fd4196 100644
--- a/src/csgterm.cc
+++ b/src/csgterm.cc
@@ -26,6 +26,25 @@
#include "csgterm.h"
#include "polyset.h"
+/*!
+ \class CSGTerm
+
+ A CSGTerm is either a "primitive" or a CSG operation with two
+ children terms. A primitive in this context is any PolySet, which
+ may or may not have a subtree which is already evaluated (e.g. using
+ the render() module).
+
+ */
+
+/*!
+ \class CSGChain
+
+ A CSGChain is just a vector of primitives, each having a CSG type associated with it.
+ It's created by importing a CSGTerm tree.
+
+ */
+
+
CSGTerm::CSGTerm(PolySet *polyset, const double m[20], QString label)
{
this->type = TYPE_PRIMITIVE;
@@ -199,9 +218,9 @@ QString CSGChain::dump()
text += "\n";
text += "+";
}
- if (types[i] == CSGTerm::TYPE_DIFFERENCE)
+ else if (types[i] == CSGTerm::TYPE_DIFFERENCE)
text += " -";
- if (types[i] == CSGTerm::TYPE_INTERSECTION)
+ else if (types[i] == CSGTerm::TYPE_INTERSECTION)
text += " *";
text += labels[i];
}
contact: Jan Huwald // Impressum