Revision 88b09bb5

View differences:

utility/quaternion.h
35 35
class Quaternion
36 36
{
37 37
public:
38
    Quaternion()
39
    {
40
        _w = 1.0;
41
        _x = _y = _z = 0.0;
42
    }
38
    Quaternion(): _w(1.0), _x(0.0), _y(0.0), _z(0.0) {}
43 39

  
44
    Quaternion(double iw, double ix, double iy, double iz)
45
    {
46
        _w = iw;
47
        _x = ix;
48
        _y = iy;
49
        _z = iz;
50
    }
40
    Quaternion(double w, double x, double y, double z):
41
        _w(w), _x(x), _y(y), _z(z) {}
51 42

  
52
    Quaternion(double w, Vector<3> vec)
53
    {
54
        _w = w;
55
        _x = vec.x();
56
        _y = vec.y();
57
        _z = vec.z();
58
    }
43
    Quaternion(double w, Vector<3> vec):
44
        _w(w), _x(vec.x()), _y(vec.y()), _z(vec.z()) {}
59 45

  
60 46
    double& w()
61 47
    {
......
243 229
    }
244 230

  
245 231

  
246
    const Quaternion operator*(const Quaternion& q) const
232
    Quaternion operator*(const Quaternion& q) const
247 233
    {
248 234
        return Quaternion(
249 235
            _w*q._w - _x*q._x - _y*q._y - _z*q._z,
......
253 239
        );
254 240
    }
255 241

  
256
    const Quaternion operator+(const Quaternion& q) const
242
    Quaternion operator+(const Quaternion& q) const
257 243
    {
258 244
        return Quaternion(_w + q._w, _x + q._x, _y + q._y, _z + q._z);
259 245
    }
260 246

  
261
    const Quaternion operator-(const Quaternion& q) const
247
    Quaternion operator-(const Quaternion& q) const
262 248
    {
263 249
        return Quaternion(_w - q._w, _x - q._x, _y - q._y, _z - q._z);
264 250
    }
265 251

  
266
    const Quaternion operator/(double scalar) const
252
    Quaternion operator/(double scalar) const
267 253
    {
268 254
        return Quaternion(_w / scalar, _x / scalar, _y / scalar, _z / scalar);
269 255
    }
270 256

  
271
    const Quaternion operator*(double scalar) const
257
    Quaternion operator*(double scalar) const
272 258
    {
273 259
        return scale(scalar);
274 260
    }
275 261

  
276
    const Quaternion scale(double scalar) const
262
    Quaternion scale(double scalar) const
277 263
    {
278 264
        return Quaternion(_w * scalar, _x * scalar, _y * scalar, _z * scalar);
279 265
    }

Also available in: Unified diff