improve mat44 implementation
this will make it easier to create matrices of different sizes
Change-Id: I2c1771ba0823c42d737762e2dfc2cd47eb302767
diff --git a/include/ui/vec3.h b/include/ui/vec3.h
index 591b8b2..dde59a9 100644
--- a/include/ui/vec3.h
+++ b/include/ui/vec3.h
@@ -26,7 +26,8 @@
// -------------------------------------------------------------------------------------
template <typename T>
-class tvec3 : public TVecArithmeticOperators<tvec3, T>,
+class tvec3 : public TVecProductOperators<tvec3, T>,
+ public TVecAddOperators<tvec3, T>,
public TVecUnaryOperators<tvec3, T>,
public TVecComparisonOperators<tvec3, T>,
public TVecFunctions<tvec3, T>
@@ -78,6 +79,12 @@
template<typename A>
explicit tvec3(const tvec3<A>& v) : x(v.x), y(v.y), z(v.z) { }
+ template<typename A>
+ tvec3(const Impersonator< tvec3<A> >& v)
+ : x(((const tvec3<A>&)v).x),
+ y(((const tvec3<A>&)v).y),
+ z(((const tvec3<A>&)v).z) { }
+
template<typename A, typename B>
tvec3(const Impersonator< tvec2<A> >& v, B z)
: x(((const tvec2<A>&)v).x),