OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #define _USE_MATH_DEFINES | 5 #define _USE_MATH_DEFINES |
6 #include <math.h> | 6 #include <math.h> |
7 | 7 |
8 #include "cc/test/geometry_test_utils.h" | |
9 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
10 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa
trix.h" | 9 #include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMa
trix.h" |
11 | 10 |
12 #define EXPECT_ROW1_EQ(a, b, c, d, matrix) \ | 11 #define EXPECT_ROW1_EQ(a, b, c, d, matrix) \ |
13 EXPECT_FLOAT_EQ((a), (matrix).m11()); \ | 12 EXPECT_FLOAT_EQ((a), (matrix).m11()); \ |
14 EXPECT_FLOAT_EQ((b), (matrix).m21()); \ | 13 EXPECT_FLOAT_EQ((b), (matrix).m21()); \ |
15 EXPECT_FLOAT_EQ((c), (matrix).m31()); \ | 14 EXPECT_FLOAT_EQ((c), (matrix).m31()); \ |
16 EXPECT_FLOAT_EQ((d), (matrix).m41()); | 15 EXPECT_FLOAT_EQ((d), (matrix).m41()); |
17 | 16 |
18 #define EXPECT_ROW2_EQ(a, b, c, d, matrix) \ | 17 #define EXPECT_ROW2_EQ(a, b, c, d, matrix) \ |
19 EXPECT_FLOAT_EQ((a), (matrix).m12()); \ | 18 EXPECT_FLOAT_EQ((a), (matrix).m12()); \ |
20 EXPECT_FLOAT_EQ((b), (matrix).m22()); \ | 19 EXPECT_FLOAT_EQ((b), (matrix).m22()); \ |
21 EXPECT_FLOAT_EQ((c), (matrix).m32()); \ | 20 EXPECT_FLOAT_EQ((c), (matrix).m32()); \ |
22 EXPECT_FLOAT_EQ((d), (matrix).m42()); | 21 EXPECT_FLOAT_EQ((d), (matrix).m42()); |
23 | 22 |
24 #define EXPECT_ROW3_EQ(a, b, c, d, matrix) \ | 23 #define EXPECT_ROW3_EQ(a, b, c, d, matrix) \ |
25 EXPECT_FLOAT_EQ((a), (matrix).m13()); \ | 24 EXPECT_FLOAT_EQ((a), (matrix).m13()); \ |
26 EXPECT_FLOAT_EQ((b), (matrix).m23()); \ | 25 EXPECT_FLOAT_EQ((b), (matrix).m23()); \ |
27 EXPECT_FLOAT_EQ((c), (matrix).m33()); \ | 26 EXPECT_FLOAT_EQ((c), (matrix).m33()); \ |
28 EXPECT_FLOAT_EQ((d), (matrix).m43()); | 27 EXPECT_FLOAT_EQ((d), (matrix).m43()); |
29 | 28 |
30 #define EXPECT_ROW4_EQ(a, b, c, d, matrix) \ | 29 #define EXPECT_ROW4_EQ(a, b, c, d, matrix) \ |
31 EXPECT_FLOAT_EQ((a), (matrix).m14()); \ | 30 EXPECT_FLOAT_EQ((a), (matrix).m14()); \ |
32 EXPECT_FLOAT_EQ((b), (matrix).m24()); \ | 31 EXPECT_FLOAT_EQ((b), (matrix).m24()); \ |
33 EXPECT_FLOAT_EQ((c), (matrix).m34()); \ | 32 EXPECT_FLOAT_EQ((c), (matrix).m34()); \ |
34 EXPECT_FLOAT_EQ((d), (matrix).m44()); | 33 EXPECT_FLOAT_EQ((d), (matrix).m44()); |
35 | 34 |
| 35 #define EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(expected, actual) \ |
| 36 EXPECT_FLOAT_EQ((expected).m11(), (actual).m11()); \ |
| 37 EXPECT_FLOAT_EQ((expected).m12(), (actual).m12()); \ |
| 38 EXPECT_FLOAT_EQ((expected).m13(), (actual).m13()); \ |
| 39 EXPECT_FLOAT_EQ((expected).m14(), (actual).m14()); \ |
| 40 EXPECT_FLOAT_EQ((expected).m21(), (actual).m21()); \ |
| 41 EXPECT_FLOAT_EQ((expected).m22(), (actual).m22()); \ |
| 42 EXPECT_FLOAT_EQ((expected).m23(), (actual).m23()); \ |
| 43 EXPECT_FLOAT_EQ((expected).m24(), (actual).m24()); \ |
| 44 EXPECT_FLOAT_EQ((expected).m31(), (actual).m31()); \ |
| 45 EXPECT_FLOAT_EQ((expected).m32(), (actual).m32()); \ |
| 46 EXPECT_FLOAT_EQ((expected).m33(), (actual).m33()); \ |
| 47 EXPECT_FLOAT_EQ((expected).m34(), (actual).m34()); \ |
| 48 EXPECT_FLOAT_EQ((expected).m41(), (actual).m41()); \ |
| 49 EXPECT_FLOAT_EQ((expected).m42(), (actual).m42()); \ |
| 50 EXPECT_FLOAT_EQ((expected).m43(), (actual).m43()); \ |
| 51 EXPECT_FLOAT_EQ((expected).m44(), (actual).m44()); |
| 52 |
36 // Checking float values for equality close to zero is not robust using EXPECT_F
LOAT_EQ | 53 // Checking float values for equality close to zero is not robust using EXPECT_F
LOAT_EQ |
37 // (see gtest documentation). So, to verify rotation matrices, we must use a loo
ser | 54 // (see gtest documentation). So, to verify rotation matrices, we must use a loo
ser |
38 // absolute error threshold in some places. | 55 // absolute error threshold in some places. |
39 #define EXPECT_ROW1_NEAR(a, b, c, d, matrix, errorThreshold) \ | 56 #define EXPECT_ROW1_NEAR(a, b, c, d, matrix, errorThreshold) \ |
40 EXPECT_NEAR((a), (matrix).m11(), (errorThreshold)); \ | 57 EXPECT_NEAR((a), (matrix).m11(), (errorThreshold)); \ |
41 EXPECT_NEAR((b), (matrix).m21(), (errorThreshold)); \ | 58 EXPECT_NEAR((b), (matrix).m21(), (errorThreshold)); \ |
42 EXPECT_NEAR((c), (matrix).m31(), (errorThreshold)); \ | 59 EXPECT_NEAR((c), (matrix).m31(), (errorThreshold)); \ |
43 EXPECT_NEAR((d), (matrix).m41(), (errorThreshold)); | 60 EXPECT_NEAR((d), (matrix).m41(), (errorThreshold)); |
44 | 61 |
45 #define EXPECT_ROW2_NEAR(a, b, c, d, matrix, errorThreshold) \ | 62 #define EXPECT_ROW2_NEAR(a, b, c, d, matrix, errorThreshold) \ |
(...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
987 TEST(WebTransformationMatrixTest, verifyBlendForTranslation) | 1004 TEST(WebTransformationMatrixTest, verifyBlendForTranslation) |
988 { | 1005 { |
989 WebTransformationMatrix from; | 1006 WebTransformationMatrix from; |
990 from.translate3d(100, 200, 100); | 1007 from.translate3d(100, 200, 100); |
991 | 1008 |
992 WebTransformationMatrix to; | 1009 WebTransformationMatrix to; |
993 | 1010 |
994 to.makeIdentity(); | 1011 to.makeIdentity(); |
995 to.translate3d(200, 100, 300); | 1012 to.translate3d(200, 100, 300); |
996 to.blend(from, 0); | 1013 to.blend(from, 0); |
997 EXPECT_TRANSFORMATION_MATRIX_EQ(from, to); | 1014 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(from, to); |
998 | 1015 |
999 to.makeIdentity(); | 1016 to.makeIdentity(); |
1000 to.translate3d(200, 100, 300); | 1017 to.translate3d(200, 100, 300); |
1001 to.blend(from, 0.25); | 1018 to.blend(from, 0.25); |
1002 EXPECT_ROW1_EQ(1, 0, 0, 125, to); | 1019 EXPECT_ROW1_EQ(1, 0, 0, 125, to); |
1003 EXPECT_ROW2_EQ(0, 1, 0, 175, to); | 1020 EXPECT_ROW2_EQ(0, 1, 0, 175, to); |
1004 EXPECT_ROW3_EQ(0, 0, 1, 150, to); | 1021 EXPECT_ROW3_EQ(0, 0, 1, 150, to); |
1005 EXPECT_ROW4_EQ(0, 0, 0, 1, to); | 1022 EXPECT_ROW4_EQ(0, 0, 0, 1, to); |
1006 | 1023 |
1007 to.makeIdentity(); | 1024 to.makeIdentity(); |
(...skipping 16 matching lines...) Expand all Loading... |
1024 TEST(WebTransformationMatrixTest, verifyBlendForScale) | 1041 TEST(WebTransformationMatrixTest, verifyBlendForScale) |
1025 { | 1042 { |
1026 WebTransformationMatrix from; | 1043 WebTransformationMatrix from; |
1027 from.scale3d(100, 200, 100); | 1044 from.scale3d(100, 200, 100); |
1028 | 1045 |
1029 WebTransformationMatrix to; | 1046 WebTransformationMatrix to; |
1030 | 1047 |
1031 to.makeIdentity(); | 1048 to.makeIdentity(); |
1032 to.scale3d(200, 100, 300); | 1049 to.scale3d(200, 100, 300); |
1033 to.blend(from, 0); | 1050 to.blend(from, 0); |
1034 EXPECT_TRANSFORMATION_MATRIX_EQ(from, to); | 1051 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(from, to); |
1035 | 1052 |
1036 to.makeIdentity(); | 1053 to.makeIdentity(); |
1037 to.scale3d(200, 100, 300); | 1054 to.scale3d(200, 100, 300); |
1038 to.blend(from, 0.25); | 1055 to.blend(from, 0.25); |
1039 EXPECT_ROW1_EQ(125, 0, 0, 0, to); | 1056 EXPECT_ROW1_EQ(125, 0, 0, 0, to); |
1040 EXPECT_ROW2_EQ(0, 175, 0, 0, to); | 1057 EXPECT_ROW2_EQ(0, 175, 0, 0, to); |
1041 EXPECT_ROW3_EQ(0, 0, 150, 0, to); | 1058 EXPECT_ROW3_EQ(0, 0, 150, 0, to); |
1042 EXPECT_ROW4_EQ(0, 0, 0, 1, to); | 1059 EXPECT_ROW4_EQ(0, 0, 0, 1, to); |
1043 | 1060 |
1044 to.makeIdentity(); | 1061 to.makeIdentity(); |
(...skipping 16 matching lines...) Expand all Loading... |
1061 TEST(WebTransformationMatrixTest, verifyBlendForSkewX) | 1078 TEST(WebTransformationMatrixTest, verifyBlendForSkewX) |
1062 { | 1079 { |
1063 WebTransformationMatrix from; | 1080 WebTransformationMatrix from; |
1064 from.skewX(0); | 1081 from.skewX(0); |
1065 | 1082 |
1066 WebTransformationMatrix to; | 1083 WebTransformationMatrix to; |
1067 | 1084 |
1068 to.makeIdentity(); | 1085 to.makeIdentity(); |
1069 to.skewX(45); | 1086 to.skewX(45); |
1070 to.blend(from, 0); | 1087 to.blend(from, 0); |
1071 EXPECT_TRANSFORMATION_MATRIX_EQ(from, to); | 1088 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(from, to); |
1072 | 1089 |
1073 to.makeIdentity(); | 1090 to.makeIdentity(); |
1074 to.skewX(45); | 1091 to.skewX(45); |
1075 to.blend(from, 0.5); | 1092 to.blend(from, 0.5); |
1076 EXPECT_ROW1_EQ(1, 0.5, 0, 0, to); | 1093 EXPECT_ROW1_EQ(1, 0.5, 0, 0, to); |
1077 EXPECT_ROW2_EQ(0, 1, 0, 0, to); | 1094 EXPECT_ROW2_EQ(0, 1, 0, 0, to); |
1078 EXPECT_ROW3_EQ(0, 0, 1, 0, to); | 1095 EXPECT_ROW3_EQ(0, 0, 1, 0, to); |
1079 EXPECT_ROW4_EQ(0, 0, 0, 1, to); | 1096 EXPECT_ROW4_EQ(0, 0, 0, 1, to); |
1080 | 1097 |
1081 to.makeIdentity(); | 1098 to.makeIdentity(); |
(...skipping 28 matching lines...) Expand all Loading... |
1110 // implementation just happens to decompose those test matrices intuitively. | 1127 // implementation just happens to decompose those test matrices intuitively. |
1111 | 1128 |
1112 WebTransformationMatrix from; | 1129 WebTransformationMatrix from; |
1113 from.skewY(0); | 1130 from.skewY(0); |
1114 | 1131 |
1115 WebTransformationMatrix to; | 1132 WebTransformationMatrix to; |
1116 | 1133 |
1117 to.makeIdentity(); | 1134 to.makeIdentity(); |
1118 to.skewY(45); | 1135 to.skewY(45); |
1119 to.blend(from, 0); | 1136 to.blend(from, 0); |
1120 EXPECT_TRANSFORMATION_MATRIX_EQ(from, to); | 1137 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(from, to); |
1121 | 1138 |
1122 to.makeIdentity(); | 1139 to.makeIdentity(); |
1123 to.skewY(45); | 1140 to.skewY(45); |
1124 to.blend(from, 0.25); | 1141 to.blend(from, 0.25); |
1125 EXPECT_ROW1_NEAR(1.0823489449280947471976333, 0.0464370719145053845178239, 0
, 0, to, LOOSE_ERROR_THRESHOLD); | 1142 EXPECT_ROW1_NEAR(1.0823489449280947471976333, 0.0464370719145053845178239, 0
, 0, to, LOOSE_ERROR_THRESHOLD); |
1126 EXPECT_ROW2_NEAR(0.2152925909665224513123150, 0.9541702441750861130032035, 0
, 0, to, LOOSE_ERROR_THRESHOLD); | 1143 EXPECT_ROW2_NEAR(0.2152925909665224513123150, 0.9541702441750861130032035, 0
, 0, to, LOOSE_ERROR_THRESHOLD); |
1127 EXPECT_ROW3_EQ(0, 0, 1, 0, to); | 1144 EXPECT_ROW3_EQ(0, 0, 1, 0, to); |
1128 EXPECT_ROW4_EQ(0, 0, 0, 1, to); | 1145 EXPECT_ROW4_EQ(0, 0, 0, 1, to); |
1129 | 1146 |
1130 to.makeIdentity(); | 1147 to.makeIdentity(); |
(...skipping 21 matching lines...) Expand all Loading... |
1152 // against manually specified matrices from Euler angles. | 1169 // against manually specified matrices from Euler angles. |
1153 | 1170 |
1154 WebTransformationMatrix from; | 1171 WebTransformationMatrix from; |
1155 from.rotate3d(1, 0, 0, 0); | 1172 from.rotate3d(1, 0, 0, 0); |
1156 | 1173 |
1157 WebTransformationMatrix to; | 1174 WebTransformationMatrix to; |
1158 | 1175 |
1159 to.makeIdentity(); | 1176 to.makeIdentity(); |
1160 to.rotate3d(1, 0, 0, 90); | 1177 to.rotate3d(1, 0, 0, 90); |
1161 to.blend(from, 0); | 1178 to.blend(from, 0); |
1162 EXPECT_TRANSFORMATION_MATRIX_EQ(from, to); | 1179 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(from, to); |
1163 | 1180 |
1164 double expectedRotationAngle = 22.5 * M_PI / 180.0; | 1181 double expectedRotationAngle = 22.5 * M_PI / 180.0; |
1165 to.makeIdentity(); | 1182 to.makeIdentity(); |
1166 to.rotate3d(1, 0, 0, 90); | 1183 to.rotate3d(1, 0, 0, 90); |
1167 to.blend(from, 0.25); | 1184 to.blend(from, 0.25); |
1168 EXPECT_ROW1_NEAR(1, 0, 0, 0, to, ERROR_THRESHOLD); | 1185 EXPECT_ROW1_NEAR(1, 0, 0, 0, to, ERROR_THRESHOLD); |
1169 EXPECT_ROW2_NEAR(0, cos(expectedRotationAngle), -sin(expectedRotationAngle),
0, to, ERROR_THRESHOLD); | 1186 EXPECT_ROW2_NEAR(0, cos(expectedRotationAngle), -sin(expectedRotationAngle),
0, to, ERROR_THRESHOLD); |
1170 EXPECT_ROW3_NEAR(0, sin(expectedRotationAngle), cos(expectedRotationAngle),
0, to, ERROR_THRESHOLD); | 1187 EXPECT_ROW3_NEAR(0, sin(expectedRotationAngle), cos(expectedRotationAngle),
0, to, ERROR_THRESHOLD); |
1171 EXPECT_ROW4_EQ(0, 0, 0, 1, to); | 1188 EXPECT_ROW4_EQ(0, 0, 0, 1, to); |
1172 | 1189 |
(...skipping 18 matching lines...) Expand all Loading... |
1191 TEST(WebTransformationMatrixTest, verifyBlendForRotationAboutY) | 1208 TEST(WebTransformationMatrixTest, verifyBlendForRotationAboutY) |
1192 { | 1209 { |
1193 WebTransformationMatrix from; | 1210 WebTransformationMatrix from; |
1194 from.rotate3d(0, 1, 0, 0); | 1211 from.rotate3d(0, 1, 0, 0); |
1195 | 1212 |
1196 WebTransformationMatrix to; | 1213 WebTransformationMatrix to; |
1197 | 1214 |
1198 to.makeIdentity(); | 1215 to.makeIdentity(); |
1199 to.rotate3d(0, 1, 0, 90); | 1216 to.rotate3d(0, 1, 0, 90); |
1200 to.blend(from, 0); | 1217 to.blend(from, 0); |
1201 EXPECT_TRANSFORMATION_MATRIX_EQ(from, to); | 1218 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(from, to); |
1202 | 1219 |
1203 double expectedRotationAngle = 22.5 * M_PI / 180.0; | 1220 double expectedRotationAngle = 22.5 * M_PI / 180.0; |
1204 to.makeIdentity(); | 1221 to.makeIdentity(); |
1205 to.rotate3d(0, 1, 0, 90); | 1222 to.rotate3d(0, 1, 0, 90); |
1206 to.blend(from, 0.25); | 1223 to.blend(from, 0.25); |
1207 EXPECT_ROW1_NEAR(cos(expectedRotationAngle), 0, sin(expectedRotationAngle),
0, to, ERROR_THRESHOLD); | 1224 EXPECT_ROW1_NEAR(cos(expectedRotationAngle), 0, sin(expectedRotationAngle),
0, to, ERROR_THRESHOLD); |
1208 EXPECT_ROW2_NEAR(0, 1, 0, 0, to, ERROR_THRESHOLD); | 1225 EXPECT_ROW2_NEAR(0, 1, 0, 0, to, ERROR_THRESHOLD); |
1209 EXPECT_ROW3_NEAR(-sin(expectedRotationAngle), 0, cos(expectedRotationAngle),
0, to, ERROR_THRESHOLD); | 1226 EXPECT_ROW3_NEAR(-sin(expectedRotationAngle), 0, cos(expectedRotationAngle),
0, to, ERROR_THRESHOLD); |
1210 EXPECT_ROW4_EQ(0, 0, 0, 1, to); | 1227 EXPECT_ROW4_EQ(0, 0, 0, 1, to); |
1211 | 1228 |
(...skipping 18 matching lines...) Expand all Loading... |
1230 TEST(WebTransformationMatrixTest, verifyBlendForRotationAboutZ) | 1247 TEST(WebTransformationMatrixTest, verifyBlendForRotationAboutZ) |
1231 { | 1248 { |
1232 WebTransformationMatrix from; | 1249 WebTransformationMatrix from; |
1233 from.rotate3d(0, 0, 1, 0); | 1250 from.rotate3d(0, 0, 1, 0); |
1234 | 1251 |
1235 WebTransformationMatrix to; | 1252 WebTransformationMatrix to; |
1236 | 1253 |
1237 to.makeIdentity(); | 1254 to.makeIdentity(); |
1238 to.rotate3d(0, 0, 1, 90); | 1255 to.rotate3d(0, 0, 1, 90); |
1239 to.blend(from, 0); | 1256 to.blend(from, 0); |
1240 EXPECT_TRANSFORMATION_MATRIX_EQ(from, to); | 1257 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(from, to); |
1241 | 1258 |
1242 double expectedRotationAngle = 22.5 * M_PI / 180.0; | 1259 double expectedRotationAngle = 22.5 * M_PI / 180.0; |
1243 to.makeIdentity(); | 1260 to.makeIdentity(); |
1244 to.rotate3d(0, 0, 1, 90); | 1261 to.rotate3d(0, 0, 1, 90); |
1245 to.blend(from, 0.25); | 1262 to.blend(from, 0.25); |
1246 EXPECT_ROW1_NEAR(cos(expectedRotationAngle), -sin(expectedRotationAngle), 0,
0, to, ERROR_THRESHOLD); | 1263 EXPECT_ROW1_NEAR(cos(expectedRotationAngle), -sin(expectedRotationAngle), 0,
0, to, ERROR_THRESHOLD); |
1247 EXPECT_ROW2_NEAR(sin(expectedRotationAngle), cos(expectedRotationAngle), 0,
0, to, ERROR_THRESHOLD); | 1264 EXPECT_ROW2_NEAR(sin(expectedRotationAngle), cos(expectedRotationAngle), 0,
0, to, ERROR_THRESHOLD); |
1248 EXPECT_ROW3_NEAR(0, 0, 1, 0, to, ERROR_THRESHOLD); | 1265 EXPECT_ROW3_NEAR(0, 0, 1, 0, to, ERROR_THRESHOLD); |
1249 EXPECT_ROW4_EQ(0, 0, 0, 1, to); | 1266 EXPECT_ROW4_EQ(0, 0, 0, 1, to); |
1250 | 1267 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1283 | 1300 |
1284 WebTransformationMatrix expectedEndOfAnimation; | 1301 WebTransformationMatrix expectedEndOfAnimation; |
1285 expectedEndOfAnimation.applyPerspective(1); | 1302 expectedEndOfAnimation.applyPerspective(1); |
1286 expectedEndOfAnimation.translate3d(10, 20, 30); | 1303 expectedEndOfAnimation.translate3d(10, 20, 30); |
1287 expectedEndOfAnimation.rotate3d(0, 0, 1, 25); | 1304 expectedEndOfAnimation.rotate3d(0, 0, 1, 25); |
1288 expectedEndOfAnimation.skewY(45); | 1305 expectedEndOfAnimation.skewY(45); |
1289 expectedEndOfAnimation.scale3d(6, 7, 8); | 1306 expectedEndOfAnimation.scale3d(6, 7, 8); |
1290 | 1307 |
1291 to = expectedEndOfAnimation; | 1308 to = expectedEndOfAnimation; |
1292 to.blend(from, 0); | 1309 to.blend(from, 0); |
1293 EXPECT_TRANSFORMATION_MATRIX_EQ(from, to); | 1310 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(from, to); |
1294 | 1311 |
1295 to = expectedEndOfAnimation; | 1312 to = expectedEndOfAnimation; |
1296 to.blend(from, 1); | 1313 to.blend(from, 1); |
1297 | 1314 |
1298 // Recomposing the matrix results in a normalized matrix, so to verify we ne
ed to | 1315 // Recomposing the matrix results in a normalized matrix, so to verify we ne
ed to |
1299 // normalize the expectedEndOfAnimation before comparing elements. Normalizi
ng means | 1316 // normalize the expectedEndOfAnimation before comparing elements. Normalizi
ng means |
1300 // dividing everything by expectedEndOfAnimation.m44(). | 1317 // dividing everything by expectedEndOfAnimation.m44(). |
1301 WebTransformationMatrix normalizedExpectedEndOfAnimation = expectedEndOfAnim
ation; | 1318 WebTransformationMatrix normalizedExpectedEndOfAnimation = expectedEndOfAnim
ation; |
1302 WebTransformationMatrix normalizationMatrix; | 1319 WebTransformationMatrix normalizationMatrix; |
1303 normalizationMatrix.setM11(1 / expectedEndOfAnimation.m44()); | 1320 normalizationMatrix.setM11(1 / expectedEndOfAnimation.m44()); |
1304 normalizationMatrix.setM22(1 / expectedEndOfAnimation.m44()); | 1321 normalizationMatrix.setM22(1 / expectedEndOfAnimation.m44()); |
1305 normalizationMatrix.setM33(1 / expectedEndOfAnimation.m44()); | 1322 normalizationMatrix.setM33(1 / expectedEndOfAnimation.m44()); |
1306 normalizationMatrix.setM44(1 / expectedEndOfAnimation.m44()); | 1323 normalizationMatrix.setM44(1 / expectedEndOfAnimation.m44()); |
1307 normalizedExpectedEndOfAnimation.multiply(normalizationMatrix); | 1324 normalizedExpectedEndOfAnimation.multiply(normalizationMatrix); |
1308 | 1325 |
1309 EXPECT_TRANSFORMATION_MATRIX_EQ(normalizedExpectedEndOfAnimation, to); | 1326 EXPECT_WEB_TRANSFORMATION_MATRIX_EQ(normalizedExpectedEndOfAnimation, to); |
1310 } | 1327 } |
1311 | 1328 |
1312 } // namespace | 1329 } // namespace |
OLD | NEW |