Generic factory for Shape.
Factory methods for Shape.
A special shape which does not occupy space and does not intersect with any other, not even with itself.
Requires that the given shape is compatible with the ones provided by this factory, otherwise throws an exception.