Vector4.js 1.2 KB
Newer Older
M
Mr.doob 已提交
1 2 3 4
/**
 * @author supereggbert / http://www.paulbrunt.co.uk/
 */

5
THREE.Vector4 = function ( x, y, z, w ) {
6

M
Mr.doob 已提交
7 8 9 10
	this.x = x || 0;
	this.y = y || 0;
	this.z = z || 0;
	this.w = w || 1;
11

12 13
	this.set = function ( x, y, z, w ) {

M
Mr.doob 已提交
14 15 16 17
		this.x = x;
		this.y = y;
		this.z = z;
		this.w = w;
18

M
Mr.doob 已提交
19
	};
M
Mr.doob 已提交
20

21 22
	this.copy = function ( v ) {

23 24 25 26
		this.x = v.x;
		this.y = v.y;
		this.z = v.z;
		this.w = v.w;
27

M
Mr.doob 已提交
28
	};
M
Mr.doob 已提交
29

30 31
	this.add = function ( v1, v2 ) {

M
Mr.doob 已提交
32 33
		this.x = v1.x + v2.x;
		this.y = v1.y + v2.y;
34
		this.z = v1.z + v2.z;
M
Mr.doob 已提交
35
		this.w = v1.w + v2.w;
36

M
Mr.doob 已提交
37
	};
38

39 40
	this.addSelf = function ( v ) {

41 42 43 44
		this.x += v.x;
		this.y += v.y;
		this.z += v.z;
		this.w += v.w;
45

M
Mr.doob 已提交
46
	};
47

48 49
	this.sub = function ( v1, v2 ) {

M
Mr.doob 已提交
50 51
		this.x = v1.x - v2.x;
		this.y = v1.y - v2.y;
52
		this.z = v1.z - v2.z;
M
Mr.doob 已提交
53
		this.w = v1.w - v2.w;
54

M
Mr.doob 已提交
55
	};
56 57 58

	this.subSelf = function ( v ) {

59 60 61 62
		this.x -= v.x;
		this.y -= v.y;
		this.z -= v.z;
		this.w -= v.w;
63

M
Mr.doob 已提交
64
	};
65

M
Mr.doob 已提交
66
	this.clone = function () {
67 68 69

		return new THREE.Vector4( this.x, this.y, this.z, this.w );

M
Mr.doob 已提交
70
	};
71

M
Mr.doob 已提交
72
	this.toString = function () {
73

M
Mr.doob 已提交
74
		return 'THREE.Vector4 (' + this.x + ', ' + this.y + ', ' + this.z + ', ' + this.w + ')';
75

M
Mr.doob 已提交
76
	};
77

M
Mr.doob 已提交
78
};