Como aplicar a transformação ao objeto Polygon em Java

Eu fiz uma transformação e renderizei um objeto Polygon com ele (a malha é do tipo Polygon):

    at.setToTranslation(gameObject.position.x, gameObject.position.y);
    at.rotate(Math.toRadians(rotation));
    at.scale(scale, scale);
    g2d.setTransform(at);
    g2d.fillPolygon(mesh);

Agora eu quero retornar a malha exata que eu processei para que eu possa fazer verificações de colisão nele. O único problema é que, se eu retornar malha, ele retornará a malha não transformada. então eu tentei definir a transformação para o objeto Polygon (malha) assim:

    mesh = (Polygon)at.createTransformedShape(mesh);

mas infelizmente at.createTransformedShape () retorna uma Shape que só pode ser convertida em Path2D.Double. por isso, se alguém sabe como converter Path2D.Double para Polygon ou sabe outra maneira de definir as transformações para a malha, por favor, ajude.

questionAnswers(1)

yourAnswerToTheQuestion