Add mjContact.solreffriction, mjModel.pair_solreffriction and related implementation, allowing contact reference acceleration to be different for normal and frictional contact directions. This is required for e.g. elastic frictional collisions.
PiperOrigin-RevId: 538513357 Change-Id: Id9eb910fe791cf898c712030cb2c0fc481389c91
This commit is contained in:
committed by
Copybara-Service
parent
83e70954d7
commit
d82f5ce5a4
@@ -486,6 +486,7 @@ MjContactWrapper::MjWrapper()
|
||||
X(frame),
|
||||
X(friction),
|
||||
X(solref),
|
||||
X(solreffriction),
|
||||
X(solimp),
|
||||
X(H) {}
|
||||
|
||||
@@ -495,6 +496,7 @@ MjContactWrapper::MjWrapper(raw::MjContact* ptr, py::handle owner)
|
||||
X(frame),
|
||||
X(friction),
|
||||
X(solref),
|
||||
X(solreffriction),
|
||||
X(solimp),
|
||||
X(H) {}
|
||||
#undef X
|
||||
@@ -1735,6 +1737,7 @@ This is useful for example when the MJB is not available as a file on disk.)"));
|
||||
X(frame);
|
||||
X(friction);
|
||||
X(solref);
|
||||
X(solreffriction);
|
||||
X(solimp);
|
||||
X(H);
|
||||
#undef X
|
||||
@@ -1766,6 +1769,7 @@ This is useful for example when the MJB is not available as a file on disk.)"));
|
||||
X(mjtNum, includemargin);
|
||||
XN(mjtNum, friction);
|
||||
XN(mjtNum, solref);
|
||||
XN(mjtNum, solreffriction);
|
||||
XN(mjtNum, solimp);
|
||||
X(mjtNum, mu);
|
||||
XN(mjtNum, H);
|
||||
|
||||
@@ -503,6 +503,7 @@ class MjWrapper<raw::MjContact> : public WrapperBase<raw::MjContact> {
|
||||
X(frame);
|
||||
X(friction);
|
||||
X(solref);
|
||||
X(solreffriction);
|
||||
X(solimp);
|
||||
X(H);
|
||||
#undef X
|
||||
|
||||
Reference in New Issue
Block a user