0027919: Visualization - support multiple transformation persistence groups within...
[occt.git] / src / NCollection / NCollection_Mat3.hxx
index 578edd8..79d745c 100644 (file)
@@ -408,6 +408,17 @@ public:
     *this = Transposed();
   }
 
+  //! Return determinant of the matrix.
+  Element_t Determinant() const
+  {
+    return (GetValue (0, 0) * GetValue (1, 1) * GetValue (2, 2)
+          + GetValue (0, 1) * GetValue (1, 2) * GetValue (2, 0)
+          + GetValue (0, 2) * GetValue (1, 0) * GetValue (2, 1))
+         - (GetValue (0, 2) * GetValue (1, 1) * GetValue (2, 0)
+          + GetValue (0, 0) * GetValue (1, 2) * GetValue (2, 1)
+          + GetValue (0, 1) * GetValue (1, 0) * GetValue (2, 2));
+  }
+
   //! Return adjoint (adjugate matrix, e.g. conjugate transpose).
   Standard_NODISCARD NCollection_Mat3 Adjoint() const
   {