#ifndef _ENGINE_TRIANGLE_HPP_ #define _ENGINE_TRIANGLE_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_POINT_HPP_ #include #endif class Triangle { public: enum {VectorPoints=3}; Triangle(void); Triangle(const Triangle &someTriangle); virtual ~Triangle(); Triangle &operator=(const Triangle &someTriangle); BOOL operator==(const Triangle &someTriangle); Point &operator[](WORD vectorIndex); void orderPoints(void); private: Point mTriangle[VectorPoints]; }; inline Triangle::Triangle(void) { } inline Triangle::Triangle(const Triangle &someTriangle) { *this=someTriangle; } inline Triangle::~Triangle() { } inline Triangle &Triangle::operator=(const Triangle &someTriangle) { mTriangle[0]=someTriangle.mTriangle[0]; mTriangle[1]=someTriangle.mTriangle[1]; mTriangle[2]=someTriangle.mTriangle[2]; return *this; } inline BOOL Triangle::operator==(const Triangle &someTriangle) { return (mTriangle[0]==someTriangle.mTriangle[0]&& mTriangle[1]==someTriangle.mTriangle[1]&& mTriangle[2]==someTriangle.mTriangle[2]); } inline Point &Triangle::operator[](WORD vectorIndex) { return mTriangle[vectorIndex]; } #endif