public Vector2D[][] getOutline(final PolyhedronsSet polyhedronsSet) {
// project all boundary facets into one polygons set
final BoundaryProjector projector = new BoundaryProjector(polyhedronsSet.getTolerance());
polyhedronsSet.getTree(true).visit(projector);
final PolygonsSet projected = projector.getProjected();
// Remove the spurious intermediate vertices from the outline
final Vector2D[][] outline = projected.getVertices();
for (int i = 0; i < outline.length; ++i) {
final Vector2D[] rawLoop = outline[i];
int end = rawLoop.length;
int j = 0;
while (j < end) {