Skip to content

Class uipc::constitution::SoftVertexTriangleStitch

ClassList > uipc > constitution > SoftVertexTriangleStitch

Inter-primitive constitution: (vertex, triangle) pairs form tetrahedra with StableNeoHookean energy. UID = 30.

  • #include <soft_vertex_triangle_stitch.h>

Inherits the following classes: uipc::constitution::InterPrimitiveConstitution

Public Types

Type Name
typedef std::tuple< S< geometry::SimplicialComplexSlot >, S< geometry::SimplicialComplexSlot > > SlotTuple

Public Functions

Type Name
SoftVertexTriangleStitch (const Json & config=default_config())
geometry::Geometry create_geometry (const SlotTuple & aim_geo_slots, const SlotTuple & rest_geo_slots, span< const Vector2i > stitched_vert_tri_ids, const ElasticModuli & moduli=ElasticModuli::youngs_poisson(120.0_kPa, 0.49), Float min_separate_distance=0.001) const
Create stitch geometry from explicit (vertex_index, triangle_index) pairs. When a tet is degenerate, rest vertex is offset by min_separate_distance (default 1 mm).
geometry::Geometry create_geometry (const SlotTuple & aim_geo_slots, const SlotTuple & rest_geo_slots, const geometry::Geometry & pair_geometry, const ElasticModuli & moduli=ElasticModuli::youngs_poisson(120.0_kPa, 0.49), Float min_separate_distance=0.001) const
Create stitch geometry from the Geometry returned by closest_vertex_triangle_pairs. When a tet is degenerate, uses min_separate_distance (default 1 mm).

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

Type Name
Json default_config ()

Protected Functions inherited from uipc::constitution::IConstitution

See uipc::constitution::IConstitution

Type Name
virtual U64 get_uid () noexcept const = 0

Public Types Documentation

typedef SlotTuple

using uipc::constitution::SoftVertexTriangleStitch::SlotTuple =  std::tuple<S<geometry::SimplicialComplexSlot>, S<geometry::SimplicialComplexSlot> >;

Public Functions Documentation

function SoftVertexTriangleStitch

uipc::constitution::SoftVertexTriangleStitch::SoftVertexTriangleStitch (
    const Json & config=default_config()
) 

function create_geometry [1/2]

Create stitch geometry from explicit (vertex_index, triangle_index) pairs. When a tet is degenerate, rest vertex is offset by min_separate_distance (default 1 mm).

geometry::Geometry uipc::constitution::SoftVertexTriangleStitch::create_geometry (
    const SlotTuple & aim_geo_slots,
    const SlotTuple & rest_geo_slots,
    span< const Vector2i > stitched_vert_tri_ids,
    const ElasticModuli & moduli=ElasticModuli::youngs_poisson(120.0_kPa, 0.49),
    Float min_separate_distance=0.001
) const

function create_geometry [2/2]

Create stitch geometry from the Geometry returned by closest_vertex_triangle_pairs. When a tet is degenerate, uses min_separate_distance (default 1 mm).

geometry::Geometry uipc::constitution::SoftVertexTriangleStitch::create_geometry (
    const SlotTuple & aim_geo_slots,
    const SlotTuple & rest_geo_slots,
    const geometry::Geometry & pair_geometry,
    const ElasticModuli & moduli=ElasticModuli::youngs_poisson(120.0_kPa, 0.49),
    Float min_separate_distance=0.001
) const

Public Static Functions Documentation

function default_config

static Json uipc::constitution::SoftVertexTriangleStitch::default_config () 


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