0
0
Fork 0
mirror of https://github.com/liabru/matter-js.git synced 2025-02-07 19:06:26 -05:00

make Query.collides aware of collision filters

fixes #732
This commit is contained in:
Richard Poole 2019-06-27 16:04:30 +01:00
parent 2ec247b7af
commit 7d0ef99925

View file

@ -14,6 +14,7 @@ var Vector = require('../geometry/Vector');
var SAT = require('./SAT'); var SAT = require('./SAT');
var Bounds = require('../geometry/Bounds'); var Bounds = require('../geometry/Bounds');
var Bodies = require('../factory/Bodies'); var Bodies = require('../factory/Bodies');
var Detector = require('../collision/Detector');
var Vertices = require('../geometry/Vertices'); var Vertices = require('../geometry/Vertices');
(function() { (function() {
@ -31,6 +32,10 @@ var Vertices = require('../geometry/Vertices');
for (var i = 0; i < bodies.length; i++) { for (var i = 0; i < bodies.length; i++) {
var bodyA = bodies[i]; var bodyA = bodies[i];
if(!Detector.canCollide(body.collisionFilter, bodyA.collisionFilter)) {
continue;
}
if (Bounds.overlaps(bodyA.bounds, body.bounds)) { if (Bounds.overlaps(bodyA.bounds, body.bounds)) {
for (var j = bodyA.parts.length === 1 ? 0 : 1; j < bodyA.parts.length; j++) { for (var j = bodyA.parts.length === 1 ? 0 : 1; j < bodyA.parts.length; j++) {
var part = bodyA.parts[j]; var part = bodyA.parts[j];