Originally part of Osama Ahmad's GSoC shape builder this is a re-written version which uses the existing breakApart functionality as the basis instead of a separate function.