[ODE] dRay class

David McClurg dmcclurg at pandemicstudios.com.au
Thu Jul 25 17:31:02 2002


That sounds very handy Erwin.  I'd be glad to test it.  Also, I have a patch for dcTriListCollider.cpp

//#define CONTACT(Contacts, Stride) ((dContactGeom*) (((char*)Ptr) + (Stride)))
inline dContactGeom* CONTACT(int Flags, dContactGeom* Contacts, int Index, int Stride)
{
  dIASSERT(Index >= 0 && Index < (Flags & 0x0ffff));
  return ((dContactGeom*) (((char*)Contacts) + (Index * Stride)));
}

This would catch the memory overwrite that often occurs with tri-lists since there are so many contact points.

-----Original Message-----
From: Erwin de Vries [mailto:erwin@vo.com]
Sent: Thursday, 25 July 2002 9:05 PM
To: ode@q12.org
Subject: [ODE] dRay class


Yesterday and today i've written a dRay class. It interacts with dPlane,
dSphere, dBox and dCCylinder. It does not generate full contact information.
It only generates the pos member. I dont think its useful to anyone to go
through hoops and find a reasonable normal and penetration depth, as i dont
think anyone will want to use it for dynamics. Just for CD.

It should compile in single and double precision mode, and should be
platform independant. I hope.

The next Tri-Collider release using Opcode 1.1 will also implement a ray
collision function along with some other not too interesting improvements.