Skip to content

Class uipc::constitution::AffineBodyDrivingRevoluteJoint

ClassList > uipc > constitution > AffineBodyDrivingRevoluteJoint

Inherits the following classes: uipc::constitution::Constraint

Public Functions

Type Name
AffineBodyDrivingRevoluteJoint (const Json & config=default_config())
void apply_to (geometry::SimplicialComplex & sc, Float strength_ratio=Float{100})
Apply driving revolute joint to edges connecting affine bodies (single-instance mode).
void apply_to (geometry::SimplicialComplex & sc, span< Float > strength_ratios)
Apply driving revolute joint to edges connecting affine bodies (multi-instance mode).
~AffineBodyDrivingRevoluteJoint () override

Public Functions inherited from uipc::constitution::Constraint

See uipc::constitution::Constraint

Type Name
Constraint () noexcept

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::Constraint

See uipc::constitution::Constraint

Type Name
void apply_to (geometry::Geometry & geo) const
virtual U64 get_uid () noexcept const = 0

Protected Functions inherited from uipc::constitution::IConstitution

See uipc::constitution::IConstitution

Type Name
virtual U64 get_uid () noexcept const = 0

Public Functions Documentation

function AffineBodyDrivingRevoluteJoint

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

function apply_to [1/2]

Apply driving revolute joint to edges connecting affine bodies (single-instance mode).

void uipc::constitution::AffineBodyDrivingRevoluteJoint::apply_to (
    geometry::SimplicialComplex & sc,
    Float strength_ratio=Float{100}
) 

This method assumes each geometry has exactly one instance (instance 0). All joints use the same strength ratio.

Parameters:

  • sc The simplicial complex containing the edges representing the joints.
  • strength_ratio The strength ratio of the joint constraint applied to all joints (default: 100).

function apply_to [2/2]

Apply driving revolute joint to edges connecting affine bodies (multi-instance mode).

void uipc::constitution::AffineBodyDrivingRevoluteJoint::apply_to (
    geometry::SimplicialComplex & sc,
    span< Float > strength_ratios
) 

This method supports geometries with multiple instances. Each joint can specify which instance of each geometry to connect, and can have its own strength ratio.

Parameters:

  • sc The simplicial complex containing the edges representing the joints.
  • strength_ratios The strength ratio for each joint (one per edge).

function ~AffineBodyDrivingRevoluteJoint

uipc::constitution::AffineBodyDrivingRevoluteJoint::~AffineBodyDrivingRevoluteJoint () override

Public Static Functions Documentation

function default_config

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


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