#ifndef _ENGINE_TRIANGLE3D_HPP_ #define _ENGINE_TRIANGLE3D_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _ENGINE_POINT3D_HPP_ #include #endif class Triangle3D { public: enum {VectorPoints=3}; Triangle3D(void); Triangle3D(const Triangle3D &someTriangle3D); virtual ~Triangle3D(); Triangle3D &operator=(const Triangle3D &someTriangle3D); BOOL operator==(const Triangle3D &someTriangle3D)const; Point3D &operator[](WORD vectorIndex); private: Point3D mTriangle3D[VectorPoints]; }; inline Triangle3D::Triangle3D(void) { } inline Triangle3D::Triangle3D(const Triangle3D &someTriangle3D) { *this=someTriangle3D; } inline Triangle3D::~Triangle3D() { } inline Triangle3D &Triangle3D::operator=(const Triangle3D &someTriangle3D) { mTriangle3D[0]=someTriangle3D.mTriangle3D[0]; mTriangle3D[1]=someTriangle3D.mTriangle3D[1]; mTriangle3D[2]=someTriangle3D.mTriangle3D[2]; return *this; } inline BOOL Triangle3D::operator==(const Triangle3D &someTriangle3D)const { return (mTriangle3D[0]==someTriangle3D.mTriangle3D[0]&& mTriangle3D[1]==someTriangle3D.mTriangle3D[1]&& mTriangle3D[2]==someTriangle3D.mTriangle3D[2]); } inline Point3D &Triangle3D::operator[](WORD vectorIndex) { return mTriangle3D[vectorIndex]; } #endif