Fixed a bug with the enabling/disabling of collision pairs. It was not removing the correct part from one of the collision exclusion lists on the RigidBody.cpp. So the change was not being applied correctly during in-place editing. The next time the sim was loaded it worked correctly though.
Fixed an issue where the contact sensors were producing contact responses. If the sensor overlapped a dynamic part it produced large forces on that object. I found that if you set the btCollisionObject::CF_NO_CONTACT_RESPONSE flag on the btCollisionObject it would no longer apply these forces.
1. Fixed a bug where contact sensor parts were not being deleted properly.
2. Fixed a bug where if you deleted a part that was also in a collision exclusion pair then it would blow up the sim.
3. Fixed an issue where the m_bShutdown on the sim was not being populated correctly. It needed to also be set during the reset method because that is basically wiping everything out.
Fixed a bug where the manipulator could not zoom in past a certain amount.
Added new project
Fixed a bug with adding joints to parts. When adding a joint I needed to check CanAddChildToPart with not only the new child part, but also with the parent part. Either of those could exclude the joint type. I was only checking against the child part before.
Added a new PhysicsEngine class to make the physics engine choice modular and plug-in instead of more hard-coded.
1. Added a new physics engine class and modified the code throughout the GUI to use this new object type. Also, modified the plug-in initialization to load these types of objects and use them for selecting the available physics engines.