SOFA API  9fc4753c
Open source framework for multi-physics simuation
sofa::component::solidmechanics::fem::elastic::RotationMethods< DataTypes, ElementType > Struct Template Reference

#include <CorotationalFEMForceField.h>

A container for rotation computation methods in corotational formulations. More...

Inheritance diagram for sofa::component::solidmechanics::fem::elastic::RotationMethods< DataTypes, ElementType >:

Detailed Description

template<class DataTypes, class ElementType>
struct sofa::component::solidmechanics::fem::elastic::RotationMethods< DataTypes, ElementType >

A container for rotation computation methods in corotational formulations.

This class provides element-specific rotation computation strategies for common element types.

Template Parameters
DataTypesThe data type used throughout the simulation (e.g., sofa::defaulttype::Vec3Types for 3D)
ElementTypeThe element type (e.g., sofa::geometry::Triangle, sofa::geometry::Tetrahedron)

Inherits from RotationMethodsContainer with pre-defined rotation strategies.

The class is specialized for some elements because some rotation strategies can be used only for specific elements.

Public Member Functions

 RotationMethods (sofa::core::objectmodel::BaseObject *parent)
 
- Public Member Functions inherited from sofa::component::solidmechanics::fem::elastic::RotationMethodsContainer< DataTypes, ElementType, StablePolarDecomposition< DataTypes >, PolarDecomposition< DataTypes >, IdentityRotation >
 RotationMethodsContainer (sofa::core::objectmodel::BaseObject *parent)
 
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)
 
void selectRotationMethod ()
 

Additional Inherited Members

- Public Attributes inherited from sofa::component::solidmechanics::fem::elastic::RotationMethodsContainer< DataTypes, ElementType, StablePolarDecomposition< DataTypes >, PolarDecomposition< DataTypes >, IdentityRotation >
sofa::Data< RotationMethodsItems > d_rotationMethod
 
- Static Public Attributes inherited from sofa::component::solidmechanics::fem::elastic::RotationMethodsContainer< DataTypes, ElementType, StablePolarDecomposition< DataTypes >, PolarDecomposition< DataTypes >, IdentityRotation >
static constexpr auto NumberOfMethods
 
static constexpr std::size_t NumberOfNodesInElement
 

Constructor details

◆ RotationMethods()

template<class DataTypes , class ElementType >
sofa::component::solidmechanics::fem::elastic::RotationMethods< DataTypes, ElementType >::RotationMethods ( sofa::core::objectmodel::BaseObject parent)
inlineexplicit