I'd like to mention that the particle system is really great for me. I wrote a new affector that just scales the image every step (I'd like to suggest that's included in thor by default actually, as it's sort of the only obvious thing missing from the particles package).
Hehe, I thought about implementing a ScaleAffector before the first release, but I wasn't sure whether it would be used often, and I didn't want to bloat the interface. But if you find it useful, I will add it
The thing is I need collisions for more than the particles properties itself. I think iterating through all the particles would also be a powerful function in this lib.
With an affector, you
can iterate through the particles, even if this happens implicitly (no for loop). I don't like to give access to the internal container, as it is an implementation detail.
By the way, should I hide the public constructors of the affectors and emitters? This might prevent mistakes because you can only use emitters/affectors within shared_ptr objects, so the Create() factories would be enough...