bepu / bepuphysics2

Pure C# 3D real time physics simulation library, now with a higher version number.
Apache License 2.0
2.4k stars 274 forks source link

Consider removing CollidableReference kinematic vs dynamic distinction #44

Closed RossNordby closed 6 years ago

RossNordby commented 6 years ago

At the moment, it doesn't look like the kinematic state is used anywhere. It was a holdover from when special case handling was being considered. Unless we bring back something like #17, there doesn't seem to be a reason for this.

It's also a little confusing for a user to get a CollidableReference in a callback that has three potential mobility types plus a handle, but there are only two potential handle spaces- bodies and statics.

RossNordby commented 6 years ago

CollidableReferences are used by the narrow phase to avoid creating constraints that don't involve at least one dynamic. While it's possible to go grab body inertia information and recalculate the kinematic state on demand, it's cheaper to just use the mobility state.

So that's staying. BodyActivity.Kinematic, however, is completely redundant and is going away. 6460c10e254eb83163c4207b963cfa34f28cc282