63 lines
1.3 KiB
C++
63 lines
1.3 KiB
C++
#ifndef _ENGINE_TRIANGLE3D_HPP_
|
|
#define _ENGINE_TRIANGLE3D_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _ENGINE_POINT3D_HPP_
|
|
#include <engine/point3d.hpp>
|
|
#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
|