root/trunk/dep/src/g3dlite/Vector4.cpp @ 2

Revision 2, 24.5 kB (checked in by yumileroy, 17 years ago)

[svn] * Proper SVN structure

Original author: Neo2003
Date: 2008-10-02 16:23:55-05:00

Line 
1/**
2 @file Vector4.cpp
3 
4 @maintainer Morgan McGuire, matrix@graphics3d.com
5 
6 @created 2001-07-09
7 @edited  2003-09-29
8 */
9
10#include <stdlib.h>
11#include <limits>
12#include "G3D/Vector4.h"
13//#include "G3D/Color4.h"
14#include "G3D/g3dmath.h"
15#include "G3D/format.h"
16#include "G3D/stringutils.h"
17
18namespace G3D {
19
20unsigned int Vector4::hashCode() const {
21    unsigned int xhash = (*(int*)(void*)(&x));
22    unsigned int yhash = (*(int*)(void*)(&y));
23    unsigned int zhash = (*(int*)(void*)(&z));
24    unsigned int whash = (*(int*)(void*)(&w));
25
26    return xhash + (yhash * 37) + (zhash * 101) + (whash * 241);
27}
28
29#if 0
30Vector4::Vector4(const class Color4& c) {
31    x = c.r;
32    y = c.g;
33    z = c.b;
34    w = c.a;
35}
36#endif
37
38
39Vector4::Vector4(const Vector2& v1, const Vector2& v2) {
40    x = v1.x;
41    y = v1.y;
42    z = v2.x;
43    w = v2.y;
44}
45
46
47Vector4::Vector4(const Vector2& v1, float fz, float fw) {
48    x = v1.x;
49    y = v1.y;
50    z = fz;
51    w = fw;
52}
53
54//----------------------------------------------------------------------------
55
56Vector4 Vector4::operator/ (float fScalar) const {
57    Vector4 kQuot;
58
59    if ( fScalar != 0.0 ) {
60                float fInvScalar = 1.0f / fScalar;
61        kQuot.x = fInvScalar * x;
62        kQuot.y = fInvScalar * y;
63        kQuot.z = fInvScalar * z;
64        kQuot.w = fInvScalar * w;
65        return kQuot;
66    } else {
67        return Vector4::inf();
68    }
69}
70
71//----------------------------------------------------------------------------
72Vector4& Vector4::operator/= (float fScalar) {
73    if (fScalar != 0.0f) {
74                float fInvScalar = 1.0f / fScalar;
75        x *= fInvScalar;
76        y *= fInvScalar;
77        z *= fInvScalar;
78        w *= fInvScalar;
79    } else {
80                *this = Vector4::inf();
81    }
82
83    return *this;
84}
85
86
87//----------------------------------------------------------------------------
88
89std::string Vector4::toString() const {
90    return G3D::format("(%g, %g, %g, %g)", x, y, z, w);
91}
92// 2-char swizzles
93
94Vector2 Vector4::xx() const  { return Vector2       (x, x); }
95Vector2 Vector4::yx() const  { return Vector2       (y, x); }
96Vector2 Vector4::zx() const  { return Vector2       (z, x); }
97Vector2 Vector4::wx() const  { return Vector2       (w, x); }
98Vector2 Vector4::xy() const  { return Vector2       (x, y); }
99Vector2 Vector4::yy() const  { return Vector2       (y, y); }
100Vector2 Vector4::zy() const  { return Vector2       (z, y); }
101Vector2 Vector4::wy() const  { return Vector2       (w, y); }
102Vector2 Vector4::xz() const  { return Vector2       (x, z); }
103Vector2 Vector4::yz() const  { return Vector2       (y, z); }
104Vector2 Vector4::zz() const  { return Vector2       (z, z); }
105Vector2 Vector4::wz() const  { return Vector2       (w, z); }
106Vector2 Vector4::xw() const  { return Vector2       (x, w); }
107Vector2 Vector4::yw() const  { return Vector2       (y, w); }
108Vector2 Vector4::zw() const  { return Vector2       (z, w); }
109Vector2 Vector4::ww() const  { return Vector2       (w, w); }
110
111// 3-char swizzles
112
113Vector3 Vector4::xxx() const  { return Vector3       (x, x, x); }
114Vector3 Vector4::yxx() const  { return Vector3       (y, x, x); }
115Vector3 Vector4::zxx() const  { return Vector3       (z, x, x); }
116Vector3 Vector4::wxx() const  { return Vector3       (w, x, x); }
117Vector3 Vector4::xyx() const  { return Vector3       (x, y, x); }
118Vector3 Vector4::yyx() const  { return Vector3       (y, y, x); }
119Vector3 Vector4::zyx() const  { return Vector3       (z, y, x); }
120Vector3 Vector4::wyx() const  { return Vector3       (w, y, x); }
121Vector3 Vector4::xzx() const  { return Vector3       (x, z, x); }
122Vector3 Vector4::yzx() const  { return Vector3       (y, z, x); }
123Vector3 Vector4::zzx() const  { return Vector3       (z, z, x); }
124Vector3 Vector4::wzx() const  { return Vector3       (w, z, x); }
125Vector3 Vector4::xwx() const  { return Vector3       (x, w, x); }
126Vector3 Vector4::ywx() const  { return Vector3       (y, w, x); }
127Vector3 Vector4::zwx() const  { return Vector3       (z, w, x); }
128Vector3 Vector4::wwx() const  { return Vector3       (w, w, x); }
129Vector3 Vector4::xxy() const  { return Vector3       (x, x, y); }
130Vector3 Vector4::yxy() const  { return Vector3       (y, x, y); }
131Vector3 Vector4::zxy() const  { return Vector3       (z, x, y); }
132Vector3 Vector4::wxy() const  { return Vector3       (w, x, y); }
133Vector3 Vector4::xyy() const  { return Vector3       (x, y, y); }
134Vector3 Vector4::yyy() const  { return Vector3       (y, y, y); }
135Vector3 Vector4::zyy() const  { return Vector3       (z, y, y); }
136Vector3 Vector4::wyy() const  { return Vector3       (w, y, y); }
137Vector3 Vector4::xzy() const  { return Vector3       (x, z, y); }
138Vector3 Vector4::yzy() const  { return Vector3       (y, z, y); }
139Vector3 Vector4::zzy() const  { return Vector3       (z, z, y); }
140Vector3 Vector4::wzy() const  { return Vector3       (w, z, y); }
141Vector3 Vector4::xwy() const  { return Vector3       (x, w, y); }
142Vector3 Vector4::ywy() const  { return Vector3       (y, w, y); }
143Vector3 Vector4::zwy() const  { return Vector3       (z, w, y); }
144Vector3 Vector4::wwy() const  { return Vector3       (w, w, y); }
145Vector3 Vector4::xxz() const  { return Vector3       (x, x, z); }
146Vector3 Vector4::yxz() const  { return Vector3       (y, x, z); }
147Vector3 Vector4::zxz() const  { return Vector3       (z, x, z); }
148Vector3 Vector4::wxz() const  { return Vector3       (w, x, z); }
149Vector3 Vector4::xyz() const  { return Vector3       (x, y, z); }
150Vector3 Vector4::yyz() const  { return Vector3       (y, y, z); }
151Vector3 Vector4::zyz() const  { return Vector3       (z, y, z); }
152Vector3 Vector4::wyz() const  { return Vector3       (w, y, z); }
153Vector3 Vector4::xzz() const  { return Vector3       (x, z, z); }
154Vector3 Vector4::yzz() const  { return Vector3       (y, z, z); }
155Vector3 Vector4::zzz() const  { return Vector3       (z, z, z); }
156Vector3 Vector4::wzz() const  { return Vector3       (w, z, z); }
157Vector3 Vector4::xwz() const  { return Vector3       (x, w, z); }
158Vector3 Vector4::ywz() const  { return Vector3       (y, w, z); }
159Vector3 Vector4::zwz() const  { return Vector3       (z, w, z); }
160Vector3 Vector4::wwz() const  { return Vector3       (w, w, z); }
161Vector3 Vector4::xxw() const  { return Vector3       (x, x, w); }
162Vector3 Vector4::yxw() const  { return Vector3       (y, x, w); }
163Vector3 Vector4::zxw() const  { return Vector3       (z, x, w); }
164Vector3 Vector4::wxw() const  { return Vector3       (w, x, w); }
165Vector3 Vector4::xyw() const  { return Vector3       (x, y, w); }
166Vector3 Vector4::yyw() const  { return Vector3       (y, y, w); }
167Vector3 Vector4::zyw() const  { return Vector3       (z, y, w); }
168Vector3 Vector4::wyw() const  { return Vector3       (w, y, w); }
169Vector3 Vector4::xzw() const  { return Vector3       (x, z, w); }
170Vector3 Vector4::yzw() const  { return Vector3       (y, z, w); }
171Vector3 Vector4::zzw() const  { return Vector3       (z, z, w); }
172Vector3 Vector4::wzw() const  { return Vector3       (w, z, w); }
173Vector3 Vector4::xww() const  { return Vector3       (x, w, w); }
174Vector3 Vector4::yww() const  { return Vector3       (y, w, w); }
175Vector3 Vector4::zww() const  { return Vector3       (z, w, w); }
176Vector3 Vector4::www() const  { return Vector3       (w, w, w); }
177
178// 4-char swizzles
179
180Vector4 Vector4::xxxx() const  { return Vector4       (x, x, x, x); }
181Vector4 Vector4::yxxx() const  { return Vector4       (y, x, x, x); }
182Vector4 Vector4::zxxx() const  { return Vector4       (z, x, x, x); }
183Vector4 Vector4::wxxx() const  { return Vector4       (w, x, x, x); }
184Vector4 Vector4::xyxx() const  { return Vector4       (x, y, x, x); }
185Vector4 Vector4::yyxx() const  { return Vector4       (y, y, x, x); }
186Vector4 Vector4::zyxx() const  { return Vector4       (z, y, x, x); }
187Vector4 Vector4::wyxx() const  { return Vector4       (w, y, x, x); }
188Vector4 Vector4::xzxx() const  { return Vector4       (x, z, x, x); }
189Vector4 Vector4::yzxx() const  { return Vector4       (y, z, x, x); }
190Vector4 Vector4::zzxx() const  { return Vector4       (z, z, x, x); }
191Vector4 Vector4::wzxx() const  { return Vector4       (w, z, x, x); }
192Vector4 Vector4::xwxx() const  { return Vector4       (x, w, x, x); }
193Vector4 Vector4::ywxx() const  { return Vector4       (y, w, x, x); }
194Vector4 Vector4::zwxx() const  { return Vector4       (z, w, x, x); }
195Vector4 Vector4::wwxx() const  { return Vector4       (w, w, x, x); }
196Vector4 Vector4::xxyx() const  { return Vector4       (x, x, y, x); }
197Vector4 Vector4::yxyx() const  { return Vector4       (y, x, y, x); }
198Vector4 Vector4::zxyx() const  { return Vector4       (z, x, y, x); }
199Vector4 Vector4::wxyx() const  { return Vector4       (w, x, y, x); }
200Vector4 Vector4::xyyx() const  { return Vector4       (x, y, y, x); }
201Vector4 Vector4::yyyx() const  { return Vector4       (y, y, y, x); }
202Vector4 Vector4::zyyx() const  { return Vector4       (z, y, y, x); }
203Vector4 Vector4::wyyx() const  { return Vector4       (w, y, y, x); }
204Vector4 Vector4::xzyx() const  { return Vector4       (x, z, y, x); }
205Vector4 Vector4::yzyx() const  { return Vector4       (y, z, y, x); }
206Vector4 Vector4::zzyx() const  { return Vector4       (z, z, y, x); }
207Vector4 Vector4::wzyx() const  { return Vector4       (w, z, y, x); }
208Vector4 Vector4::xwyx() const  { return Vector4       (x, w, y, x); }
209Vector4 Vector4::ywyx() const  { return Vector4       (y, w, y, x); }
210Vector4 Vector4::zwyx() const  { return Vector4       (z, w, y, x); }
211Vector4 Vector4::wwyx() const  { return Vector4       (w, w, y, x); }
212Vector4 Vector4::xxzx() const  { return Vector4       (x, x, z, x); }
213Vector4 Vector4::yxzx() const  { return Vector4       (y, x, z, x); }
214Vector4 Vector4::zxzx() const  { return Vector4       (z, x, z, x); }
215Vector4 Vector4::wxzx() const  { return Vector4       (w, x, z, x); }
216Vector4 Vector4::xyzx() const  { return Vector4       (x, y, z, x); }
217Vector4 Vector4::yyzx() const  { return Vector4       (y, y, z, x); }
218Vector4 Vector4::zyzx() const  { return Vector4       (z, y, z, x); }
219Vector4 Vector4::wyzx() const  { return Vector4       (w, y, z, x); }
220Vector4 Vector4::xzzx() const  { return Vector4       (x, z, z, x); }
221Vector4 Vector4::yzzx() const  { return Vector4       (y, z, z, x); }
222Vector4 Vector4::zzzx() const  { return Vector4       (z, z, z, x); }
223Vector4 Vector4::wzzx() const  { return Vector4       (w, z, z, x); }
224Vector4 Vector4::xwzx() const  { return Vector4       (x, w, z, x); }
225Vector4 Vector4::ywzx() const  { return Vector4       (y, w, z, x); }
226Vector4 Vector4::zwzx() const  { return Vector4       (z, w, z, x); }
227Vector4 Vector4::wwzx() const  { return Vector4       (w, w, z, x); }
228Vector4 Vector4::xxwx() const  { return Vector4       (x, x, w, x); }
229Vector4 Vector4::yxwx() const  { return Vector4       (y, x, w, x); }
230Vector4 Vector4::zxwx() const  { return Vector4       (z, x, w, x); }
231Vector4 Vector4::wxwx() const  { return Vector4       (w, x, w, x); }
232Vector4 Vector4::xywx() const  { return Vector4       (x, y, w, x); }
233Vector4 Vector4::yywx() const  { return Vector4       (y, y, w, x); }
234Vector4 Vector4::zywx() const  { return Vector4       (z, y, w, x); }
235Vector4 Vector4::wywx() const  { return Vector4       (w, y, w, x); }
236Vector4 Vector4::xzwx() const  { return Vector4       (x, z, w, x); }
237Vector4 Vector4::yzwx() const  { return Vector4       (y, z, w, x); }
238Vector4 Vector4::zzwx() const  { return Vector4       (z, z, w, x); }
239Vector4 Vector4::wzwx() const  { return Vector4       (w, z, w, x); }
240Vector4 Vector4::xwwx() const  { return Vector4       (x, w, w, x); }
241Vector4 Vector4::ywwx() const  { return Vector4       (y, w, w, x); }
242Vector4 Vector4::zwwx() const  { return Vector4       (z, w, w, x); }
243Vector4 Vector4::wwwx() const  { return Vector4       (w, w, w, x); }
244Vector4 Vector4::xxxy() const  { return Vector4       (x, x, x, y); }
245Vector4 Vector4::yxxy() const  { return Vector4       (y, x, x, y); }
246Vector4 Vector4::zxxy() const  { return Vector4       (z, x, x, y); }
247Vector4 Vector4::wxxy() const  { return Vector4       (w, x, x, y); }
248Vector4 Vector4::xyxy() const  { return Vector4       (x, y, x, y); }
249Vector4 Vector4::yyxy() const  { return Vector4       (y, y, x, y); }
250Vector4 Vector4::zyxy() const  { return Vector4       (z, y, x, y); }
251Vector4 Vector4::wyxy() const  { return Vector4       (w, y, x, y); }
252Vector4 Vector4::xzxy() const  { return Vector4       (x, z, x, y); }
253Vector4 Vector4::yzxy() const  { return Vector4       (y, z, x, y); }
254Vector4 Vector4::zzxy() const  { return Vector4       (z, z, x, y); }
255Vector4 Vector4::wzxy() const  { return Vector4       (w, z, x, y); }
256Vector4 Vector4::xwxy() const  { return Vector4       (x, w, x, y); }
257Vector4 Vector4::ywxy() const  { return Vector4       (y, w, x, y); }
258Vector4 Vector4::zwxy() const  { return Vector4       (z, w, x, y); }
259Vector4 Vector4::wwxy() const  { return Vector4       (w, w, x, y); }
260Vector4 Vector4::xxyy() const  { return Vector4       (x, x, y, y); }
261Vector4 Vector4::yxyy() const  { return Vector4       (y, x, y, y); }
262Vector4 Vector4::zxyy() const  { return Vector4       (z, x, y, y); }
263Vector4 Vector4::wxyy() const  { return Vector4       (w, x, y, y); }
264Vector4 Vector4::xyyy() const  { return Vector4       (x, y, y, y); }
265Vector4 Vector4::yyyy() const  { return Vector4       (y, y, y, y); }
266Vector4 Vector4::zyyy() const  { return Vector4       (z, y, y, y); }
267Vector4 Vector4::wyyy() const  { return Vector4       (w, y, y, y); }
268Vector4 Vector4::xzyy() const  { return Vector4       (x, z, y, y); }
269Vector4 Vector4::yzyy() const  { return Vector4       (y, z, y, y); }
270Vector4 Vector4::zzyy() const  { return Vector4       (z, z, y, y); }
271Vector4 Vector4::wzyy() const  { return Vector4       (w, z, y, y); }
272Vector4 Vector4::xwyy() const  { return Vector4       (x, w, y, y); }
273Vector4 Vector4::ywyy() const  { return Vector4       (y, w, y, y); }
274Vector4 Vector4::zwyy() const  { return Vector4       (z, w, y, y); }
275Vector4 Vector4::wwyy() const  { return Vector4       (w, w, y, y); }
276Vector4 Vector4::xxzy() const  { return Vector4       (x, x, z, y); }
277Vector4 Vector4::yxzy() const  { return Vector4       (y, x, z, y); }
278Vector4 Vector4::zxzy() const  { return Vector4       (z, x, z, y); }
279Vector4 Vector4::wxzy() const  { return Vector4       (w, x, z, y); }
280Vector4 Vector4::xyzy() const  { return Vector4       (x, y, z, y); }
281Vector4 Vector4::yyzy() const  { return Vector4       (y, y, z, y); }
282Vector4 Vector4::zyzy() const  { return Vector4       (z, y, z, y); }
283Vector4 Vector4::wyzy() const  { return Vector4       (w, y, z, y); }
284Vector4 Vector4::xzzy() const  { return Vector4       (x, z, z, y); }
285Vector4 Vector4::yzzy() const  { return Vector4       (y, z, z, y); }
286Vector4 Vector4::zzzy() const  { return Vector4       (z, z, z, y); }
287Vector4 Vector4::wzzy() const  { return Vector4       (w, z, z, y); }
288Vector4 Vector4::xwzy() const  { return Vector4       (x, w, z, y); }
289Vector4 Vector4::ywzy() const  { return Vector4       (y, w, z, y); }
290Vector4 Vector4::zwzy() const  { return Vector4       (z, w, z, y); }
291Vector4 Vector4::wwzy() const  { return Vector4       (w, w, z, y); }
292Vector4 Vector4::xxwy() const  { return Vector4       (x, x, w, y); }
293Vector4 Vector4::yxwy() const  { return Vector4       (y, x, w, y); }
294Vector4 Vector4::zxwy() const  { return Vector4       (z, x, w, y); }
295Vector4 Vector4::wxwy() const  { return Vector4       (w, x, w, y); }
296Vector4 Vector4::xywy() const  { return Vector4       (x, y, w, y); }
297Vector4 Vector4::yywy() const  { return Vector4       (y, y, w, y); }
298Vector4 Vector4::zywy() const  { return Vector4       (z, y, w, y); }
299Vector4 Vector4::wywy() const  { return Vector4       (w, y, w, y); }
300Vector4 Vector4::xzwy() const  { return Vector4       (x, z, w, y); }
301Vector4 Vector4::yzwy() const  { return Vector4       (y, z, w, y); }
302Vector4 Vector4::zzwy() const  { return Vector4       (z, z, w, y); }
303Vector4 Vector4::wzwy() const  { return Vector4       (w, z, w, y); }
304Vector4 Vector4::xwwy() const  { return Vector4       (x, w, w, y); }
305Vector4 Vector4::ywwy() const  { return Vector4       (y, w, w, y); }
306Vector4 Vector4::zwwy() const  { return Vector4       (z, w, w, y); }
307Vector4 Vector4::wwwy() const  { return Vector4       (w, w, w, y); }
308Vector4 Vector4::xxxz() const  { return Vector4       (x, x, x, z); }
309Vector4 Vector4::yxxz() const  { return Vector4       (y, x, x, z); }
310Vector4 Vector4::zxxz() const  { return Vector4       (z, x, x, z); }
311Vector4 Vector4::wxxz() const  { return Vector4       (w, x, x, z); }
312Vector4 Vector4::xyxz() const  { return Vector4       (x, y, x, z); }
313Vector4 Vector4::yyxz() const  { return Vector4       (y, y, x, z); }
314Vector4 Vector4::zyxz() const  { return Vector4       (z, y, x, z); }
315Vector4 Vector4::wyxz() const  { return Vector4       (w, y, x, z); }
316Vector4 Vector4::xzxz() const  { return Vector4       (x, z, x, z); }
317Vector4 Vector4::yzxz() const  { return Vector4       (y, z, x, z); }
318Vector4 Vector4::zzxz() const  { return Vector4       (z, z, x, z); }
319Vector4 Vector4::wzxz() const  { return Vector4       (w, z, x, z); }
320Vector4 Vector4::xwxz() const  { return Vector4       (x, w, x, z); }
321Vector4 Vector4::ywxz() const  { return Vector4       (y, w, x, z); }
322Vector4 Vector4::zwxz() const  { return Vector4       (z, w, x, z); }
323Vector4 Vector4::wwxz() const  { return Vector4       (w, w, x, z); }
324Vector4 Vector4::xxyz() const  { return Vector4       (x, x, y, z); }
325Vector4 Vector4::yxyz() const  { return Vector4       (y, x, y, z); }
326Vector4 Vector4::zxyz() const  { return Vector4       (z, x, y, z); }
327Vector4 Vector4::wxyz() const  { return Vector4       (w, x, y, z); }
328Vector4 Vector4::xyyz() const  { return Vector4       (x, y, y, z); }
329Vector4 Vector4::yyyz() const  { return Vector4       (y, y, y, z); }
330Vector4 Vector4::zyyz() const  { return Vector4       (z, y, y, z); }
331Vector4 Vector4::wyyz() const  { return Vector4       (w, y, y, z); }
332Vector4 Vector4::xzyz() const  { return Vector4       (x, z, y, z); }
333Vector4 Vector4::yzyz() const  { return Vector4       (y, z, y, z); }
334Vector4 Vector4::zzyz() const  { return Vector4       (z, z, y, z); }
335Vector4 Vector4::wzyz() const  { return Vector4       (w, z, y, z); }
336Vector4 Vector4::xwyz() const  { return Vector4       (x, w, y, z); }
337Vector4 Vector4::ywyz() const  { return Vector4       (y, w, y, z); }
338Vector4 Vector4::zwyz() const  { return Vector4       (z, w, y, z); }
339Vector4 Vector4::wwyz() const  { return Vector4       (w, w, y, z); }
340Vector4 Vector4::xxzz() const  { return Vector4       (x, x, z, z); }
341Vector4 Vector4::yxzz() const  { return Vector4       (y, x, z, z); }
342Vector4 Vector4::zxzz() const  { return Vector4       (z, x, z, z); }
343Vector4 Vector4::wxzz() const  { return Vector4       (w, x, z, z); }
344Vector4 Vector4::xyzz() const  { return Vector4       (x, y, z, z); }
345Vector4 Vector4::yyzz() const  { return Vector4       (y, y, z, z); }
346Vector4 Vector4::zyzz() const  { return Vector4       (z, y, z, z); }
347Vector4 Vector4::wyzz() const  { return Vector4       (w, y, z, z); }
348Vector4 Vector4::xzzz() const  { return Vector4       (x, z, z, z); }
349Vector4 Vector4::yzzz() const  { return Vector4       (y, z, z, z); }
350Vector4 Vector4::zzzz() const  { return Vector4       (z, z, z, z); }
351Vector4 Vector4::wzzz() const  { return Vector4       (w, z, z, z); }
352Vector4 Vector4::xwzz() const  { return Vector4       (x, w, z, z); }
353Vector4 Vector4::ywzz() const  { return Vector4       (y, w, z, z); }
354Vector4 Vector4::zwzz() const  { return Vector4       (z, w, z, z); }
355Vector4 Vector4::wwzz() const  { return Vector4       (w, w, z, z); }
356Vector4 Vector4::xxwz() const  { return Vector4       (x, x, w, z); }
357Vector4 Vector4::yxwz() const  { return Vector4       (y, x, w, z); }
358Vector4 Vector4::zxwz() const  { return Vector4       (z, x, w, z); }
359Vector4 Vector4::wxwz() const  { return Vector4       (w, x, w, z); }
360Vector4 Vector4::xywz() const  { return Vector4       (x, y, w, z); }
361Vector4 Vector4::yywz() const  { return Vector4       (y, y, w, z); }
362Vector4 Vector4::zywz() const  { return Vector4       (z, y, w, z); }
363Vector4 Vector4::wywz() const  { return Vector4       (w, y, w, z); }
364Vector4 Vector4::xzwz() const  { return Vector4       (x, z, w, z); }
365Vector4 Vector4::yzwz() const  { return Vector4       (y, z, w, z); }
366Vector4 Vector4::zzwz() const  { return Vector4       (z, z, w, z); }
367Vector4 Vector4::wzwz() const  { return Vector4       (w, z, w, z); }
368Vector4 Vector4::xwwz() const  { return Vector4       (x, w, w, z); }
369Vector4 Vector4::ywwz() const  { return Vector4       (y, w, w, z); }
370Vector4 Vector4::zwwz() const  { return Vector4       (z, w, w, z); }
371Vector4 Vector4::wwwz() const  { return Vector4       (w, w, w, z); }
372Vector4 Vector4::xxxw() const  { return Vector4       (x, x, x, w); }
373Vector4 Vector4::yxxw() const  { return Vector4       (y, x, x, w); }
374Vector4 Vector4::zxxw() const  { return Vector4       (z, x, x, w); }
375Vector4 Vector4::wxxw() const  { return Vector4       (w, x, x, w); }
376Vector4 Vector4::xyxw() const  { return Vector4       (x, y, x, w); }
377Vector4 Vector4::yyxw() const  { return Vector4       (y, y, x, w); }
378Vector4 Vector4::zyxw() const  { return Vector4       (z, y, x, w); }
379Vector4 Vector4::wyxw() const  { return Vector4       (w, y, x, w); }
380Vector4 Vector4::xzxw() const  { return Vector4       (x, z, x, w); }
381Vector4 Vector4::yzxw() const  { return Vector4       (y, z, x, w); }
382Vector4 Vector4::zzxw() const  { return Vector4       (z, z, x, w); }
383Vector4 Vector4::wzxw() const  { return Vector4       (w, z, x, w); }
384Vector4 Vector4::xwxw() const  { return Vector4       (x, w, x, w); }
385Vector4 Vector4::ywxw() const  { return Vector4       (y, w, x, w); }
386Vector4 Vector4::zwxw() const  { return Vector4       (z, w, x, w); }
387Vector4 Vector4::wwxw() const  { return Vector4       (w, w, x, w); }
388Vector4 Vector4::xxyw() const  { return Vector4       (x, x, y, w); }
389Vector4 Vector4::yxyw() const  { return Vector4       (y, x, y, w); }
390Vector4 Vector4::zxyw() const  { return Vector4       (z, x, y, w); }
391Vector4 Vector4::wxyw() const  { return Vector4       (w, x, y, w); }
392Vector4 Vector4::xyyw() const  { return Vector4       (x, y, y, w); }
393Vector4 Vector4::yyyw() const  { return Vector4       (y, y, y, w); }
394Vector4 Vector4::zyyw() const  { return Vector4       (z, y, y, w); }
395Vector4 Vector4::wyyw() const  { return Vector4       (w, y, y, w); }
396Vector4 Vector4::xzyw() const  { return Vector4       (x, z, y, w); }
397Vector4 Vector4::yzyw() const  { return Vector4       (y, z, y, w); }
398Vector4 Vector4::zzyw() const  { return Vector4       (z, z, y, w); }
399Vector4 Vector4::wzyw() const  { return Vector4       (w, z, y, w); }
400Vector4 Vector4::xwyw() const  { return Vector4       (x, w, y, w); }
401Vector4 Vector4::ywyw() const  { return Vector4       (y, w, y, w); }
402Vector4 Vector4::zwyw() const  { return Vector4       (z, w, y, w); }
403Vector4 Vector4::wwyw() const  { return Vector4       (w, w, y, w); }
404Vector4 Vector4::xxzw() const  { return Vector4       (x, x, z, w); }
405Vector4 Vector4::yxzw() const  { return Vector4       (y, x, z, w); }
406Vector4 Vector4::zxzw() const  { return Vector4       (z, x, z, w); }
407Vector4 Vector4::wxzw() const  { return Vector4       (w, x, z, w); }
408Vector4 Vector4::xyzw() const  { return Vector4       (x, y, z, w); }
409Vector4 Vector4::yyzw() const  { return Vector4       (y, y, z, w); }
410Vector4 Vector4::zyzw() const  { return Vector4       (z, y, z, w); }
411Vector4 Vector4::wyzw() const  { return Vector4       (w, y, z, w); }
412Vector4 Vector4::xzzw() const  { return Vector4       (x, z, z, w); }
413Vector4 Vector4::yzzw() const  { return Vector4       (y, z, z, w); }
414Vector4 Vector4::zzzw() const  { return Vector4       (z, z, z, w); }
415Vector4 Vector4::wzzw() const  { return Vector4       (w, z, z, w); }
416Vector4 Vector4::xwzw() const  { return Vector4       (x, w, z, w); }
417Vector4 Vector4::ywzw() const  { return Vector4       (y, w, z, w); }
418Vector4 Vector4::zwzw() const  { return Vector4       (z, w, z, w); }
419Vector4 Vector4::wwzw() const  { return Vector4       (w, w, z, w); }
420Vector4 Vector4::xxww() const  { return Vector4       (x, x, w, w); }
421Vector4 Vector4::yxww() const  { return Vector4       (y, x, w, w); }
422Vector4 Vector4::zxww() const  { return Vector4       (z, x, w, w); }
423Vector4 Vector4::wxww() const  { return Vector4       (w, x, w, w); }
424Vector4 Vector4::xyww() const  { return Vector4       (x, y, w, w); }
425Vector4 Vector4::yyww() const  { return Vector4       (y, y, w, w); }
426Vector4 Vector4::zyww() const  { return Vector4       (z, y, w, w); }
427Vector4 Vector4::wyww() const  { return Vector4       (w, y, w, w); }
428Vector4 Vector4::xzww() const  { return Vector4       (x, z, w, w); }
429Vector4 Vector4::yzww() const  { return Vector4       (y, z, w, w); }
430Vector4 Vector4::zzww() const  { return Vector4       (z, z, w, w); }
431Vector4 Vector4::wzww() const  { return Vector4       (w, z, w, w); }
432Vector4 Vector4::xwww() const  { return Vector4       (x, w, w, w); }
433Vector4 Vector4::ywww() const  { return Vector4       (y, w, w, w); }
434Vector4 Vector4::zwww() const  { return Vector4       (z, w, w, w); }
435Vector4 Vector4::wwww() const  { return Vector4       (w, w, w, w); }
436
437
438}; // namespace
Note: See TracBrowser for help on using the browser.