/** * CS798 Project - layer.hpp * April 21, 2006 * * Erika Harrison */ #ifndef CS798_LAYER_HPP #define CS798_LAYER_HPP #include "algebra.hpp" #include "const.hpp" using namespace std; // stores a layer object class Layer { public: Layer(); // constructor -- pass in params ~Layer(); // deconstructor // param settings void setA(double A) { m_A = A; } void setB(double B) { m_B = B; } void setC(double C) { m_C = C; } void setD(double D) { m_D = D; } void setE(double E) { m_E = E; } void setF(double F) { m_F = F; } void setG(double G) { m_G = G; } void setH(double H) { m_H = H; } void sett(double t) { m_t = t; } void settInc(double tI) { if (tI != 0) m_tInc = tI; } void setColour(Colour c) { m_colour = c; } void setWidth(int w) { if (w > 0) { m_width = w; } else { m_width = 0; } } // param retrieval double getA() { return m_A; } double getB() { return m_B; } double getC() { return m_C; } double getD() { return m_D; } double getE() { return m_E; } double getF() { return m_F; } double getG() { return m_G; } double getH() { return m_H; } double gett() { return m_t; } double gettInc() { return m_tInc; } Colour getColour() { return m_colour; } int getWidth() { return m_width; } // rotation settings void rotateLayer(char axis, double angle); Matrix4x4 getRotate() { return m; } private: // design params double m_A, m_B, m_C, m_D, m_E, m_F, m_G, m_H, m_t, m_tInc; // colouring Colour m_colour; // line width int m_width; // stores what the rotation of this layer is Matrix4x4 m; }; #endif