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
+18
-3
@@ -2397,14 +2397,21 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='mjtNum'),
|
||||
),
|
||||
doc='constraint solver reference: contact (npair x mjNREF)', # pylint: disable=line-too-long
|
||||
doc='solver reference: contact normal (npair x mjNREF)', # pylint: disable=line-too-long
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='pair_solreffriction',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='mjtNum'),
|
||||
),
|
||||
doc='solver reference: contact friction (npair x mjNREF)', # pylint: disable=line-too-long
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='pair_solimp',
|
||||
type=PointerType(
|
||||
inner_type=ValueType(name='mjtNum'),
|
||||
),
|
||||
doc='constraint solver impedance: contact (npair x mjNIMP)', # pylint: disable=line-too-long
|
||||
doc='solver impedance: contact (npair x mjNIMP)', # pylint: disable=line-too-long
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='pair_margin',
|
||||
@@ -3279,7 +3286,15 @@ STRUCTS: Mapping[str, StructDecl] = dict([
|
||||
inner_type=ValueType(name='mjtNum'),
|
||||
extents=(2,),
|
||||
),
|
||||
doc='constraint solver reference',
|
||||
doc='constraint solver reference, normal direction',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='solreffriction',
|
||||
type=ArrayType(
|
||||
inner_type=ValueType(name='mjtNum'),
|
||||
extents=(2,),
|
||||
),
|
||||
doc='constraint solver reference, friction directions',
|
||||
),
|
||||
StructFieldDecl(
|
||||
name='solimp',
|
||||
|
||||
Reference in New Issue
Block a user