///////////////////////////////////////////////////////////////////////////////
//  S2DI.h

#pragma once

struct S2D;

namespace math3d {

struct S2DI {
	int		x,
			y;

public:
	S2DI();
	S2DI(int x_, int y_);
	virtual ~S2DI();

	S2DI		operator+(const S2DI& Obj) const;
	S2DI		operator-(const S2DI& Obj) const;
	S2DI		operator*(int n) const;
	S2DI		operator/(int n) const;
	S2DI		operator/(float f) const;

	S2DI&	operator+=(const S2DI& Obj);

	bool	operator==(const S2DI& Obj) const;
	bool	operator!=(const S2DI& Obj) const;

	S2D		GetS2D() const;

	void	Set(int x_, int y_);

	static float	Distance(const S2DI& pos1, const S2DI& pos2);
};

}

