if you're sure that all particles in the system are of your overiden type, then you can simply cast the Particle3D
to particle
by using
particle* myParticle = static_cast<particle*>(other);
but this way isn't of the safest ones, i'd suggest you, if possible check maybe there are some methods that you could override in Particle3D
class that would enable you to see if particle collided or save a list of your particles and use that list to be sure which particles are of your inherited type.
Of course dynamic_cast
would be more appropriate and more safe, but i don't suggest using it because of RTTI, since RTTI heavily slows down code execution.