/** * Query for all bodies that are fully included in the query rectangle. * @param lower 'lower left' corner of query rectangle * @param upper 'upper right' corner of query rectangle * @return Iterator over all matching elements. */ public PhQuerySF<T> queryInclude(double[] lower, double[] upper) { long[] lUpp = new long[lower.length << 1]; long[] lLow = new long[lower.length << 1]; pre.pre(lower, lower, lLow); pre.pre(upper, upper, lUpp); return new PhQuerySF<>(pht.query(lLow, lUpp), dims, pre, false); }
/** * Query for all bodies that are included in or partially intersect with the query rectangle. * @param lower 'lower left' corner of query rectangle * @param upper 'upper right' corner of query rectangle * @return Iterator over all matching elements. */ public PhQuerySF<T> queryIntersect(double[] lower, double[] upper) { long[] lUpp = new long[lower.length << 1]; long[] lLow = new long[lower.length << 1]; pre.pre(qMIN, lower, lLow); pre.pre(upper, qMAX, lUpp); return new PhQuerySF<>(pht.query(lLow, lUpp), dims, pre, true); }