As most analytical models don’t define their spaces by storey, even though formats like gbXML allow it, there is actually quite a bit of work involved in generating that structure. There is even more work in managing the positions and animations. Thus, whilst later experiments will use springs and dampers to also separate spaces laterally, this one is just vertical separation.
Exploding View Applet: An embedded interactive Java applet that demonstrates an 'exploding' analytical model space viewer. Click to select any space in the model to separate the storeys. Use the middle and right buttons to pan and rotate the view.
This example is actually using a real gbXML file, which is why there is an initial loading process which delays its start. The real focus here was on determining which spaces are on the same effective storey as well as making sure the animation process is stable and that everything returns to its original position.
The OpenGL version of this applet displays much better as it handles transparency and alpha-sorting much better than the basic Processing P3D renderer. However, I still find that OpenGL applets in web pages are a bit flakey and browser sensitive. Thus, for the moment, the embedded web applet simply turns the non-selected storeys white whereas the native OpenGL application versions make them fully transparent. The image below shows a screenshot from the OpenGL version.