Merged revision(s) 58452-58584 from trunk/blender into soc-2013-dingto.
[blender-staging.git] / intern / cycles / util / util_transform.h
index 1f19f85f894686381a168bfc8af14db95936b08d..66801e90b56d601e6759063da71d3efd924a6463 100644 (file)
@@ -97,17 +97,6 @@ __device_inline float3 transform_direction_transposed(const Transform *t, const
        return make_float3(dot(x, a), dot(y, a), dot(z, a));
 }
 
-#ifndef __KERNEL_GPU__
-
-__device_inline void print_transform(const char *label, const Transform& t)
-{
-       print_float4(label, t.x);
-       print_float4(label, t.y);
-       print_float4(label, t.z);
-       print_float4(label, t.w);
-       printf("\n");
-}
-
 __device_inline Transform transform_transpose(const Transform a)
 {
        Transform t;
@@ -120,6 +109,23 @@ __device_inline Transform transform_transpose(const Transform a)
        return t;
 }
 
+__device_inline Transform make_transform(float a, float b, float c, float d,
+                                                                       float e, float f, float g, float h,
+                                                                       float i, float j, float k, float l,
+                                                                       float m, float n, float o, float p)
+{
+       Transform t;
+
+       t.x.x = a; t.x.y = b; t.x.z = c; t.x.w = d;
+       t.y.x = e; t.y.y = f; t.y.z = g; t.y.w = h;
+       t.z.x = i; t.z.y = j; t.z.z = k; t.z.w = l;
+       t.w.x = m; t.w.y = n; t.w.z = o; t.w.w = p;
+
+       return t;
+}
+
+#ifndef __KERNEL_GPU__
+
 __device_inline Transform operator*(const Transform a, const Transform b)
 {
        Transform c = transform_transpose(b);
@@ -133,19 +139,13 @@ __device_inline Transform operator*(const Transform a, const Transform b)
        return t;
 }
 
-__device_inline Transform make_transform(float a, float b, float c, float d,
-                                                                       float e, float f, float g, float h,
-                                                                       float i, float j, float k, float l,
-                                                                       float m, float n, float o, float p)
+__device_inline void print_transform(const char *label, const Transform& t)
 {
-       Transform t;
-
-       t.x.x = a; t.x.y = b; t.x.z = c; t.x.w = d;
-       t.y.x = e; t.y.y = f; t.y.z = g; t.y.w = h;
-       t.z.x = i; t.z.y = j; t.z.z = k; t.z.w = l;
-       t.w.x = m; t.w.y = n; t.w.z = o; t.w.w = p;
-
-       return t;
+       print_float4(label, t.x);
+       print_float4(label, t.y);
+       print_float4(label, t.z);
+       print_float4(label, t.w);
+       printf("\n");
 }
 
 __device_inline Transform transform_translate(float3 t)
@@ -195,7 +195,7 @@ __device_inline Transform transform_rotate(float angle, float3 axis)
 {
        float s = sinf(angle);
        float c = cosf(angle);
-       float t = 1.f - c;
+       float t = 1.0f - c;
 
        axis = normalize(axis);
 
@@ -454,6 +454,7 @@ __device_inline bool operator==(const MotionTransform& A, const MotionTransform&
        return (A.pre == B.pre && A.post == B.post);
 }
 
+float4 transform_to_quat(const Transform& tfm);
 void transform_motion_decompose(DecompMotionTransform *decomp, const MotionTransform *motion, const Transform *mid);
 
 #endif