Skip to content

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:

  • sc The triangle mesh (dim == 2).
  • kappa Stiffness parameter for shape energy.
  • mass_density Volume mass density (kg/m³).
  • thickness Shell thickness radius r (effective slab thickness = 2r).


The documentation for this class was generated from the following file include/uipc/constitution/affine_body_shell.h