Class uipc::constitution::AffineBodyShell
ClassList > uipc > constitution > AffineBodyShell
Codimensional 2D (shell) affine body constitution. More...
#include <affine_body_shell.h>
Inherits the following classes: uipc::constitution::AffineBodyConstitution
Public Functions
| Type | Name |
|---|---|
| AffineBodyShell (const Json & config=default_config()) noexcept |
|
| void | apply_to (geometry::SimplicialComplex & sc, Float kappa, Float mass_density=1e3, Float thickness=0.01) const Apply the shell constitution to a 2D simplicial complex. |
Public Functions inherited from uipc::constitution::AffineBodyConstitution
See uipc::constitution::AffineBodyConstitution
| Type | Name |
|---|---|
| AffineBodyConstitution (const Json & config=default_config()) noexcept |
|
| void | apply_to (geometry::SimplicialComplex & sc, Float kappa, Float mass_density=1e3) const |
| void | apply_to (geometry::SimplicialComplex & sc, Float kappa, const Matrix12x12 & mass, Float volume) const Apply ABD constitution with explicit mass matrix and volume override. |
| AffineBodyMaterial | create_material (Float kappa) noexcept const |
Public Functions inherited from uipc::constitution::IConstitution
See uipc::constitution::IConstitution
| Type | Name |
|---|---|
| std::string_view | name () noexcept const |
| std::string_view | type () noexcept const |
| U64 | uid () noexcept const |
| const builtin::UIDInfo & | uid_info () noexcept const |
| virtual | ~IConstitution () = default |
Public Static Functions inherited from uipc::constitution::AffineBodyConstitution
See uipc::constitution::AffineBodyConstitution
| Type | Name |
|---|---|
| Json | default_config () noexcept |
Protected Functions inherited from uipc::constitution::AffineBodyConstitution
See uipc::constitution::AffineBodyConstitution
| Type | Name |
|---|---|
| virtual U64 | get_uid () noexcept override const |
| void | setup_abd_attributes (geometry::SimplicialComplex & sc, Float kappa, Float mass_density, Float volume) const Common ABD attribute setup without volume computation. |
Protected Functions inherited from uipc::constitution::IConstitution
See uipc::constitution::IConstitution
| Type | Name |
|---|---|
| virtual U64 | get_uid () noexcept const = 0 |
Detailed Description
Convenience subclass of AffineBodyConstitution for open triangle meshes treated as thin shells with a given thickness.
Uses the same UID as AffineBodyConstitution (OrthoPotential = 1 by default). Sets builtin::is_codim = 1 on the geometry meta so the backend uses the codim dyadic mass computation path.
Public Functions Documentation
function AffineBodyShell
uipc::constitution::AffineBodyShell::AffineBodyShell (
const Json & config=default_config()
) noexcept
function apply_to
Apply the shell constitution to a 2D simplicial complex.
void uipc::constitution::AffineBodyShell::apply_to (
geometry::SimplicialComplex & sc,
Float kappa,
Float mass_density=1e3,
Float thickness=0.01
) const
Parameters:
scThe triangle mesh (dim == 2).kappaStiffness parameter for shape energy.mass_densityVolume mass density (kg/m³).thicknessShell thickness radiusr(effective slab thickness = 2r).
The documentation for this class was generated from the following file include/uipc/constitution/affine_body_shell.h