[ODE] get triangle index of a trimesh - applied to trunk
ekt at libero.it
Mon May 1 07:59:54 MST 2006
just wanted to say that i've just tested it and it works nicely!
i can now remove my weak implementation with dGeomTriMeshSetCallback :)
----- Original Message -----
From: "Jaroslav Sinecky" <sinecky at telefonica.net>
To: "Geoff Carlton" <gcarlton at iinet.net.au>
Cc: "Ettore Pancini" <ekt at libero.it>; "ODE mailing_list" <ode at q12.org>
Sent: Tuesday, April 25, 2006 12:20
Subject: Re: [ODE] get triangle index of a trimesh - applied to trunk
> So, for the moment, I changed my implementation to use new Side1,Side2
> fields in dContactGeom (as suggested by Geoff) and applied it to svn
> What is implemented now:
> trimesh triangle index when colliding with sphere, box, capsule, cylinder.
> In other cases I don't set the Side1, Side2 fields to -1, so they will
> contain undefined value. You can fill your Side1,Side2 fields with -1
> before calling dCollide to be sure if it was set or not.
> Geoff Carlton wrote:
>> I have the full code containing the change, as well as several other
>> changes. In terms of extracting that one feature out into a separate
>> patch that can be applied to SVN, I did say I would try to do that when I
>> had more time. Unfortunately, if anything, my free time is going the
>> other way. For now, I can offer the complete source (which you may have
>> trouble merging), or you will still have to wait an indeterminate time
>> until I get around to it.
>> Sorry about that,
>> Jaroslav Sinecky wrote:
>>> It didn't get it over to the maillist, I guess it's still waiting for
>>> approval, because it exceeded size of 10kB, or something like that. I
>>> didn't bother because there was a better proposal - adding feedback
>>> field in the contact struct and Geoff Carlton was going to send a patch
>>> for that, which didn't happen yet.
>>> Nevermind, I can change my code to store the index in feedback field,
>>> which is really minor change and apply it to svn.
>>> Or Geoff, will you send your code?
>>> Ettore Pancini wrote:
>>>> quite strangely i can't find the original mail from Sinecky Jaroslav
>>>> neither in the archives nor in my inbox. someone has this patch?
>>>> ----- Original Message -----
>>>> *From:* vicente conejeros <mailto:vicenteconejeros at hotmail.com>
>>>> *To:* ODE mailing_list <mailto:ode at q12.org>
>>>> *Sent:* Friday, March 10, 2006 21:05
>>>> *Subject:* Re: [ODE] get triangle index of a trimesh
>>>> thanks :D
>>>> ----- Original Message -----
>>>> *From:* Jaroslav Sinecky <mailto:sinecky at telefonica.net>
>>>> *To:* adastra at inorbit.com <mailto:adastra at inorbit.com> ;
>>>> vicente conejeros <mailto:vicenteconejeros at hotmail.com>
>>>> *Cc:* ODE mailing_list <mailto:ode at q12.org>
>>>> *Sent:* Friday, March 10, 2006 10:21 AM
>>>> *Subject:* RE: [ODE] get triangle index of a trimesh
>>>> So here goes the patch, maybe someone finds it useful or you
>>>> can include it in unstable. It's pretty simple: after dCollide
>>>> returns, call
>>>> int triIndex = dGeomTriMeshGetTouchedTriangle(g1,
>>>> where contactIndex is the index in the list of
>>>> contacts and g1 is the Trimesh geom involved in the collision.
>>>> - Not implemented for ray or plane colliding with trimesh.
>>>> Suppose should be similarily easy to implement though.
>>>> - There is static buffer (64) to hold indexes. I believe if
>>>> this overflows, it shouldn't crash, just some asserts will
>>>> come out.
>>>> - It's not completely robust, for example if you send
>>>> contactIndex not consistent with immediately preceding
>>>> dCollide call, result is undefined
>>>> Performance impact should be negligible though.
>>>> ODE mailing list
>>>> ODE at q12.org
>>> ODE mailing list
>>> ODE at q12.org
More information about the ODE