Class AbstractShape2d<T extends AbstractShape2d<?>>