mirror of
https://github.com/liabru/matter-js.git
synced 2025-03-07 22:53:59 -05:00
Much cleaner fix.
This commit is contained in:
parent
a7879299ae
commit
2b3d3852e2
1 changed files with 6 additions and 22 deletions
|
@ -244,30 +244,14 @@ var Common = require('../core/Common');
|
||||||
|
|
||||||
point = point || Vertices.centre(vertices);
|
point = point || Vertices.centre(vertices);
|
||||||
|
|
||||||
var vertex,
|
|
||||||
delta;
|
|
||||||
|
|
||||||
// Reverse the order from counterclockwise to clockwise when scaleX or scaleY is negative, but not both.
|
// 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) {
|
if (scaleX < 0 && scaleY > 0 || scaleX > 0 && scaleY < 0)
|
||||||
var pastVertices = [];
|
vertices.reverse();
|
||||||
|
|
||||||
for (var i = 0, len = vertices.length; i < len; i++)
|
for (var i = 0, delta; i < vertices.length; i++) {
|
||||||
pastVertices[i] = { x: vertices[i].x, y: vertices[i].y };
|
delta = Vector.sub(vertices[i], point);
|
||||||
|
vertices[i].x = point.x + delta.x * scaleX;
|
||||||
for (var i = 0, j = pastVertices.length - 1, len = pastVertices.length; i < len; i++) {
|
vertices[i].y = point.y + delta.y * scaleY;
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return vertices;
|
return vertices;
|
||||||
|
|
Loading…
Add table
Reference in a new issue