Skip to content

Commit 4914895

Browse files
committed
Added Triangle and Rectangle decomposition functions to convert them into an array of points.
1 parent 895f7b0 commit 4914895

4 files changed

Lines changed: 28 additions & 0 deletions

File tree

v3/src/geom/rectangle/Decompose.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
var Decompose = function (rect, out)
2+
{
3+
if (out === undefined) { out = []; }
4+
5+
out.push({ x: rect.x, y: rect.y });
6+
out.push({ x: rect.right, y: rect.y });
7+
out.push({ x: rect.right, y: rect.bottom });
8+
out.push({ x: rect.x, y: rect.bottom });
9+
10+
return out;
11+
};
12+
13+
module.exports = Decompose;

v3/src/geom/rectangle/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Rectangle.Contains = require('./Contains');
1111
Rectangle.ContainsPoint = require('./ContainsPoint');
1212
Rectangle.ContainsRect = require('./ContainsRect');
1313
Rectangle.CopyFrom = require('./CopyFrom');
14+
Rectangle.Decompose = require('./Decompose');
1415
Rectangle.Equals = require('./Equals');
1516
Rectangle.FitInside = require('./FitInside');
1617
Rectangle.FitOutside = require('./FitOutside');

v3/src/geom/triangle/Decompose.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
var Decompose = function (triangle, out)
2+
{
3+
if (out === undefined) { out = []; }
4+
5+
out.push({ x: triangle.x1, y: triangle.y1 });
6+
out.push({ x: triangle.x2, y: triangle.y2 });
7+
out.push({ x: triangle.x3, y: triangle.y3 });
8+
9+
return out;
10+
};
11+
12+
module.exports = Decompose;

v3/src/geom/triangle/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Triangle.Area = require('./Area');
66
Triangle.BuildEquilateral = require('./BuildEquilateral');
77
Triangle.BuildFromPolygon = require('./BuildFromPolygon');
88
Triangle.BuildRight = require('./BuildRight');
9+
Triangle.CenterOn = require('./CenterOn');
910
Triangle.Centroid = require('./Centroid');
1011
Triangle.CircumCenter = require('./CircumCenter');
1112
Triangle.CircumCircle = require('./CircumCircle');
@@ -14,6 +15,7 @@ Triangle.Contains = require('./Contains');
1415
Triangle.ContainsArray = require('./ContainsArray');
1516
Triangle.ContainsPoint = require('./ContainsPoint');
1617
Triangle.CopyFrom = require('./CopyFrom');
18+
Triangle.Decompose = require('./Decompose');
1719
Triangle.Equals = require('./Equals');
1820
Triangle.InCenter = require('./InCenter');
1921
Triangle.Offset = require('./Offset');

0 commit comments

Comments
 (0)