2014-04-28 21:09:25 +04:00
|
|
|
#pragma once
|
2010-03-02 21:22:31 +03:00
|
|
|
|
|
|
|
#include "node.h"
|
|
|
|
#include "visitor.h"
|
2011-11-06 22:18:59 +04:00
|
|
|
#include "value.h"
|
2010-03-02 21:22:31 +03:00
|
|
|
|
2011-09-30 05:11:28 +04:00
|
|
|
class LinearExtrudeNode : public AbstractPolyNode
|
2010-03-02 21:22:31 +03:00
|
|
|
{
|
|
|
|
public:
|
2011-09-30 05:11:28 +04:00
|
|
|
LinearExtrudeNode(const ModuleInstantiation *mi) : AbstractPolyNode(mi) {
|
2010-03-02 21:22:31 +03:00
|
|
|
convexity = slices = 0;
|
|
|
|
fn = fs = fa = height = twist = 0;
|
2013-05-10 20:01:50 +04:00
|
|
|
origin_x = origin_y = 0;
|
|
|
|
scale_x = scale_y = 1;
|
2010-03-02 21:22:31 +03:00
|
|
|
center = has_twist = false;
|
|
|
|
}
|
2010-08-28 19:34:22 +04:00
|
|
|
virtual Response accept(class State &state, Visitor &visitor) const {
|
2010-03-02 21:22:31 +03:00
|
|
|
return visitor.visit(state, *this);
|
|
|
|
}
|
|
|
|
virtual std::string toString() const;
|
2010-08-28 23:21:44 +04:00
|
|
|
virtual std::string name() const { return "linear_extrude"; }
|
2010-03-02 21:22:31 +03:00
|
|
|
|
|
|
|
int convexity, slices;
|
|
|
|
double fn, fs, fa, height, twist;
|
2013-05-10 20:01:50 +04:00
|
|
|
double origin_x, origin_y, scale_x, scale_y;
|
2010-03-02 21:22:31 +03:00
|
|
|
bool center, has_twist;
|
2011-11-06 22:18:59 +04:00
|
|
|
Filename filename;
|
|
|
|
std::string layername;
|
2010-03-02 21:22:31 +03:00
|
|
|
};
|