Skip to content

Class uipc::constitution::AffineBodyRevoluteJointExternalBodyForce

ClassList > uipc > constitution > AffineBodyRevoluteJointExternalBodyForce

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

Public Functions

Type Name
AffineBodyRevoluteJointExternalBodyForce (const Json & config=default_config())
void apply_to (geometry::SimplicialComplex & sc, Float torque=Float{0})
Apply uniform external torque around the revolute joint axis to all joints.
void apply_to (geometry::SimplicialComplex & sc, span< Float > torques)
Apply per-joint external torques around the revolute joint axis.
~AffineBodyRevoluteJointExternalBodyForce () 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 AffineBodyRevoluteJointExternalBodyForce

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

function apply_to [1/2]

Apply uniform external torque around the revolute joint axis to all joints.

void uipc::constitution::AffineBodyRevoluteJointExternalBodyForce::apply_to (
    geometry::SimplicialComplex & sc,
    Float torque=Float{0}
) 

Must be applied AFTER AffineBodyRevoluteJoint (constitution_uid == 18). The torque is a scalar: +τ applied to body_j, -τ applied to body_i, where the axis is defined by the edge direction.

Parameters:

  • sc The simplicial complex containing the edges representing the joints.
  • torque The scalar torque value applied to all joints.

function apply_to [2/2]

Apply per-joint external torques around the revolute joint axis.

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

Must be applied AFTER AffineBodyRevoluteJoint (constitution_uid == 18).

Parameters:

  • sc The simplicial complex containing the edges representing the joints.
  • torques Per-joint scalar torque values (one per edge).

function ~AffineBodyRevoluteJointExternalBodyForce

uipc::constitution::AffineBodyRevoluteJointExternalBodyForce::~AffineBodyRevoluteJointExternalBodyForce () override

Public Static Functions Documentation

function default_config

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


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