/************************************************************************************************
 *                                                                                              *
 * Triangle Geometry object:                                                                    *
 *                                                                                              *
 *                                          XianMing Chen, Jan 7, 2001                          *
 ************************************************************************************************/


#ifndef _TRIANGLEMESH_H_
#define _TRIANGLEMESH_H_

#include "Ray.h"


class Triangle {
 public:
    Triangle(): V0(Vector(-cos(PI/6), -sin(PI/6), 0)),
                V1(Vector(+cos(PI/6), -sin(PI/6), 0)),	    
                V2(Vector(0,           1,         0)) { col[0] = 1.0; }
    ~Triangle() {}


    bool intersected(Ray& ray); //change ray parameter t to intersected point.

    friend ostream& operator<< (ostream& os, const Triangle& triangle);
 private:
    Vector V0;
    Vector V1;
    Vector V2;
    RGBcolor col;
};

#endif

