I have been studying the smoke framework and was wondering if anyone knows were the code where the smoke demo "breaks" up the house?
Quoting - gonx
The Smoke demo uses Havok to break up the house. This is a two stage process. First, we used the Havok tools to generate the collision information for the house. This is the hkx files in mediephysics. These files are loaded and used by SystemPhysicsCollisionHavok (see HavokPhysicsScene::GlobalSceneStatusChanged in Scene.ccp of the SystemPhysicsCollisionHavok project to see how we handle loading the file). Once the hkx files are loaded and the associated objects are created, we let Havok work its magic ^_^ If you look at HavokPhysicsObject::Update you can see where we pull the updated positions and sent them to the other systems (i.e. graphics) with PostChanges. HavokPhysicsObject::Update is called for each object after SystemPhysicsCollisionHavok updates (see Task.cpp in SystemPhysicsCollisionHavok).
Btw, we used hkpBreakOffPartsUtil to support objects breaking apart. Look for this in the Havok documentation for more details.
I hope this helps.- Orion