#include <HexahedronRotation.h>
Computes the orientation matrix for 8-node hexahedral elements. More...
Computes the orientation matrix for 8-node hexahedral elements.
This rotation method calculates the element's orientation relative to its rest configuration by computing an orthonormal basis from two average edges of the hexahedron. The resulting rotation matrix is then used to transform the initial rotation matrix.
| DataTypes | The data type used throughout the simulation (e.g., sofa::defaulttype::Vec3Types for 3D) |
Public Member Functions | |
| template<std::size_t NumberOfNodesInElement> | |
| void | computeRotation (RotationMatrix &rotationMatrix, const RotationMatrix &initialRotationMatrix, const std::array< sofa::Coord_t< DataTypes >, NumberOfNodesInElement > &nodesPosition, const std::array< sofa::Coord_t< DataTypes >, NumberOfNodesInElement > &nodesRestPosition) |
Static Public Member Functions | |
| static constexpr sofa::helper::Item | getItem () |
|
inline |
Computes the rotation matrix for the hexahedral element
| rotationMatrix | Output: Current rotation matrix (relative to initial configuration) |
| initialRotationMatrix | The initial rotation matrix (from rest configuration) |
| nodesPosition | Current positions of all nodes |
| nodesRestPosition | Rest positions of all nodes (initial configuration) |
|
inlinestaticconstexpr |