@@ -372,6 +372,36 @@ void testMatrix4Translation() {
372
372
for (var i = 0 ; i < inputA.length; i++ ) {
373
373
relativeTest (output1[i], output2[i]);
374
374
}
375
+
376
+ final input = Matrix4 .fromList ([
377
+ 1 , 5 , 9 , 13 , //
378
+ 2 , 6 , 10 , 14 , //
379
+ 3 , 7 , 11 , 15 , //
380
+ 4 , 8 , 12 , 16 , //
381
+ ]);
382
+ final output3 = input.clone ();
383
+ output3[12 ] = input.dotRow (0 , Vector4 (4 , 8 , 12 , 1 ));
384
+ output3[13 ] = input.dotRow (1 , Vector4 (4 , 8 , 12 , 1 ));
385
+ output3[14 ] = input.dotRow (2 , Vector4 (4 , 8 , 12 , 1 ));
386
+ output3[15 ] = input.dotRow (3 , Vector4 (4 , 8 , 12 , 1 ));
387
+ relativeTest (
388
+ input.clone ()..translateByDouble (4.0 , 8.0 , 12.0 ),
389
+ output3,
390
+ );
391
+ relativeTest (
392
+ input.clone ()..translateByVector3 (Vector3 (4.0 , 8.0 , 12.0 )),
393
+ output3,
394
+ );
395
+
396
+ final output4 = input.clone ();
397
+ output4[12 ] = input.dotRow (0 , Vector4 (4 , 8 , 12 , 16 ));
398
+ output4[13 ] = input.dotRow (1 , Vector4 (4 , 8 , 12 , 16 ));
399
+ output4[14 ] = input.dotRow (2 , Vector4 (4 , 8 , 12 , 16 ));
400
+ output4[15 ] = input.dotRow (3 , Vector4 (4 , 8 , 12 , 16 ));
401
+ relativeTest (
402
+ input.clone ()..translateByVector4 (Vector4 (4 , 8 , 12 , 16 )),
403
+ output4,
404
+ );
375
405
}
376
406
377
407
void testMatrix4Scale () {
0 commit comments