Files
Work/engine/ANGLE3D.HPP
2024-08-07 09:16:27 -04:00

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