]> git.tdb.fi Git - libs/gl.git/blobdiff - source/vector.h
Add conversion from Vector4 to Vector3
[libs/gl.git] / source / vector.h
index d1693af101ab04c5806038b247264302704e5295..25ebac1180c8fc1cc5dc531f0616e3eefe915589 100644 (file)
@@ -11,12 +11,15 @@ Distributed under the LGPL
 namespace Msp {
 namespace GL {
 
+struct Vector4;
+
 struct Vector3
 {
        float x, y, z;
 
        Vector3(): x(0), y(0), z(0) { }
        Vector3(float x_, float y_, float z_): x(x_), y(y_), z(z_) { }
+       Vector3(const Vector4 &);
 };
 
 struct Vector4
@@ -29,6 +32,10 @@ struct Vector4
        Vector4(const Vector3 &v): x(v.x), y(v.y), z(v.z), w(1) { }
 };
 
+inline Vector3::Vector3(const Vector4 &v):
+       x(v.x/v.w), y(v.y/v.w), z(v.z/v.w)
+{ }
+
 } // namespace GL
 } // namespace Msp