2011-07-31 03:58:51 +04:00
|
|
|
#ifndef POLYSETEVALUATOR_H_
|
|
|
|
#define POLYSETEVALUATOR_H_
|
|
|
|
|
2011-09-11 09:33:18 +04:00
|
|
|
#include "memory.h"
|
2011-07-31 03:58:51 +04:00
|
|
|
|
|
|
|
class PolySetEvaluator
|
|
|
|
{
|
|
|
|
public:
|
2011-10-01 03:36:30 +04:00
|
|
|
PolySetEvaluator(const class Tree &tree) : tree(tree) {}
|
2011-07-31 03:58:51 +04:00
|
|
|
virtual ~PolySetEvaluator() {}
|
|
|
|
|
2011-09-09 07:53:05 +04:00
|
|
|
const Tree &getTree() const { return this->tree; }
|
|
|
|
|
2011-10-01 03:36:30 +04:00
|
|
|
virtual shared_ptr<class PolySet> getPolySet(const class AbstractNode &, bool cache);
|
2011-09-09 07:53:05 +04:00
|
|
|
|
|
|
|
virtual PolySet *evaluatePolySet(const class ProjectionNode &) { return NULL; }
|
2011-09-30 05:11:28 +04:00
|
|
|
virtual PolySet *evaluatePolySet(const class LinearExtrudeNode &) { return NULL; }
|
|
|
|
virtual PolySet *evaluatePolySet(const class RotateExtrudeNode &) { return NULL; }
|
2011-09-09 07:53:05 +04:00
|
|
|
virtual PolySet *evaluatePolySet(const class CgaladvNode &) { return NULL; }
|
|
|
|
virtual PolySet *evaluatePolySet(const class RenderNode &) { return NULL; }
|
2011-07-31 03:58:51 +04:00
|
|
|
|
|
|
|
private:
|
2011-09-09 07:53:05 +04:00
|
|
|
const Tree &tree;
|
2011-07-31 03:58:51 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|