#ifndef _POLY_H #define _POLY_H #include "vec.h" #include "spoly.h" #include "color.h" #include <vector> #include <string> using namespace std; class Poly : SPoly { private: std::vector<Vec*> initpoints; int size; Vec* position; Vec* rotation; Color* color; public: Poly(); Poly(std::vector<Vec*> & _points); Poly(std::vector<Vec*> & _points, Color _color); ~Poly(); void setCenter(Vec c); Vec getInitRotation(Vec& v); Vec calcCenter(); void setPosition(Vec newcenter); void rotate(Vec rot); Vec rotate_x(Vec& c); Vec rotate_y(Vec& c); Vec rotate_z(Vec& c); Vec rotate_xyz(Vec out); void draw(); int numPoints(); void vardump(std::string whitespace); void addPoint(Vec* p); void setColor(Color c); Color* getColor(); }; #endif