src/classes/sigma.classes.edgequad.js
function _quadRetrieveArea(rectData, quad, collisionFunc, els) {
    els = els || {};

    if (quad.level < quad.maxLevel) {
      var indexes = collisionFunc(rectData, quad.corners);

      for (var i = 0, l = indexes.length; i < l; i++)
        if (quad.nodes[indexes[i]] !== undefined)
          _quadRetrieveArea(
            rectData,
            quad.nodes[indexes[i]],
            collisionFunc,
            els
          );
    } else
      for (var j = 0, m = quad.elements.length; j < m; j++)
        if (els[quad.elements[j].id] === undefined)
          els[quad.elements[j].id] = quad.elements[j];

    return els;
  }
function _quadRetrieveArea(rectData, quad, collisionFunc, els) {
    els = els || {};

    if (quad.level < quad.maxLevel) {
      var indexes = collisionFunc(rectData, quad.corners);

      for (var i = 0, l = indexes.length; i < l; i++)
        if (quad.nodes[indexes[i]] !== undefined)
          _quadRetrieveArea(
            rectData,
            quad.nodes[indexes[i]],
            collisionFunc,
            els
          );
    } else
      for (var j = 0, m = quad.elements.length; j < m; j++)
        if (els[quad.elements[j].id] === undefined)
          els[quad.elements[j].id] = quad.elements[j];

    return els;
  }
function _quadRetrieveArea ( rectData , quad , collisionFunc , els ) { els = els || { } ; if ( quad . level < quad . maxLevel ) { var indexes = collisionFunc ( rectData , quad . corners ) ; for ( var i = 0 , l = indexes . length ; i < l ; i ++ ) if ( quad . nodes [ indexes [ i ] ] !== undefined ) _quadRetrieveArea ( rectData , quad . nodes [ indexes [ i ] ] , collisionFunc , els ) ; } else for ( var j = 0 , m = quad . elements . length ; j < m ; j ++ ) if ( els [ quad . elements [ j ] . id ] === undefined ) els [ quad . elements [ j ] . id ] = quad . elements [ j ] ; return els ; }
Recursively retrieve every elements contained within an rectangular area
that may or may not be axis-aligned.

@param  {object|array} rectData       The searched area defined either by
an array of four corners (x, y) in
the case of a non-axis-aligned
rectangle or an object with two top
points (x1, y1), (x2, y2) and height.
@param  {object}       quad           The searched quad.
@param  {function}     collisionFunc  The collision function used to search
for node indexes.
@param  {array?}       els            The retrieved elements.
@return {array}                       An array of elements contained in the
area.
Recursively retrieve every elements contained within an rectangular area that may or may not be axis - aligned .