LCOV - code coverage report
Current view: top level - lib/src/extensions - matrix4.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 23 28 82.1 %
Date: 2021-08-10 15:50:53 Functions: 0 0 -

          Line data    Source code
       1             : import 'package:vector_math/vector_math_64.dart';
       2             : 
       3             : export 'package:vector_math/vector_math_64.dart' hide Colors;
       4             : 
       5             : extension Matrix4Extension on Matrix4 {
       6             :   /// A first row and first column value.
       7          12 :   double get m11 => storage[0];
       8             : 
       9             :   /// A first row and second column value.
      10           3 :   double get m12 => storage[1];
      11             : 
      12             :   /// A first row and third column value.
      13           3 :   double get m13 => storage[2];
      14             : 
      15             :   /// A first row and fourth column value.
      16           3 :   double get m14 => storage[3];
      17             : 
      18             :   /// A second row and first column value.
      19           3 :   double get m21 => storage[4];
      20             : 
      21             :   /// A second row and second column value.
      22          12 :   double get m22 => storage[5];
      23             : 
      24             :   /// A second row and third column value.
      25           3 :   double get m23 => storage[6];
      26             : 
      27             :   /// A second row and fourth column value.
      28           3 :   double get m24 => storage[7];
      29             : 
      30             :   /// A third row and first column value.
      31           3 :   double get m31 => storage[8];
      32             : 
      33             :   /// A third row and second column value.
      34           3 :   double get m32 => storage[9];
      35             : 
      36             :   /// A third row and third column value.
      37          12 :   double get m33 => storage[10];
      38             : 
      39             :   /// A third row and fourth column value.
      40           3 :   double get m34 => storage[11];
      41             : 
      42             :   /// A fourth row and first column value.
      43          12 :   double get m41 => storage[12];
      44             : 
      45             :   /// A fourth row and second column value.
      46          12 :   double get m42 => storage[13];
      47             : 
      48             :   /// A fourth row and third column value.
      49           3 :   double get m43 => storage[14];
      50             : 
      51             :   /// A fourth row and fourth column value.
      52           3 :   double get m44 => storage[15];
      53             : 
      54             :   /// Translate this matrix by a [Vector2].
      55           0 :   void translate2(Vector2 vector) {
      56           0 :     return translate(vector.x, vector.y);
      57             :   }
      58             : 
      59             :   /// Transform [position] of type [Vector2] using the transformation defined by
      60             :   /// this.
      61           1 :   Vector2 transform2(Vector2 position) {
      62           1 :     return Vector2(
      63           9 :       (position.x * m11) + (position.y * m21) + m41,
      64           9 :       (position.x * m12) + (position.y * m22) + m42,
      65             :     );
      66             :   }
      67             : 
      68             :   /// Transform a copy of [position] of type [Vector2] using the transformation
      69             :   /// defined by this. If a [out] parameter is supplied, the copy is stored in
      70             :   /// [out].
      71           1 :   Vector2 transformed2(Vector2 position, [Vector2? out]) {
      72             :     if (out == null) {
      73             :       // ignore: parameter_assignments
      74           0 :       out = Vector2.copy(position);
      75             :     } else {
      76           1 :       out.setFrom(position);
      77             :     }
      78           1 :     return transform2(out);
      79             :   }
      80             : 
      81             :   /// Create a scaled matrix.
      82             :   ///
      83             :   /// Scale by a [Vector3], [Vector4], or x,y,z
      84           0 :   static Matrix4 scale(dynamic x, [double? y, double? z]) {
      85           0 :     return Matrix4.identity()..scale(x, y, z);
      86             :   }
      87             : }

Generated by: LCOV version 1.15