I experimented with a bouncing atoms kind of system where atoms could collide and change direction. I sorted atoms based on vertical position and tested collisions with a subset based on vertical position. Then I could keep the collision testing to only a small number of atoms.
Best, Karl
On Fri, Feb 26, 2016 at 4:05 PM, commits@source.squeak.org wrote:
A new version of Collections was added to project The Inbox: http://source.squeak.org/inbox/Collections-pre.679.mcz
==================== Summary ====================
Name: Collections-pre.679 Author: pre Time: 26 February 2016, 4:04:56.205127 pm UUID: 2ac5821c-d6f5-418c-ab07-ed3c2b9de62c Ancestors: Collections-eem.678
This is a new iteration method which allows the iteration over asymmetric pairs. I have found this useful in game collision detections or duplicate detections. Alternatively we might want to take a second collection as input and create asymmetric pairs from self and this second collection.
=============== Diff against Collections-eem.678 ===============
Item was added:
- ----- Method: Collection>>asymmetricPairsDo: (in category 'accessing')
- asymmetricPairsDo: aBlock
| iterationCollection currentElement |
iterationCollection := self copy.
[currentElement := iterationCollection anyOne.
iterationCollection remove: currentElement.
iterationCollection isEmpty not]
whileTrue: [ iterationCollection
do: [:element | aBlock value: currentElement
value: element]].!
squeak-dev@lists.squeakfoundation.org