www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Priority Queue Heap

reply Mason Green <mason.green gmail.com> writes:
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 
Mar 30 2008
parent reply Bill Baxter <dnewsgroup billbaxter.com> writes:
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
Mar 30 2008
parent Bill Baxter <dnewsgroup billbaxter.com> writes:
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
Mar 30 2008