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