Skip to content

Commit e8b039a

Browse files
committed
Added PlaceOnTriangle Action.
1 parent 4228a5b commit e8b039a

4 files changed

Lines changed: 42 additions & 1 deletion

File tree

v3/src/actions/PlaceOnTriangle.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
var GetPointsOnLine = require('../geom/line/GetPointsOnLine');
2+
3+
var PlaceOnTriangle = function (items, triangle, stepRate)
4+
{
5+
var p1 = GetPointsOnLine({ x1: triangle.x1, y1: triangle.y1, x2: triangle.x2, y2: triangle.y2 }, stepRate);
6+
var p2 = GetPointsOnLine({ x1: triangle.x2, y1: triangle.y2, x2: triangle.x3, y2: triangle.y3 }, stepRate);
7+
var p3 = GetPointsOnLine({ x1: triangle.x3, y1: triangle.y3, x2: triangle.x1, y2: triangle.y1 }, stepRate);
8+
9+
// Remove overlaps
10+
p1.pop();
11+
p2.pop();
12+
p3.pop();
13+
14+
p1 = p1.concat(p2, p3);
15+
16+
var step = p1.length / items.length;
17+
var p = 0;
18+
19+
for (var i = 0; i < items.length; i++)
20+
{
21+
var item = items[i];
22+
var point = p1[Math.floor(p)];
23+
24+
item.x = point[0];
25+
item.y = point[1];
26+
27+
p += step;
28+
}
29+
30+
return items;
31+
};
32+
33+
module.exports = PlaceOnTriangle;

v3/src/actions/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ module.exports = {
1212
PlaceOnCircle: require('./PlaceOnCircle'),
1313
PlaceOnLine: require('./PlaceOnLine'),
1414
PlaceOnRectangle: require('./PlaceOnRectangle'),
15+
PlaceOnTriangle: require('./PlaceOnTriangle'),
1516
RandomCircle: require('./RandomCircle'),
1617
RandomEllipse: require('./RandomEllipse'),
1718
RandomLine: require('./RandomLine'),

v3/src/checksum.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
var CHECKSUM = {
2-
build: '7e90d280-1540-11e7-adf9-8b058a0651ee'
2+
build: 'f8bbe1b0-15a1-11e7-834a-5b94846f9f0d'
33
};
44
module.exports = CHECKSUM;

v3/src/gameobjects/layer/Layer.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,13 @@ var Layer = new Class({
238238
return this;
239239
},
240240

241+
placeOnTriangle: function (triangle, stepRate)
242+
{
243+
Actions.PlaceOnTriangle(this.children.entries, triangle, stepRate);
244+
245+
return this;
246+
},
247+
241248
randomCircle: function (circle)
242249
{
243250
Actions.RandomCircle(this.children.entries, circle);

0 commit comments

Comments
 (0)