2D polygon class