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

63 lines
1.2 KiB
C++

#ifndef _ENGINE_TRIANGLE_HPP_
#define _ENGINE_TRIANGLE_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_POINT_HPP_
#include <common/point.hpp>
#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