// // Computergraphik II // Prof. Dr. Juergen Doellner // Wintersemester 2001/02 // // Rahmenprogramm zu Aufgabenzettel 1 // #ifndef _TRIANGLE_H #define _TRIANGLE_H #include "vector.h" //- Triangle class Triangle { //. 3D Triangle Class. public: //- Triangle Triangle(); Triangle(const Vector& v0, const Vector& v1, const Vector& v2); //- set/getVertex, set/GetNormal, triangleNormal const Vector& getVertex(int i) const; void setVertex(int i,const Vector& v); const Vector& getNormal(int i) const; void setNormal(int i,const Vector& n); const Vector& triangleNormal() const; void normalizeNormals(); //- operator>> friend istream& operator>>(istream&, Triangle&); private: Vector v_[3]; Vector n_[3]; Vector triNrm_; }; inline const Vector& Triangle::getVertex(int i) const { return v_[i]; } inline void Triangle::setVertex(int i,const Vector& v) { v_[i] = v; } inline const Vector& Triangle::getNormal(int i) const { return n_[i]; } inline void Triangle::setNormal(int i,const Vector& n) { n_[i] = n; } inline const Vector& Triangle::triangleNormal() const { return triNrm_;} #endif // _TRIANGLE_H