// // Computergraphik II // Prof. Dr. Juergen Doellner // Wintersemester 2001/02 // // Rahmenprogramm zu Aufgabenzettel 1 // #include "triangle.h" #include #include #include Triangle::Triangle() { } Triangle::Triangle(const Vector& v0,const Vector& v1, const Vector& v2) { v_[0] = v0; v_[1] = v1; v_[2] = v2; triNrm_ = makeCWTriangleNormal(v_[0],v_[1],v_[2]); n_[0] = n_[1] = n_[2] = triNrm_; } void Triangle::normalizeNormals() { n_[0].normalize(); n_[1].normalize(); n_[2].normalize(); } // // IO // istream& operator>>(istream& s, Triangle& u) { Vector t0, t1, t2; // for (int i = 0; i < 3; i++) { if (!(s >> t0[0] >> t0[1] >> t0[2] >> t1[0] >> t1[1] >> t1[2] >> t2[0] >> t2[1] >> t2[2]) ) { assert(0); } u.v_[0] = t0; u.v_[1] = t1; u.v_[2] = t2; //} u.triNrm_ = makeCWTriangleNormal(u.v_[0],u.v_[1],u.v_[2]); u.n_[0] = u.n_[1] = u.n_[2] = u.triNrm_; return s; }