+ TestApplication application;
+ Vector3 v(1.0f, 2.0f, 3.0f);
+ DALI_TEST_EQUALS(v.LengthSquared(), v.x*v.x + v.y*v.y + v.z*v.z, 0.001f, TEST_LOCATION);
+
+ Vector3 v1(0.0f, 0.0f, 0.0f);
+ DALI_TEST_EQUALS(v1.LengthSquared(), 0.0f, TEST_LOCATION);
+ END_TEST;
+}
+
+int UtcDaliVector3NormalizeP(void)
+{
+ TestApplication application;
+ for (float f=0.0f; f<6.0f; f+=1.0f)
+ {
+ Vector3 v(cosf(f)*10.0f, cosf(f+1.0f)*10.0f, cosf(f+2.0f)*10.0f);
+ v.Normalize();
+ DALI_TEST_EQUALS(v.LengthSquared(), 1.0f, 0.001f, TEST_LOCATION);
+ }
+
+ Vector3 v(0.0f, 0.0f, 0.0f);
+ v.Normalize();
+ DALI_TEST_EQUALS(v.LengthSquared(), 0.0f, 0.00001f, TEST_LOCATION);
+ END_TEST;
+}
+
+int UtcDaliVector3ClampVector3P(void)
+{
+ TestApplication application;
+
+ Vector3 v0(2.0f, 0.8f, 0.0f);
+ Vector3 v1(-1.0f, 2.0f, 10.0f);
+ Vector3 v2(10.0f, 5.0f, 0.0f);
+ Vector3 v3(8.0f, 10.0f, 5.0f);
+ Vector3 v4(4.9f, 5.1f, 10.0f);
+ Vector3 min(1.0f, 4.0f, 1.5f);
+ Vector3 max(9.0f, 6.0f, 8.0f);
+
+ v0.Clamp( min, max );
+ v1.Clamp( min, max );
+ v2.Clamp( min, max );
+ v3.Clamp( min, max );
+ v4.Clamp( min, max );
+
+ DALI_TEST_EQUALS( v0, Vector3(2.0f, 4.0f, 1.5f), 0.01f, TEST_LOCATION );
+ DALI_TEST_EQUALS( v1, Vector3(1.0f, 4.0f, 8.0f), 0.01f, TEST_LOCATION );
+ DALI_TEST_EQUALS( v2, Vector3(9.0f, 5.0f, 1.5f), 0.01f, TEST_LOCATION );
+ DALI_TEST_EQUALS( v3, Vector3(8.0f, 6.0f, 5.0f), 0.01f, TEST_LOCATION );
+ DALI_TEST_EQUALS( v4, Vector3(4.9f, 5.1f, 8.0f), 0.01f, TEST_LOCATION );
+ END_TEST;
+}
+
+int UtcDaliVector3AsFloatP(void)
+{
+ TestApplication application;