diff options
author | Marius Kintel <marius@kintel.net> | 2011-09-09 03:53:05 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2011-09-09 03:53:05 (GMT) |
commit | cbba974d3ac1edeb716a1384a2262ed5447fa9e6 (patch) | |
tree | 30708ef085204435d644c4ab685b87556628d22a /src/node.h | |
parent | 328897c1f28e0d438aa678891f8d5a45b114f267 (diff) |
Initial attempt of cleaning up polyset handling. PolySet no longer keeps a refcount, basic cache mechanism is in place, instantiating polysets are controlled through PolySetEvaluator
Diffstat (limited to 'src/node.h')
-rw-r--r-- | src/node.h | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -36,6 +36,8 @@ public: overloaded to provide specialization for e.g. CSG nodes, primitive nodes etc. Used for human-readable output. */ virtual std::string name() const; + /*! Should return a PolySet of the given geometry. Returns NULL if smth. goes wrong */ + virtual class PolySet *evaluate_polyset(class PolySetEvaluator *evaluator) const { return NULL; } // FIXME: Make return value a reference const std::vector<AbstractNode*> &getChildren() const { @@ -79,10 +81,6 @@ public: RENDER_CGAL, RENDER_OPENCSG }; - /*! Should return a PolySet of the given geometry. It's normal to return an - empty PolySet if smth. is wrong, but don't return NULL unless we change the calling - strategy for this method. */ - virtual class PolySet *evaluate_polyset(render_mode_e mode, class PolySetEvaluator *evaluator) const = 0; }; std::ostream &operator<<(std::ostream &stream, const AbstractNode &node); |