| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkMatrix44.h" | 8 #include "SkMatrix44.h" |
| 9 #include "Test.h" | 9 #include "Test.h" |
| 10 | 10 |
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 scale.setScale(2, 4, 8); | 361 scale.setScale(2, 4, 8); |
| 362 scale.invert(&inverse); | 362 scale.invert(&inverse); |
| 363 inverse.asRowMajord(inverseData); | 363 inverse.asRowMajord(inverseData); |
| 364 assert16<double>(reporter, inverseData, | 364 assert16<double>(reporter, inverseData, |
| 365 0.5, 0, 0, 0, | 365 0.5, 0, 0, 0, |
| 366 0, 0.25, 0, 0, | 366 0, 0.25, 0, 0, |
| 367 0, 0, 0.125, 0, | 367 0, 0, 0.125, 0, |
| 368 0, 0, 0, 1); | 368 0, 0, 0, 1); |
| 369 | 369 |
| 370 SkMatrix44 scaleTranslation(SkMatrix44::kUninitialized_Constructor); | 370 SkMatrix44 scaleTranslation(SkMatrix44::kUninitialized_Constructor); |
| 371 scaleTranslation.setScale(10, 100, 1000); | 371 scaleTranslation.setScale(32, 128, 1024); |
| 372 scaleTranslation.preTranslate(2, 3, 4); | 372 scaleTranslation.preTranslate(2, 3, 4); |
| 373 scaleTranslation.invert(&inverse); | 373 scaleTranslation.invert(&inverse); |
| 374 inverse.asRowMajord(inverseData); | 374 inverse.asRowMajord(inverseData); |
| 375 assert16<double>(reporter, inverseData, | 375 assert16<double>(reporter, inverseData, |
| 376 0.1, 0, 0, -2, | 376 0.03125, 0, 0, -2, |
| 377 0, 0.01, 0, -3, | 377 0, 0.0078125, 0, -3, |
| 378 0, 0, 0.001, -4, | 378 0, 0, 0.0009765625, -4, |
| 379 0, 0, 0, 1); | 379 0, 0, 0, 1); |
| 380 | 380 |
| 381 SkMatrix44 rotation(SkMatrix44::kUninitialized_Constructor); | 381 SkMatrix44 rotation(SkMatrix44::kUninitialized_Constructor); |
| 382 rotation.setRotateDegreesAbout(0, 0, 1, 90); | 382 rotation.setRotateDegreesAbout(0, 0, 1, 90); |
| 383 rotation.invert(&inverse); | 383 rotation.invert(&inverse); |
| 384 SkMatrix44 expected(SkMatrix44::kUninitialized_Constructor); | 384 SkMatrix44 expected(SkMatrix44::kUninitialized_Constructor); |
| 385 double expectedInverseRotation[16] = | 385 double expectedInverseRotation[16] = |
| 386 {0, 1, 0, 0, | 386 {0, 1, 0, 0, |
| 387 -1, 0, 0, 0, | 387 -1, 0, 0, 0, |
| 388 0, 0, 1, 0, | 388 0, 0, 1, 0, |
| 389 0, 0, 0, 1}; | 389 0, 0, 0, 1}; |
| (...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 824 rot.setRotateDegreesAbout(0, 0, -1, 90); | 824 rot.setRotateDegreesAbout(0, 0, -1, 90); |
| 825 mat.postConcat(rot); | 825 mat.postConcat(rot); |
| 826 mat.postTranslate(v,v,v); | 826 mat.postTranslate(v,v,v); |
| 827 REPORTER_ASSERT(reporter, mat.invert(NULL)); | 827 REPORTER_ASSERT(reporter, mat.invert(NULL)); |
| 828 mat.invert(&inverse); | 828 mat.invert(&inverse); |
| 829 iden1.setConcat(mat, inverse); | 829 iden1.setConcat(mat, inverse); |
| 830 REPORTER_ASSERT(reporter, is_identity(iden1)); | 830 REPORTER_ASSERT(reporter, is_identity(iden1)); |
| 831 | 831 |
| 832 // test mixed-valued matrix inverse | 832 // test mixed-valued matrix inverse |
| 833 mat.reset(); | 833 mat.reset(); |
| 834 mat.setScale(SkDoubleToMScalar(1.0e-10), | 834 mat.setScale(SkDoubleToMScalar(1.0e-2), |
| 835 SkDoubleToMScalar(3.0), | 835 SkDoubleToMScalar(3.0), |
| 836 SkDoubleToMScalar(1.0e+10)); | 836 SkDoubleToMScalar(1.0e+2)); |
| 837 rot.setRotateDegreesAbout(0, 0, -1, 90); | 837 rot.setRotateDegreesAbout(0, 0, -1, 90); |
| 838 mat.postConcat(rot); | 838 mat.postConcat(rot); |
| 839 mat.postTranslate(SkDoubleToMScalar(1.0e+10), | 839 mat.postTranslate(SkDoubleToMScalar(1.0e+2), |
| 840 SkDoubleToMScalar(3.0), | 840 SkDoubleToMScalar(3.0), |
| 841 SkDoubleToMScalar(1.0e-10)); | 841 SkDoubleToMScalar(1.0e-2)); |
| 842 REPORTER_ASSERT(reporter, mat.invert(NULL)); | 842 REPORTER_ASSERT(reporter, mat.invert(NULL)); |
| 843 mat.invert(&inverse); | 843 mat.invert(&inverse); |
| 844 iden1.setConcat(mat, inverse); | 844 iden1.setConcat(mat, inverse); |
| 845 REPORTER_ASSERT(reporter, is_identity(iden1)); | 845 REPORTER_ASSERT(reporter, is_identity(iden1)); |
| 846 | 846 |
| 847 // test degenerate matrix | 847 // test degenerate matrix |
| 848 mat.reset(); | 848 mat.reset(); |
| 849 mat.set3x3(1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0); | 849 mat.set3x3(1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0); |
| 850 REPORTER_ASSERT(reporter, !mat.invert(NULL)); | 850 REPORTER_ASSERT(reporter, !mat.invert(NULL)); |
| 851 | 851 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 892 test_get_set_double(reporter); | 892 test_get_set_double(reporter); |
| 893 test_set_row_col_major(reporter); | 893 test_set_row_col_major(reporter); |
| 894 test_translate(reporter); | 894 test_translate(reporter); |
| 895 test_scale(reporter); | 895 test_scale(reporter); |
| 896 test_map2(reporter); | 896 test_map2(reporter); |
| 897 test_3x3_conversion(reporter); | 897 test_3x3_conversion(reporter); |
| 898 test_has_perspective(reporter); | 898 test_has_perspective(reporter); |
| 899 test_preserves_2d_axis_alignment(reporter); | 899 test_preserves_2d_axis_alignment(reporter); |
| 900 test_toint(reporter); | 900 test_toint(reporter); |
| 901 } | 901 } |
| OLD | NEW |