Skip to content

Commit 9c3ce04

Browse files
committed
Fixed typo in RectToTriangle and added in easy bounding box escape checks.
1 parent 3c12e15 commit 9c3ce04

4 files changed

Lines changed: 37 additions & 4 deletions

File tree

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: 'e1a4b350-18c9-11e7-9368-79f8c4c534b2'
2+
build: '8a8de700-18cc-11e7-bc06-b1929cecfc5e'
33
};
44
module.exports = CHECKSUM;

v3/src/geom/intersects/RectangleToTriangle.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,17 @@ var Decompose = require('../rectangle/Decompose');
66

77
var RectangleToTriangle = function (rect, triangle)
88
{
9+
// First the cheapest ones:
10+
11+
if (
12+
triangle.left > rect.right ||
13+
triangle.right < rect.left ||
14+
triangle.top > rect.bottom ||
15+
triangle.bottom < rect.top)
16+
{
17+
return false;
18+
}
19+
920
var triA = triangle.getLineA();
1021
var triB = triangle.getLineB();
1122
var triC = triangle.getLineC();
@@ -17,17 +28,17 @@ var RectangleToTriangle = function (rect, triangle)
1728
return true;
1829
}
1930

20-
if (Contains(rect, triB.x1, triA.y1) || Contains(rect, triB.x2, triA.y2))
31+
if (Contains(rect, triB.x1, triB.y1) || Contains(rect, triB.x2, triB.y2))
2132
{
2233
return true;
2334
}
2435

25-
if (Contains(rect, triC.x1, triA.y1) || Contains(rect, triC.x2, triA.y2))
36+
if (Contains(rect, triC.x1, triC.y1) || Contains(rect, triC.x2, triC.y2))
2637
{
2738
return true;
2839
}
2940

30-
// Cheap tests over, no to see if any of the lines intersect ...
41+
// Cheap tests over, now to see if any of the lines intersect ...
3142

3243
var rectA = rect.getLineA();
3344
var rectB = rect.getLineB();

v3/src/geom/intersects/TriangleToCircle.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@ var Contains = require('../triangle/Contains');
44

55
var TriangleToCircle = function (triangle, circle)
66
{
7+
// First the cheapest ones:
8+
9+
if (
10+
triangle.left > circle.right ||
11+
triangle.right < circle.left ||
12+
triangle.top > circle.bottom ||
13+
triangle.bottom < circle.top)
14+
{
15+
return false;
16+
}
17+
718
if (Contains(triangle, circle))
819
{
920
return true;

v3/src/geom/intersects/TriangleToTriangle.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ var Decompose = require('../triangle/Decompose');
55

66
var TriangleToTriangle = function (triangleA, triangleB)
77
{
8+
// First the cheapest ones:
9+
10+
if (
11+
triangleA.left > triangleB.right ||
12+
triangleA.right < triangleB.left ||
13+
triangleA.top > triangleB.bottom ||
14+
triangleA.bottom < triangleB.top)
15+
{
16+
return false;
17+
}
18+
819
var lineAA = triangleA.getLineA();
920
var lineAB = triangleA.getLineB();
1021
var lineAC = triangleA.getLineC();

0 commit comments

Comments
 (0)