Shape partitioning