Skip to content

Class uipc::constitution::AffineBodyPrismaticJointExternalBodyForce

ClassList > uipc > constitution > AffineBodyPrismaticJointExternalBodyForce

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

Public Functions

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

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

function apply_to [1/2]

Apply uniform external force along the prismatic joint axis to all joints.

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

Must be applied AFTER AffineBodyPrismaticJoint (constitution_uid == 20). The force is a scalar: +f*t applied to body_i, -f*t applied to body_j, where t is the joint tangent direction.

Parameters:

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

function apply_to [2/2]

Apply per-joint external forces along the prismatic joint axis.

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

Must be applied AFTER AffineBodyPrismaticJoint (constitution_uid == 20).

Parameters:

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

function ~AffineBodyPrismaticJointExternalBodyForce

uipc::constitution::AffineBodyPrismaticJointExternalBodyForce::~AffineBodyPrismaticJointExternalBodyForce () override

Public Static Functions Documentation

function default_config

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


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