PATCH: geom enabled status is ignored in some cases

Christian Muschick <[email protected]> Wed, 21 Nov 2007 20:12:36 +0100
Newsgroups gmane.comp.lib.ode
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------050903070305050006000402
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hello!

In the ode documentation, it says "Disabled geoms are completely ignored 
by dSpaceCollide and dSpaceCollide2". This currently is not correct. The 
collide2 functions in all spaces ignore the "enabled" state of the geom 
that is passed in.
Because this function is used when colliding two spaces against one 
another, I think this is a serious issue. The collision callback should 
never be called with a disabled geom.

The "enabled" state is also ignored when passing two geoms to 
dSpaceCollide2.

The attached patch fixes these problems, as well as a serious bug in the 
GEOM_ENABLED-macro in collision_quadtreespace.cpp, as well as one 
inconsistent line ending in collision_sapspace.cpp (because different 
files are affected I didn't split this into three patches).

regards
chris


--------------050903070305050006000402
Content-Type: text/x-patch;
 name="geom_enabled.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="geom_enabled.patch"

SW5kZXg6IG9kZS9zcmMvY29sbGlzaW9uX3NwYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBv
ZGUvc3JjL2NvbGxpc2lvbl9zcGFjZS5jcHAJKHJldmlzaW9uIDEzMTYpCisrKyBvZGUvc3Jj
L2NvbGxpc2lvbl9zcGFjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2MiwyOSArNzYyLDI5
IEBACiAJLy8gY29sbGlkZTIgaW4gdGhlIG90aGVyIHNwYWNlIGZvciBlYWNoIG9uZS4KIAlp
ZiAoczEtPmNvdW50IDwgczItPmNvdW50KSB7CiAJICBmb3IgKGR4R2VvbSAqZyA9IHMxLT5m
aXJzdDsgZzsgZz1nLT5uZXh0KSB7Ci0JICAgIHMyLT5jb2xsaWRlMiAoZGF0YSxnLGNhbGxi
YWNrKTsKKwkgICAgaWYgKEdFT01fRU5BQkxFRChnKSkgczItPmNvbGxpZGUyIChkYXRhLGcs
Y2FsbGJhY2spOwogCSAgfQogCX0KIAllbHNlIHsKIAkgIGZvciAoZHhHZW9tICpnID0gczIt
PmZpcnN0OyBnOyBnPWctPm5leHQpIHsKLQkgICAgczEtPmNvbGxpZGUyIChkYXRhLGcsY2Fs
bGJhY2spOworCSAgICBpZiAoR0VPTV9FTkFCTEVEKGcpKSBzMS0+Y29sbGlkZTIgKGRhdGEs
ZyxjYWxsYmFjayk7CiAJICB9CiAJfQogICAgICAgfQogICAgIH0KICAgICBlbHNlIHsKICAg
ICAgIC8vIGcxIGlzIGEgc3BhY2UsIGcyIGlzIGEgZ2VvbQotICAgICAgczEtPmNvbGxpZGUy
IChkYXRhLGcyLGNhbGxiYWNrKTsKKyAgICAgIGlmIChHRU9NX0VOQUJMRUQoZzIpKSBzMS0+
Y29sbGlkZTIgKGRhdGEsZzIsY2FsbGJhY2spOwogICAgIH0KICAgfQogICBlbHNlIHsKICAg
ICBpZiAoczIpIHsKICAgICAgIC8vIGcxIGlzIGEgZ2VvbSwgZzIgaXMgYSBzcGFjZQotICAg
ICAgczItPmNvbGxpZGUyIChkYXRhLGcxLGNhbGxiYWNrKTsKKyAgICAgIGlmIChHRU9NX0VO
QUJMRUQoZzEpKSBzMi0+Y29sbGlkZTIgKGRhdGEsZzEsY2FsbGJhY2spOwogICAgIH0KICAg
ICBlbHNlIHsKICAgICAgIC8vIGcxIGFuZCBnMiBhcmUgZ2VvbXMsIGNhbGwgdGhlIGNhbGxi
YWNrIGRpcmVjdGx5Ci0gICAgICBjYWxsYmFjayAoZGF0YSxnMSxnMik7CisgICAgICBpZiAo
R0VPTV9FTkFCTEVEKGcxKSAmJiBHRU9NX0VOQUJMRUQoZzIpKSBjYWxsYmFjayAoZGF0YSxn
MSxnMik7CiAgICAgfQogICB9CiB9CkluZGV4OiBvZGUvc3JjL2NvbGxpc2lvbl9xdWFkdHJl
ZXNwYWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBvZGUvc3JjL2NvbGxpc2lvbl9xdWFkdHJl
ZXNwYWNlLmNwcAkocmV2aXNpb24gMTMxNikKKysrIG9kZS9zcmMvY29sbGlzaW9uX3F1YWR0
cmVlc3BhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBACiBjb25zdCBp
bnQgU1BMSVRBWElTID0gMjsKIGNvbnN0IGludCBTUExJVFMgPSBTUExJVEFYSVMgKiBTUExJ
VEFYSVM7CiAKLSNkZWZpbmUgR0VPTV9FTkFCTEVEKGcpIChnKS0+Z2ZsYWdzICYgR0VPTV9F
TkFCTEVECisjZGVmaW5lIEdFT01fRU5BQkxFRChnKSAoKGcpLT5nZmxhZ3MgJiBHRU9NX0VO
QUJMRUQpCiAKIGNsYXNzIEJsb2NrewogcHVibGljOgpJbmRleDogb2RlL3NyYy9jb2xsaXNp
b25fc2Fwc3BhY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG9kZS9zcmMvY29sbGlzaW9uX3Nh
cHNwYWNlLmNwcAkocmV2aXNpb24gMTMxNikKKysrIG9kZS9zcmMvY29sbGlzaW9uX3NhcHNw
YWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ5LDcgKzQ0OSw3IEBACiAJLy8gIE5PVEU6
IHVzZXMgZmxvYXRzIGluc3RlYWQgb2YgZFJlYWxzIGJlY2F1c2UgdGhhdCdzIHdoYXQgcmFk
aXggc29ydCB3YW50cw0KIAlmb3IoIGludCBpID0gMDsgaSA8IGNvdW50OyArK2kgKQ0KIAkJ
cG9zbGlzdFsgaSBdID0gKGZsb2F0KVRtcEdlb21MaXN0W2ldLT5hYWJiWyBheDBpZHggXTsN
Ci0JcG9zbGlzdFsgY291bnQrKyBdID0gRkxUX01BWDsKKwlwb3NsaXN0WyBjb3VudCsrIF0g
PSBGTFRfTUFYOw0KIA0KIAkvLyAyKSBTb3J0IHRoZSBsaXN0DQogCWNvbnN0IHVpbnQzMiog
U29ydGVkID0gUmFkaXhTb3J0KCBwb3NsaXN0LmRhdGEoKSwgY291bnQgKTsNCg==
--------------050903070305050006000402
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ODE mailing list
[email protected]
http://ode.org/mailman/listinfo/ode
--------------050903070305050006000402--