MCPcopy Create free account
hub / github.com/EricLengyel/Terathon-Math-Library / Mat4D

Class Mat4D

TSAlgebra.h:2506–2619  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2504 Component<type_struct, 9, 5> m21;
2505 Component<type_struct, 9, 6> m02;
2506 Component<type_struct, 9, 7> m12;
2507 Component<type_struct, 9, 8> m22;
2508 Subvec3D<column_type_struct, false, 9, 0, 1, 2> col0;
2509 Subvec3D<column_type_struct, false, 9, 3, 4, 5> col1;
2510 Subvec3D<column_type_struct, false, 9, 6, 7, 8> col2;
2511 Subvec3D<row_type_struct, true, 9, 0, 3, 6> row0;
2512 Subvec3D<row_type_struct, true, 9, 1, 4, 7> row1;
2513 Subvec3D<row_type_struct, true, 9, 2, 5, 8> row2;
2514 Submat2D<type_struct, 9, 0, 3, 1, 4> matrix2D;
2515 Submat2D<type_struct, 9, 0, 1, 3, 4> transpose2D;
2516 Submat3D<type_struct, 9, 0, 3, 6, 1, 4, 7, 2, 5, 8> matrix;
2517 Submat3D<type_struct, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8> transpose;
2518 };
2519
2520 protected:
2521
2522 inline Mat3D() = default;
2523
2524 Mat3D(const Mat3D& m)
2525 {
2526 matrix = m.matrix;
2527 }
2528
2529 Mat3D(const component_type& n00, const component_type& n01, const component_type& n02, const component_type& n10, const component_type& n11, const component_type& n12, const component_type& n20, const component_type& n21, const component_type& n22)
2530 {
2531 matrix.Set(n00, n01, n02, n10, n11, n12, n20, n21, n22);
2532 }
2533
2534 public:
2535
2536 component_type& operator ()(machine i, machine j)
2537 {
2538 return (matrix.data[j * 3 + i]);
2539 }
2540
2541 const component_type& operator ()(machine i, machine j) const
2542 {
2543 return (matrix.data[j * 3 + i]);
2544 }
2545
2546 typename column_type_struct::vector3D_type& operator [](machine j)
2547 {
2548 return (reinterpret_cast<typename column_type_struct::vector3D_type&>(matrix.data[j * 3]));
2549 }
2550
2551 const typename column_type_struct::vector3D_type& operator [](machine j) const
2552 {
2553 return (reinterpret_cast<const typename column_type_struct::vector3D_type&>(matrix.data[j * 3]));
2554 }
2555
2556 Mat3D& operator =(const Mat3D& m)
2557 {
2558 matrix = m.matrix;
2559 return (*this);
2560 }
2561
2562 void operator =(const Mat3D& m) volatile
2563 {

Callers

nothing calls this directly

Calls 2

VecStoreFunction · 0.85
VecLoadFunction · 0.85

Tested by

no test coverage detected