73 if ( lock ==
nullptr )
76 constexpr agx::Real minStiffness = 1.0E-5;
virtual void setCompliance(agx::Real compliance, agx::Int dof)
Set the compliance of this constraint for the i:th DOF.
virtual void setDamping(agx::Real damping, agx::Int dof)
Set the damping of this constraint for the i:th DOF.
Constraint that removes all 6 DOF between two bodies, or one body and the world.
@ TRANSLATIONAL_2
Select DOF for the second translational axis.
@ ROTATIONAL_2
Select DOF corresponding to the second rotational axis.
@ TRANSLATIONAL_1
Select DOF for the first translational axis.
@ ROTATIONAL_1
Select DOF corresponding to the first rotational axis.
@ ROTATIONAL_3
Select DOF for rotation around Z-axis.
@ TRANSLATIONAL_3
Select DOF for the third translational axis.
Contain classes for higher level modeling primitives, such as Tree, Terrain etc.
Stiffness and damping data for constraints related to beam models.
agx::Vec3 translationalStiffness
Translational stiffness where x and y are shear stiffness and z is stretch.
agx::Vec3 translationalDampingTime
Translational damping time where x and y are shear damping and z is stretch.
static BeamStiffnessDamping createDefault()
Sane default values for stiffness and damping that can be used when inputs are invalid but something ...
void apply(agx::LockJoint *lock, agx::Real scale=1.0) const
Apply stiffness as compliance to the given lock joint.
agx::Vec3 rotationalStiffness
Rotational stiffness where x and y are bend stiffness and z is torsion.
agx::Vec3 rotationalDampingTime
Rotational damping time where x and y are bend damping and z is torsion.