summaryrefslogtreecommitdiff
path: root/src/csgnode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/csgnode.h')
-rw-r--r--src/csgnode.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/csgnode.h b/src/csgnode.h
new file mode 100644
index 0000000..2e1d9fb
--- /dev/null
+++ b/src/csgnode.h
@@ -0,0 +1,25 @@
+#ifndef CSGNODE_H_
+#define CSGNODE_H_
+
+#include "node.h"
+#include "visitor.h"
+
+enum csg_type_e {
+ CSG_TYPE_UNION,
+ CSG_TYPE_DIFFERENCE,
+ CSG_TYPE_INTERSECTION
+};
+
+class CsgNode : public AbstractNode
+{
+public:
+ csg_type_e type;
+ CsgNode(const ModuleInstantiation *mi, csg_type_e type) : AbstractNode(mi), type(type) { }
+ virtual Response accept(class State &state, Visitor &visitor) const {
+ return visitor.visit(state, *this);
+ }
+ virtual std::string toString() const;
+ virtual std::string name() const;
+};
+
+#endif
contact: Jan Huwald // Impressum