mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-11 10:01:39 +08:00
0027919: Visualization - support multiple transformation persistence groups within single presentation
Added transform persistence property to Graphic3d_Group and Select3D_SensitiveEntity. SelectMgr_ViewerSelector, Graphic3d_Layer and OpenGl_Structure have been updated to process per-group transform persistence within picking, ZFit and rendering. Added zoomable state to Prs3d_ArrowAspect supported by PrsDim_Dimension. Added gp_GTrsf::SetMat4(), opposite to gp_GTrsf::GetMat4().
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
@@ -597,6 +597,17 @@ public:
|
||||
return anInv;
|
||||
}
|
||||
|
||||
//! Return determinant of the 3x3 sub-matrix.
|
||||
Element_t DeterminantMat3() 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_Mat4<Element_t> Adjoint() const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user