src/Tools/babylon.earcut.js
// create a circular doubly linked list from polygon points in the specified winding order
create a circular doubly linked list from polygon points in the specified winding order
create a circular doubly linked list from polygon points in the specified winding order
function linkedList(data, start, end, dim, clockwise) {
        var i, last;
        if (clockwise === (signedArea(data, start, end, dim) > 0)) {
            for (i = start; i < end; i += dim)
                last = insertNode(i, data[i], data[i + 1], last);
        }
        else {
            for (i = end - dim; i >= start; i -= dim)
                last = insertNode(i, data[i], data[i + 1], last);
        }
        if (last && equals(last, last.next)) {
            removeNode(last);
            last = last.next;
        }
        return last;
    }
function linkedList ( data , start , end , dim , clockwise ) { var i , last ; if ( clockwise === ( signedArea ( data , start , end , dim ) > 0 ) ) { for ( i = start ; i < end ; i += dim ) last = insertNode ( i , data [ i ] , data [ i + 1 ] , last ) ; } else { for ( i = end - dim ; i >= start ; i -= dim ) last = insertNode ( i , data [ i ] , data [ i + 1 ] , last ) ; } if ( last && equals ( last , last . next ) ) { removeNode ( last ) ; last = last . next ; } return last ; }
create a circular doubly linked list from polygon points in the specified winding order
create a circular doubly linked list from polygon points in the specified winding order