[ODE] Ray-TriMesh Collider

Vadim Macagon vadim_mcagon at hotmail.com
Sat Aug 9 02:35:02 2003


This is a multi-part message in MIME format.

------=_NextPart_000_022F_01C35EBE.B6C5CF40
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hehe, lots of emails from me today.

I added an extra parameter to the dGeomRay*Params(), which gives you finer
control of the proccess. I think the firstContact parameter was being used
incorrectly (so I fixed that).

Aside from that I've also changed the way the contact point is generated for
ray/mesh collision (collision_trimesh_ray.cpp), as far as I know - knowing
the T value (along the line) is sufficient to compute the point of
contact... so I didn't see the point of using barycentric coordinates (which
amounts to more computation) to work out the same thing. Likewise I don't
quite understand why the T value was computed again, since OPCODE already
did it and stored it in Faces[i].mDistance.

Patches are attached (hopefuly they'll make it into CVS in a couple of
months :P).


Cheers,

Vadim.

------=_NextPart_000_022F_01C35EBE.B6C5CF40
Content-Type: application/x-zip-compressed;
	name="ray_mesh_patches.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="ray_mesh_patches.zip"

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

------=_NextPart_000_022F_01C35EBE.B6C5CF40--