proto/coor.hh
author nireco
Fri, 31 Oct 2008 07:23:24 +0000
changeset 1 085631252347
permissions -rw-r--r--
added some small proto
1
085631252347 added some small proto
nireco
parents:
diff changeset
     1
#ifndef COOR_H
085631252347 added some small proto
nireco
parents:
diff changeset
     2
#define COOR_H
085631252347 added some small proto
nireco
parents:
diff changeset
     3
085631252347 added some small proto
nireco
parents:
diff changeset
     4
//#define TYPE double
085631252347 added some small proto
nireco
parents:
diff changeset
     5
085631252347 added some small proto
nireco
parents:
diff changeset
     6
template <typename TYPE>
085631252347 added some small proto
nireco
parents:
diff changeset
     7
class coor {
085631252347 added some small proto
nireco
parents:
diff changeset
     8
public:
085631252347 added some small proto
nireco
parents:
diff changeset
     9
	TYPE x;
085631252347 added some small proto
nireco
parents:
diff changeset
    10
	TYPE y;
085631252347 added some small proto
nireco
parents:
diff changeset
    11
	coor() {
085631252347 added some small proto
nireco
parents:
diff changeset
    12
		x = 0; y = 0;
085631252347 added some small proto
nireco
parents:
diff changeset
    13
	}
085631252347 added some small proto
nireco
parents:
diff changeset
    14
	coor(TYPE X, TYPE Y) {
085631252347 added some small proto
nireco
parents:
diff changeset
    15
		x = X;
085631252347 added some small proto
nireco
parents:
diff changeset
    16
		y = Y;
085631252347 added some small proto
nireco
parents:
diff changeset
    17
	}
085631252347 added some small proto
nireco
parents:
diff changeset
    18
	coor(const coor& c) {
085631252347 added some small proto
nireco
parents:
diff changeset
    19
		x = c.x;
085631252347 added some small proto
nireco
parents:
diff changeset
    20
		y = c.y;
085631252347 added some small proto
nireco
parents:
diff changeset
    21
	}
085631252347 added some small proto
nireco
parents:
diff changeset
    22
	void operator = (const coor& c) {
085631252347 added some small proto
nireco
parents:
diff changeset
    23
		x = c.x;
085631252347 added some small proto
nireco
parents:
diff changeset
    24
		y = c.y;
085631252347 added some small proto
nireco
parents:
diff changeset
    25
	}
085631252347 added some small proto
nireco
parents:
diff changeset
    26
	coor operator + (const coor& c) {
085631252347 added some small proto
nireco
parents:
diff changeset
    27
		return coor(x+c.x, y+c.y);
085631252347 added some small proto
nireco
parents:
diff changeset
    28
	}
085631252347 added some small proto
nireco
parents:
diff changeset
    29
	coor operator - (const coor& c) {
085631252347 added some small proto
nireco
parents:
diff changeset
    30
		return coor(x-c.x, y-c.y);
085631252347 added some small proto
nireco
parents:
diff changeset
    31
	}
085631252347 added some small proto
nireco
parents:
diff changeset
    32
	void operator += (const coor& c) {
085631252347 added some small proto
nireco
parents:
diff changeset
    33
		x += c.x;
085631252347 added some small proto
nireco
parents:
diff changeset
    34
		y += c.y;
085631252347 added some small proto
nireco
parents:
diff changeset
    35
	}
085631252347 added some small proto
nireco
parents:
diff changeset
    36
085631252347 added some small proto
nireco
parents:
diff changeset
    37
	coor operator * (const double d) {
085631252347 added some small proto
nireco
parents:
diff changeset
    38
		return coor(x*d, y*d);
085631252347 added some small proto
nireco
parents:
diff changeset
    39
	}
085631252347 added some small proto
nireco
parents:
diff changeset
    40
085631252347 added some small proto
nireco
parents:
diff changeset
    41
};
085631252347 added some small proto
nireco
parents:
diff changeset
    42
085631252347 added some small proto
nireco
parents:
diff changeset
    43
template<typename T>
085631252347 added some small proto
nireco
parents:
diff changeset
    44
bool operator== (const coor<T>& c1, const coor<T>& c2) {
085631252347 added some small proto
nireco
parents:
diff changeset
    45
	return ((c1.x == c2.x) && (c1.y == c2.y));
085631252347 added some small proto
nireco
parents:
diff changeset
    46
}
085631252347 added some small proto
nireco
parents:
diff changeset
    47
085631252347 added some small proto
nireco
parents:
diff changeset
    48
#endif