Thread overview
Priority Queue Heap
Mar 30, 2008
Mason Green
Mar 30, 2008
Bill Baxter
Mar 30, 2008
Bill Baxter
March 30, 2008
Hello D Community,

I need to implement a priority queue heap for Blaze's continuous collision detection scheme, and was wondering if anyone would be willing the help me in this endeavor.

Blaze project page: http://www.dsource.org/projects/blaze

Basically, I need to store and sort all (potential) dynamic collision events detected during a time step based on time of impact (TOI). For all potentially colliding objects, the TOI and contact information needs to be stored in a list. Objects may have more than one potential contact. If two rigid bodies collide, all future collision events (collisions with a greater TOI) involving either one of the two bodies need to be invalidated.

I've found a C++ implementation, and may need help integrating into Blaze:

http://idav.ucdavis.edu/~okreylos/ResDev/Balls/index.html

Any help/thoughts/suggestions would be greatly appreciated!

Best regards,
Mason
March 30, 2008
Mason Green wrote:
> Hello D Community,
> 
> I need to implement a priority queue heap for Blaze's continuous collision detection scheme, and was wondering if anyone would be willing the help me in this endeavor.
> 
> Blaze project page: http://www.dsource.org/projects/blaze
> 
> Basically, I need to store and sort all (potential) dynamic collision events detected during a time step based on time of impact (TOI). For all potentially colliding objects, the TOI and contact information needs to be stored in a list. Objects may have more than one potential contact. If two rigid bodies collide, all future collision events (collisions with a greater TOI) involving either one of the two bodies need to be invalidated.
> 
> I've found a C++ implementation, and may need help integrating into Blaze: 
> 
> http://idav.ucdavis.edu/~okreylos/ResDev/Balls/index.html
> 
> Any help/thoughts/suggestions would be greatly appreciated!
> 
> Best regards,
> Mason 

There's one in OpenMeshD that I ported from C++.
It's very efficient but kind of has a weird interface.
http://www.dsource.org/projects/openmeshd

--bb
March 30, 2008
Bill Baxter wrote:
> Mason Green wrote:
>> Hello D Community,
>>
>> I need to implement a priority queue heap for Blaze's continuous collision detection scheme, and was wondering if anyone would be willing the help me in this endeavor.
>>
>> Blaze project page: http://www.dsource.org/projects/blaze
>>
>> Basically, I need to store and sort all (potential) dynamic collision events detected during a time step based on time of impact (TOI). For all potentially colliding objects, the TOI and contact information needs to be stored in a list. Objects may have more than one potential contact. If two rigid bodies collide, all future collision events (collisions with a greater TOI) involving either one of the two bodies need to be invalidated.
>>
>> I've found a C++ implementation, and may need help integrating into Blaze:
>> http://idav.ucdavis.edu/~okreylos/ResDev/Balls/index.html
>>
>> Any help/thoughts/suggestions would be greatly appreciated!
>>
>> Best regards,
>> Mason 
> 
> There's one in OpenMeshD that I ported from C++.
> It's very efficient but kind of has a weird interface.
> http://www.dsource.org/projects/openmeshd

But I forgot to mention that it's LGPL because that's what the C++ source was.  Probably the original authors would be willing to change the license on that one file if we asked, though.

--bb