Ignition Physics

API Reference

5.1.0
SetContactPropertiesCallbackFeature::ContactSurfaceParams< PolicyT > Struct Template Reference

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. More...

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. More...

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. More...

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. More...

std::optional< typename PolicyT::Scalar > frictionCoeff
Coefficient of friction along the 1st friction direction. More...

std::optional< typename PolicyT::Scalar > maxErrorAllowance
Maximum joint error for which no error reduction is performed. More...

std::optional< typename PolicyT::Scalar > maxErrorReductionVelocity
Maximum velocity that can be used to reduce joint error. More...

std::optional< typename PolicyT::Scalar > restitutionCoeff
Defines the bounciness of the contact. 0 is not bouncy. Values between 0 and 1 are allowed. More...

std::optional< typename PolicyT::Scalar > rollingFrictionCoeff
Coefficient of rolling friction along the 1st friction direction. More...

std::optional< typename PolicyT::Scalar > secondaryFrictionCoeff
Coefficient of friction along the 2nd friction direction. More...

std::optional< typename PolicyT::Scalar > secondaryRollingFrictionCoeff
Coefficient of rolling friction along the 2nd friction direction. More...

std::optional< typename PolicyT::Scalar > secondarySlipCompliance
Force-dependent slip coefficient along the 2nd friction direction. More...

std::optional< typename PolicyT::Scalar > slipCompliance
Force-dependent slip coefficient along the 1st friction direction. More...

std::optional< typename PolicyT::Scalar > torsionalFrictionCoeff
Coefficient of torsional friction. More...

Detailed Description

template<typename PolicyT> struct ignition::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.

◆ constraintForceMixing

 std::optional 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::template Use > 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 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::template Use > 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 frictionCoeff

Coefficient of friction along the 1st friction direction.

◆ maxErrorAllowance

 std::optional maxErrorAllowance

Maximum joint error for which no error reduction is performed.

◆ maxErrorReductionVelocity

 std::optional maxErrorReductionVelocity

Maximum velocity that can be used to reduce joint error.

◆ restitutionCoeff

 std::optional restitutionCoeff

Defines the bounciness of the contact. 0 is not bouncy. Values between 0 and 1 are allowed.

◆ rollingFrictionCoeff

 std::optional rollingFrictionCoeff

Coefficient of rolling friction along the 1st friction direction.

◆ secondaryFrictionCoeff

 std::optional secondaryFrictionCoeff

Coefficient of friction along the 2nd friction direction.

◆ secondaryRollingFrictionCoeff

 std::optional secondaryRollingFrictionCoeff

Coefficient of rolling friction along the 2nd friction direction.

◆ secondarySlipCompliance

 std::optional secondarySlipCompliance

Force-dependent slip coefficient along the 2nd friction direction.

◆ slipCompliance

 std::optional slipCompliance

Force-dependent slip coefficient along the 1st friction direction.

◆ torsionalFrictionCoeff

 std::optional torsionalFrictionCoeff

Coefficient of torsional friction.

The documentation for this struct was generated from the following file: