This struct gets filled by the simulator and contains various properties of a contact joint (surface, constraint). All of the values are optional, which means that they are only filled if the physics engine supports them. Some originally unfilled values may still be processed by the physics engine if they are set - this just means there is no default value for them. More...
#include <ContactProperties.hh>
Public Attributes | |
std::optional< typename PolicyT::Scalar > | constraintForceMixing |
Constraint force mixing. This should be a non-negative number. If greater than 0, this number is added to the diagonal of the system matrix making the contact softer and the solution more stable. | |
std::optional< typename FromPolicy< PolicyT >::template Use< Vector > > | contactSurfaceMotionVelocity |
Desired velocity of the colliding bodies in the contact point. Setting this to non-zero asks the physics engine to add such forces that can achieve that the colliding bodies have the specified velocity. The X component specifies velocity along 1st friction direction. The Y component specifies velocity along 2nd friction direction. The Z component specifies velocity along the contact normal. | |
std::optional< typename PolicyT::Scalar > | errorReductionParameter |
Joint error reduction parameter. This is the fraction of the joint error that will be attempted to be corrected in each simulation step. Allowed values are 0 to 1. Default is usually somewhere between. | |
std::optional< typename FromPolicy< PolicyT >::template Use< Vector > > | firstFrictionalDirection |
The first frictional direction. It should be perpendicular to the contact normal. The second frictional direction can be computed as a vector perpendicular both to the normal and to the first direction. | |
std::optional< typename PolicyT::Scalar > | frictionCoeff |
Coefficient of friction along the 1st friction direction. | |
std::optional< typename PolicyT::Scalar > | maxErrorAllowance |
Maximum joint error for which no error reduction is performed. | |
std::optional< typename PolicyT::Scalar > | maxErrorReductionVelocity |
Maximum velocity that can be used to reduce joint error. | |
std::optional< typename PolicyT::Scalar > | restitutionCoeff |
Defines the bounciness of the contact. 0 is not bouncy. Values between 0 and 1 are allowed. | |
std::optional< typename PolicyT::Scalar > | rollingFrictionCoeff |
Coefficient of rolling friction along the 1st friction direction. | |
std::optional< typename PolicyT::Scalar > | secondaryFrictionCoeff |
Coefficient of friction along the 2nd friction direction. | |
std::optional< typename PolicyT::Scalar > | secondaryRollingFrictionCoeff |
Coefficient of rolling friction along the 2nd friction direction. | |
std::optional< typename PolicyT::Scalar > | secondarySlipCompliance |
Force-dependent slip coefficient along the 2nd friction direction. | |
std::optional< typename PolicyT::Scalar > | slipCompliance |
Force-dependent slip coefficient along the 1st friction direction. | |
std::optional< typename PolicyT::Scalar > | torsionalFrictionCoeff |
Coefficient of torsional friction. | |
Detailed Description
struct gz::physics::SetContactPropertiesCallbackFeature::ContactSurfaceParams< PolicyT >
This struct gets filled by the simulator and contains various properties of a contact joint (surface, constraint). All of the values are optional, which means that they are only filled if the physics engine supports them. Some originally unfilled values may still be processed by the physics engine if they are set - this just means there is no default value for them.
Member Data Documentation
◆ constraintForceMixing
std::optional<typename PolicyT::Scalar> constraintForceMixing |
Constraint force mixing. This should be a non-negative number. If greater than 0, this number is added to the diagonal of the system matrix making the contact softer and the solution more stable.
◆ contactSurfaceMotionVelocity
std::optional<typename FromPolicy<PolicyT>::template Use<Vector> > contactSurfaceMotionVelocity |
Desired velocity of the colliding bodies in the contact point. Setting this to non-zero asks the physics engine to add such forces that can achieve that the colliding bodies have the specified velocity. The X component specifies velocity along 1st friction direction. The Y component specifies velocity along 2nd friction direction. The Z component specifies velocity along the contact normal.
◆ errorReductionParameter
std::optional<typename PolicyT::Scalar> errorReductionParameter |
Joint error reduction parameter. This is the fraction of the joint error that will be attempted to be corrected in each simulation step. Allowed values are 0 to 1. Default is usually somewhere between.
◆ firstFrictionalDirection
std::optional<typename FromPolicy<PolicyT>::template Use<Vector> > firstFrictionalDirection |
The first frictional direction. It should be perpendicular to the contact normal. The second frictional direction can be computed as a vector perpendicular both to the normal and to the first direction.
◆ frictionCoeff
std::optional<typename PolicyT::Scalar> frictionCoeff |
Coefficient of friction along the 1st friction direction.
◆ maxErrorAllowance
std::optional<typename PolicyT::Scalar> maxErrorAllowance |
Maximum joint error for which no error reduction is performed.
◆ maxErrorReductionVelocity
std::optional<typename PolicyT::Scalar> maxErrorReductionVelocity |
Maximum velocity that can be used to reduce joint error.
◆ restitutionCoeff
std::optional<typename PolicyT::Scalar> restitutionCoeff |
Defines the bounciness of the contact. 0 is not bouncy. Values between 0 and 1 are allowed.
◆ rollingFrictionCoeff
std::optional<typename PolicyT::Scalar> rollingFrictionCoeff |
Coefficient of rolling friction along the 1st friction direction.
◆ secondaryFrictionCoeff
std::optional<typename PolicyT::Scalar> secondaryFrictionCoeff |
Coefficient of friction along the 2nd friction direction.
◆ secondaryRollingFrictionCoeff
std::optional<typename PolicyT::Scalar> secondaryRollingFrictionCoeff |
Coefficient of rolling friction along the 2nd friction direction.
◆ secondarySlipCompliance
std::optional<typename PolicyT::Scalar> secondarySlipCompliance |
Force-dependent slip coefficient along the 2nd friction direction.
◆ slipCompliance
std::optional<typename PolicyT::Scalar> slipCompliance |
Force-dependent slip coefficient along the 1st friction direction.
◆ torsionalFrictionCoeff
std::optional<typename PolicyT::Scalar> torsionalFrictionCoeff |
Coefficient of torsional friction.
The documentation for this struct was generated from the following file: