[ODE] [patch] Ball joint ERP and CFM

Adam Rotaru adam_rotaru at yahoo.com
Mon Feb 10 02:24:01 2003


--0-1014688820-1044868988=:84943
Content-Type: text/plain; charset=us-ascii
Content-Id: 
Content-Disposition: inline

What?
Allow setting ERP and CFM for each ball joint.

Against ode-0.035

How?
Similar how it is done for hinge joints.
Struct dxJointBall extended with:
  dReal joint_erp,joint_cfm;   // joint parameters
(erp,cfm)
Added function to set ball joint parameter:
  void dJointSetBallParam (dJointID, int parameter,
dReal value);

Affected files:
include/ode/common.h
include/ode/objects.h
ode/src/joint.h
ode/src/joint.cpp

Patch file is attached (only 4KB).

cheers,
  Adam R.



__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
--0-1014688820-1044868988=:84943
Content-Type: application/octet-stream; name="adam_diff_BallERP_0.35.diff"
Content-Transfer-Encoding: base64
Content-Description: adam_diff_BallERP_0.35.diff
Content-Disposition: attachment; filename="adam_diff_BallERP_0.35.diff"

ZGlmZiAtdSAtciAtLWV4Y2x1ZGU9Q1ZTIC0tZXhjbHVkZT11c2VyLXNldHRp
bmdzIG9kZS0wLjAzNS9pbmNsdWRlL29kZS9jb21tb24uaCBvZGUtYWRhbS9p
bmNsdWRlL29kZS9jb21tb24uaAotLS0gb2RlLTAuMDM1L2luY2x1ZGUvb2Rl
L2NvbW1vbi5oCU1vbiBOb3YgMTEgMDE6MTE6MDUgMjAwMgorKysgb2RlLWFk
YW0vaW5jbHVkZS9vZGUvY29tbW9uLmgJVHVlIEphbiAyMSAyMTo0NTozNCAy
MDAzCkBAIC0yNDcsNiArMjQ3LDcgQEAKICAgZFBhcmFtRk1heCwgXAogICBk
UGFyYW1GdWRnZUZhY3RvciwgXAogICBkUGFyYW1Cb3VuY2UsIFwKKyAgZFBh
cmFtRVJQLCBcCiAgIGRQYXJhbUNGTSwgXAogICBkUGFyYW1TdG9wRVJQLCBc
CiAgIGRQYXJhbVN0b3BDRk0sIFwKQEAgLTI2Miw2ICsyNjMsNyBAQAogICBk
UGFyYW1GTWF4ICMjIHgsIFwKICAgZFBhcmFtRnVkZ2VGYWN0b3IgIyMgeCwg
XAogICBkUGFyYW1Cb3VuY2UgIyMgeCwgXAorICBkUGFyYW1FUlAgIyMgeCwg
XAogICBkUGFyYW1DRk0gIyMgeCwgXAogICBkUGFyYW1TdG9wRVJQICMjIHgs
IFwKICAgZFBhcmFtU3RvcENGTSAjIyB4LCBcCmRpZmYgLXUgLXIgLS1leGNs
dWRlPUNWUyAtLWV4Y2x1ZGU9dXNlci1zZXR0aW5ncyBvZGUtMC4wMzUvaW5j
bHVkZS9vZGUvb2JqZWN0cy5oIG9kZS1hZGFtL2luY2x1ZGUvb2RlL29iamVj
dHMuaAotLS0gb2RlLTAuMDM1L2luY2x1ZGUvb2RlL29iamVjdHMuaAlTdW4g
RGVjICA4IDA0OjM1OjE4IDIwMDIKKysrIG9kZS1hZGFtL2luY2x1ZGUvb2Rl
L29iamVjdHMuaAlUdWUgSmFuIDIxIDIxOjQ1OjM0IDIwMDMKQEAgLTE0NCw2
ICsxNDQsNyBAQAogZEpvaW50RmVlZGJhY2sgKmRKb2ludEdldEZlZWRiYWNr
IChkSm9pbnRJRCk7CiAKIHZvaWQgZEpvaW50U2V0QmFsbEFuY2hvciAoZEpv
aW50SUQsIGRSZWFsIHgsIGRSZWFsIHksIGRSZWFsIHopOwordm9pZCBkSm9p
bnRTZXRCYWxsUGFyYW0gKGRKb2ludElELCBpbnQgcGFyYW1ldGVyLCBkUmVh
bCB2YWx1ZSk7CiB2b2lkIGRKb2ludFNldEhpbmdlQW5jaG9yIChkSm9pbnRJ
RCwgZFJlYWwgeCwgZFJlYWwgeSwgZFJlYWwgeik7CiB2b2lkIGRKb2ludFNl
dEhpbmdlQXhpcyAoZEpvaW50SUQsIGRSZWFsIHgsIGRSZWFsIHksIGRSZWFs
IHopOwogdm9pZCBkSm9pbnRTZXRIaW5nZVBhcmFtIChkSm9pbnRJRCwgaW50
IHBhcmFtZXRlciwgZFJlYWwgdmFsdWUpOwpkaWZmIC11IC1yIC0tZXhjbHVk
ZT1DVlMgLS1leGNsdWRlPXVzZXItc2V0dGluZ3Mgb2RlLTAuMDM1L29kZS9z
cmMvam9pbnQuY3BwIG9kZS1hZGFtL29kZS9zcmMvam9pbnQuY3BwCi0tLSBv
ZGUtMC4wMzUvb2RlL3NyYy9qb2ludC5jcHAJRnJpIE5vdiAgMSAwNzo0Njow
OCAyMDAyCisrKyBvZGUtYWRhbS9vZGUvc3JjL2pvaW50LmNwcAlUdWUgSmFu
IDIxIDIxOjQ1OjM0IDIwMDMKQEAgLTQ1LDkgKzQ1LDExIEBACiAKIC8vIHNl
dCB0aHJlZSAiYmFsbC1hbmQtc29ja2V0IiByb3dzIGluIHRoZSBjb25zdHJh
aW50IGVxdWF0aW9uLCBhbmQgdGhlCiAvLyBjb3JyZXNwb25kaW5nIHJpZ2h0
IGhhbmQgc2lkZS4KKy8vIGBlcnAnIGlzIHRoZSBlcnAgdmFsdWUgdG8gdXNl
IHdpdGggdGhpcyBjb25zdHJhaW50LgogCiBzdGF0aWMgaW5saW5lIHZvaWQg
c2V0QmFsbCAoZHhKb2ludCAqam9pbnQsIGR4Sm9pbnQ6OkluZm8yICppbmZv
LAotCQkJICAgIGRWZWN0b3IzIGFuY2hvcjEsIGRWZWN0b3IzIGFuY2hvcjIp
CisJCQkgICAgZFZlY3RvcjMgYW5jaG9yMSwgZFZlY3RvcjMgYW5jaG9yMiwK
KwkJCSAgICBkUmVhbCBlcnApCiB7CiAgIC8vIGFuY2hvciBwb2ludHMgaW4g
Z2xvYmFsIGNvb3JkaW5hdGVzIHdpdGggcmVzcGVjdCB0byBib2R5IFBPUnMu
CiAgIGRWZWN0b3IzIGExLGEyOwpAQCAtNjksNyArNzEsNyBAQAogICB9CiAK
ICAgLy8gc2V0IHJpZ2h0IGhhbmQgc2lkZQotICBkUmVhbCBrID0gaW5mby0+
ZnBzICogaW5mby0+ZXJwOworICBkUmVhbCBrID0gaW5mby0+ZnBzICogZXJw
OwogICBpZiAoam9pbnQtPm5vZGVbMV0uYm9keSkgewogICAgIGZvciAoaW50
IGo9MDsgajwzOyBqKyspIHsKICAgICAgIGluZm8tPmNbal0gPSBrICogKGEy
W2pdICsgam9pbnQtPm5vZGVbMV0uYm9keS0+cG9zW2pdIC0KQEAgLTUzNiw2
ICs1MzgsOSBAQAogewogICBkU2V0WmVybyAoai0+YW5jaG9yMSw0KTsKICAg
ZFNldFplcm8gKGotPmFuY2hvcjIsNCk7CisKKyAgai0+am9pbnRfZXJwID0g
ai0+d29ybGQtPmdsb2JhbF9lcnA7CisgIGotPmpvaW50X2NmbSA9IGotPndv
cmxkLT5nbG9iYWxfY2ZtOwogfQogCiAKQEAgLTU0OCw3ICs1NTMsMTIgQEAK
IAogc3RhdGljIHZvaWQgYmFsbEdldEluZm8yIChkeEpvaW50QmFsbCAqam9p
bnQsIGR4Sm9pbnQ6OkluZm8yICppbmZvKQogewotICBzZXRCYWxsIChqb2lu
dCxpbmZvLGpvaW50LT5hbmNob3IxLGpvaW50LT5hbmNob3IyKTsKKyAgc2V0
QmFsbCAoam9pbnQsaW5mbyxqb2ludC0+YW5jaG9yMSxqb2ludC0+YW5jaG9y
Miwgam9pbnQtPmpvaW50X2VycCk7IAorCisgIC8vIHNldCBDRk0gZm9yIHRo
aXMgam9pbnQKKyAgaW5mby0+Y2ZtWzBdID0gam9pbnQtPmpvaW50X2NmbTsK
KyAgaW5mby0+Y2ZtWzFdID0gam9pbnQtPmpvaW50X2NmbTsKKyAgaW5mby0+
Y2ZtWzJdID0gam9pbnQtPmpvaW50X2NmbTsKIH0KIAogCkBAIC01NzAsNiAr
NTgwLDE2IEBACiB9CiAKIAorZXh0ZXJuICJDIiB2b2lkIGRKb2ludFNldEJh
bGxQYXJhbSAoZHhKb2ludEJhbGwgKmpvaW50LAorCQkJCSAgICBpbnQgcGFy
YW1ldGVyLCBkUmVhbCB2YWx1ZSkKK3sKKyAgZFVBU1NFUlQoam9pbnQsImJh
ZCBqb2ludCBhcmd1bWVudCIpOworICBkVUFTU0VSVChqb2ludC0+dnRhYmxl
ID09ICZfX2RiYWxsX3Z0YWJsZSwiam9pbnQgaXMgbm90IGEgYmFsbCIpOwor
ICBpZiAocGFyYW1ldGVyID09IGRQYXJhbUVSUCkgam9pbnQtPmpvaW50X2Vy
cCA9IHZhbHVlOworICBlbHNlIGlmIChwYXJhbWV0ZXIgPT0gZFBhcmFtQ0ZN
KSBqb2ludC0+am9pbnRfY2ZtID0gdmFsdWU7Cit9CisKKwogZHhKb2ludDo6
VnRhYmxlIF9fZGJhbGxfdnRhYmxlID0gewogICBzaXplb2YoZHhKb2ludEJh
bGwpLAogICAoZHhKb2ludDo6aW5pdF9mbiopIGJhbGxJbml0LApAQCAtNjE1
LDcgKzYzNSw3IEBACiBzdGF0aWMgdm9pZCBoaW5nZUdldEluZm8yIChkeEpv
aW50SGluZ2UgKmpvaW50LCBkeEpvaW50OjpJbmZvMiAqaW5mbykKIHsKICAg
Ly8gc2V0IHRoZSB0aHJlZSBiYWxsLWFuZC1zb2NrZXQgcm93cwotICBzZXRC
YWxsIChqb2ludCxpbmZvLGpvaW50LT5hbmNob3IxLGpvaW50LT5hbmNob3Iy
KTsKKyAgc2V0QmFsbCAoam9pbnQsaW5mbyxqb2ludC0+YW5jaG9yMSxqb2lu
dC0+YW5jaG9yMixpbmZvLT5lcnApOwogCiAgIC8vIHNldCB0aGUgdHdvIGhp
bmdlIHJvd3MuIHRoZSBoaW5nZSBheGlzIHNob3VsZCBiZSB0aGUgb25seSB1
bmNvbnN0cmFpbmVkCiAgIC8vIHJvdGF0aW9uYWwgYXhpcywgdGhlIGFuZ3Vs
YXIgdmVsb2NpdHkgb2YgdGhlIHR3byBib2RpZXMgcGVycGVuZGljdWxhciB0
bwpAQCAtMTU3Niw3ICsxNTk2LDcgQEAKIHN0YXRpYyB2b2lkIHVuaXZlcnNh
bEdldEluZm8yIChkeEpvaW50VW5pdmVyc2FsICpqb2ludCwgZHhKb2ludDo6
SW5mbzIgKmluZm8pCiB7CiAgIC8vIHNldCB0aGUgdGhyZWUgYmFsbC1hbmQt
c29ja2V0IHJvd3MKLSAgc2V0QmFsbCAoam9pbnQsaW5mbyxqb2ludC0+YW5j
aG9yMSxqb2ludC0+YW5jaG9yMik7CisgIHNldEJhbGwgKGpvaW50LGluZm8s
am9pbnQtPmFuY2hvcjEsam9pbnQtPmFuY2hvcjIsaW5mby0+ZXJwKTsKIAog
ICAvLyBzZXQgdGhlIHVuaXZlcnNhbCBqb2ludCByb3cuIHRoZSBhbmd1bGFy
IHZlbG9jaXR5IGFib3V0IGFuIGF4aXMKICAgLy8gcGVycGVuZGljdWxhciB0
byBib3RoIGpvaW50IGF4ZXMgc2hvdWxkIGJlIGVxdWFsLiB0aHVzIHRoZSBj
b25zdHJhaW50CmRpZmYgLXUgLXIgLS1leGNsdWRlPUNWUyAtLWV4Y2x1ZGU9
dXNlci1zZXR0aW5ncyBvZGUtMC4wMzUvb2RlL3NyYy9qb2ludC5oIG9kZS1h
ZGFtL29kZS9zcmMvam9pbnQuaAotLS0gb2RlLTAuMDM1L29kZS9zcmMvam9p
bnQuaAlUaHUgQXVnIDI5IDA3OjA2OjM2IDIwMDIKKysrIG9kZS1hZGFtL29k
ZS9zcmMvam9pbnQuaAlUdWUgSmFuIDIxIDIxOjQ1OjM0IDIwMDMKQEAgLTE2
MCw2ICsxNjAsNyBAQAogc3RydWN0IGR4Sm9pbnRCYWxsIDogcHVibGljIGR4
Sm9pbnQgewogICBkVmVjdG9yMyBhbmNob3IxOwkJLy8gYW5jaG9yIHcuci50
IGZpcnN0IGJvZHkKICAgZFZlY3RvcjMgYW5jaG9yMjsJCS8vIGFuY2hvciB3
LnIudCBzZWNvbmQgYm9keQorICBkUmVhbCBqb2ludF9lcnAsam9pbnRfY2Zt
OwkvLyBqb2ludCBwYXJhbWV0ZXJzIChlcnAsY2ZtKQogfTsKIGV4dGVybiBz
dHJ1Y3QgZHhKb2ludDo6VnRhYmxlIF9fZGJhbGxfdnRhYmxlOwogCg==

--0-1014688820-1044868988=:84943--