|
@@ -58,9 +58,9 @@ var ShapeUtils = {
|
|
|
var apx, apy, bpx, bpy, cpx, cpy;
|
|
|
var cCROSSap, bCROSScp, aCROSSbp;
|
|
|
|
|
|
- aX = cx - bx; aY = cy - by;
|
|
|
- bX = ax - cx; bY = ay - cy;
|
|
|
- cX = bx - ax; cY = by - ay;
|
|
|
+ aX = cx - bx; aY = cy - by;
|
|
|
+ bX = ax - cx; bY = ay - cy;
|
|
|
+ cX = bx - ax; cY = by - ay;
|
|
|
|
|
|
for ( p = 0; p < n; p ++ ) {
|
|
|
|
|
@@ -71,9 +71,9 @@ var ShapeUtils = {
|
|
|
( ( px === bx ) && ( py === by ) ) ||
|
|
|
( ( px === cx ) && ( py === cy ) ) ) continue;
|
|
|
|
|
|
- apx = px - ax; apy = py - ay;
|
|
|
- bpx = px - bx; bpy = py - by;
|
|
|
- cpx = px - cx; cpy = py - cy;
|
|
|
+ apx = px - ax; apy = py - ay;
|
|
|
+ bpx = px - bx; bpy = py - by;
|
|
|
+ cpx = px - cx; cpy = py - cy;
|
|
|
|
|
|
// see if p is inside triangle abc
|
|
|
|
|
@@ -119,7 +119,7 @@ var ShapeUtils = {
|
|
|
|
|
|
/* remove nv - 2 vertices, creating 1 triangle every time */
|
|
|
|
|
|
- var count = 2 * nv; /* error detection */
|
|
|
+ var count = 2 * nv; /* error detection */
|
|
|
|
|
|
for ( v = nv - 1; nv > 2; ) {
|
|
|
|
|
@@ -141,9 +141,9 @@ var ShapeUtils = {
|
|
|
|
|
|
/* three consecutive vertices in current polygon, <u,v,w> */
|
|
|
|
|
|
- u = v; if ( nv <= u ) u = 0; /* previous */
|
|
|
- v = u + 1; if ( nv <= v ) v = 0; /* new v */
|
|
|
- w = v + 1; if ( nv <= w ) w = 0; /* next */
|
|
|
+ u = v; if ( nv <= u ) u = 0; /* previous */
|
|
|
+ v = u + 1; if ( nv <= v ) v = 0; /* new v */
|
|
|
+ w = v + 1; if ( nv <= w ) w = 0; /* next */
|
|
|
|
|
|
if ( snip( contour, u, v, w, nv, verts ) ) {
|
|
|
|
|
@@ -191,7 +191,7 @@ var ShapeUtils = {
|
|
|
|
|
|
triangulateShape: function ( contour, holes ) {
|
|
|
|
|
|
- function removeDupEndPts(points) {
|
|
|
+ function removeDupEndPts( points ) {
|
|
|
|
|
|
var l = points.length;
|
|
|
|
|
@@ -239,8 +239,8 @@ var ShapeUtils = {
|
|
|
|
|
|
function intersect_segments_2D( inSeg1Pt1, inSeg1Pt2, inSeg2Pt1, inSeg2Pt2, inExcludeAdjacentSegs ) {
|
|
|
|
|
|
- var seg1dx = inSeg1Pt2.x - inSeg1Pt1.x, seg1dy = inSeg1Pt2.y - inSeg1Pt1.y;
|
|
|
- var seg2dx = inSeg2Pt2.x - inSeg2Pt1.x, seg2dy = inSeg2Pt2.y - inSeg2Pt1.y;
|
|
|
+ var seg1dx = inSeg1Pt2.x - inSeg1Pt1.x, seg1dy = inSeg1Pt2.y - inSeg1Pt1.y;
|
|
|
+ var seg2dx = inSeg2Pt2.x - inSeg2Pt1.x, seg2dy = inSeg2Pt2.y - inSeg2Pt1.y;
|
|
|
|
|
|
var seg1seg2dx = inSeg1Pt1.x - inSeg2Pt1.x;
|
|
|
var seg1seg2dy = inSeg1Pt1.y - inSeg2Pt1.y;
|
|
@@ -289,8 +289,7 @@ var ShapeUtils = {
|
|
|
|
|
|
// return real intersection point
|
|
|
var factorSeg1 = perpSeg2 / limit;
|
|
|
- return [ { x: inSeg1Pt1.x + factorSeg1 * seg1dx,
|
|
|
- y: inSeg1Pt1.y + factorSeg1 * seg1dy } ];
|
|
|
+ return [ { x: inSeg1Pt1.x + factorSeg1 * seg1dx, y: inSeg1Pt1.y + factorSeg1 * seg1dy } ];
|
|
|
|
|
|
} else {
|
|
|
|
|
@@ -382,7 +381,7 @@ var ShapeUtils = {
|
|
|
}
|
|
|
if ( seg1minVal <= seg2minVal ) {
|
|
|
|
|
|
- if ( seg1maxVal < seg2minVal ) return [];
|
|
|
+ if ( seg1maxVal < seg2minVal ) return [];
|
|
|
if ( seg1maxVal === seg2minVal ) {
|
|
|
|
|
|
if ( inExcludeAdjacentSegs ) return [];
|
|
@@ -394,7 +393,7 @@ var ShapeUtils = {
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- if ( seg1minVal > seg2maxVal ) return [];
|
|
|
+ if ( seg1minVal > seg2maxVal ) return [];
|
|
|
if ( seg1minVal === seg2maxVal ) {
|
|
|
|
|
|
if ( inExcludeAdjacentSegs ) return [];
|
|
@@ -415,9 +414,9 @@ var ShapeUtils = {
|
|
|
// The order of legs is important
|
|
|
|
|
|
// translation of all points, so that Vertex is at (0,0)
|
|
|
- var legFromPtX = inLegFromPt.x - inVertex.x, legFromPtY = inLegFromPt.y - inVertex.y;
|
|
|
- var legToPtX = inLegToPt.x - inVertex.x, legToPtY = inLegToPt.y - inVertex.y;
|
|
|
- var otherPtX = inOtherPt.x - inVertex.x, otherPtY = inOtherPt.y - inVertex.y;
|
|
|
+ var legFromPtX = inLegFromPt.x - inVertex.x, legFromPtY = inLegFromPt.y - inVertex.y;
|
|
|
+ var legToPtX = inLegToPt.x - inVertex.x, legToPtY = inLegToPt.y - inVertex.y;
|
|
|
+ var otherPtX = inOtherPt.x - inVertex.x, otherPtY = inOtherPt.y - inVertex.y;
|
|
|
|
|
|
// main angle >0: < 180 deg.; 0: 180 deg.; <0: > 180 deg.
|
|
|
var from2toAngle = legFromPtX * legToPtY - legFromPtY * legToPtX;
|