diff options
author | Marius Kintel <marius@kintel.net> | 2010-11-03 18:26:06 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2010-11-03 18:26:06 (GMT) |
commit | 264608981cfcd65de8e64af8d97648a315d52bc1 (patch) | |
tree | 486fed9c5c750d0e0b8c75290d315632db22c578 /src/csgterm.cc | |
parent | 4423c010301b8a94addee0ab0b3561023bba7290 (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.cc | 23 |
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]; } |