0
0
Fork 0
mirror of https://github.com/liabru/matter-js.git synced 2025-01-31 18:14:55 -05:00

Much cleaner fix.

This commit is contained in:
Robert Kowalski 2021-12-17 16:05:25 -05:00 committed by GitHub
parent a7879299ae
commit 2b3d3852e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -244,30 +244,14 @@ var Common = require('../core/Common');
point = point || Vertices.centre(vertices);
var vertex,
delta;
// Reverse the order from counterclockwise to clockwise when scaleX or scaleY is negative, but not both.
if (scaleX < 0 && scaleY > 0 || scaleX > 0 && scaleY < 0) {
var pastVertices = [];
if (scaleX < 0 && scaleY > 0 || scaleX > 0 && scaleY < 0)
vertices.reverse();
for (var i = 0, len = vertices.length; i < len; i++)
pastVertices[i] = { x: vertices[i].x, y: vertices[i].y };
for (var i = 0, j = pastVertices.length - 1, len = pastVertices.length; i < len; i++) {
j = pastVertices.length - i - 1;
vertex = pastVertices[j];
delta = Vector.sub(vertex, point);
vertices[i].x = point.x + delta.x * scaleX;
vertices[i].y = point.y + delta.y * scaleY;
}
} else {
for (var i = 0, len = vertices.length; i < len; i++) {
vertex = vertices[i];
delta = Vector.sub(vertex, point);
vertices[i].x = point.x + delta.x * scaleX;
vertices[i].y = point.y + delta.y * scaleY;
}
for (var i = 0, delta; i < vertices.length; i++) {
delta = Vector.sub(vertices[i], point);
vertices[i].x = point.x + delta.x * scaleX;
vertices[i].y = point.y + delta.y * scaleY;
}
return vertices;