For my application I use Newton only for collision detection. Physics functions aren't used.
This works fine (especially with the improvements of Newton 2).
But in this context I don't understand:
Why a body needs a mass > 0?
If I don't define a mass or set the mass to 0 then collision detection doesn't work.
In my eyes this makes no sense.
Is this a bug?
I wasted much time to find out the reason, why collision detection didn't work.
It is very confusing and I suppose that also other users can have this problem.
I think it would be better to "remove" this depency.
For physics functionality the mass makes sense.
But if somebody doesn't use physics and instead he uses
NewtonBodySetMatrix(...) for position/orientation changes
and NewtonCollisionUpdate(World)
then it would be nice if the collision detection works (without mass).
Internally you could set flags to bodies (moved by NewtonBodySetMatrix(...)) and check the flags when NewtonCollisionUpdate(...) is called.