#ifndef EXTRUDE_H #define EXTRUDE_H EXTRUDE_H #include #include "util/Polygon.h" #include "Shape.h" class Extrude : public Shape { public: Extrude(); IntersectionList intersect(refptr _this, const Ray & ray); void addPolygon(refptr polygon); void addOffset(double distance, const Vector & scale, const Vector & shift); class Offset { public: Offset(double d, const Vector & s, const Vector & p) : distance(d), scale(s), shift(p) { } double distance; Vector scale; Vector shift; }; protected: std::vector< refptr > m_polygons; std::vector m_offsets; }; #endif