OSDN Git Service

rm latex/
[moflib/moflib.git] / oldmof / Vector2D.cpp
1
2 #include "mof/Vector2D.hpp"
3
4 mof::Vector2D::Vector2D(real x_ , real y_)
5 : x(x_) , y(y_)
6 {}
7
8 mof::Vector2D::Vector2D(int x_ , int y_)
9 : x(mof::int2real(x_)) , y(mof::int2real(y_))
10 {}
11
12
13 mof::Vector2D::Vector2D(){
14         x = y = 0;
15 }
16
17 mof::Vector2D::~Vector2D(void)
18 {
19 }
20
21
22 bool mof::Vector2D::operator == (const mof::Vector2D& obj) const{
23         if(x == obj.x && y == obj.y)return true;
24         else return false;
25 }
26
27 bool mof::Vector2D::operator != (const mof::Vector2D& obj) const{
28         return !(*this == obj);
29 }
30         
31 mof::Vector2D mof::Vector2D::operator - () const{
32         return mof::Vector2D( -x , -y);
33 }
34         
35
36
37 mof::Vector2D mof::Vector2D::operator +( const mof::Vector2D& rhs) const{
38         return mof::Vector2D(this->x + rhs.x , this->y + rhs.y);
39 }
40
41
42 mof::Vector2D mof::Vector2D::operator -( const mof::Vector2D& rhs) const{
43         return mof::Vector2D(this->x - rhs.x , this->y - rhs.y);
44 }
45                 
46 mof::Vector2D mof::Vector2D::operator *(float rhs) const{
47         return mof::Vector2D(this->x * rhs , this->y * rhs);
48 }
49
50
51 mof::Vector2D mof::Vector2D::operator /(float rhs) const{
52         return mof::Vector2D(this->x / rhs , this->y / rhs);
53 }
54
55
56 mof::Vector2D mof::operator *(const mof::Vector2D& vec , float f){
57         mof::Vector2D obj;
58         obj.x = vec.x * f;
59         obj.y = vec.y * f;
60         return obj;
61 }
62         
63 mof::Vector2D mof::operator *(float f , const mof::Vector2D& vec ){
64         mof::Vector2D obj;
65         obj.x = vec.x * f;
66         obj.y = vec.y * f;
67         return obj;
68 }
69
70 std::ostream& mof::operator <<(std::ostream& os , const mof::Vector2D& obj)
71 {
72         os << '(' << obj.x << ',' << obj.y << ')';
73         return os;      
74 }
75