From 7d0ef99925a1d78cbf07e48780d2fa6d9626b06e Mon Sep 17 00:00:00 2001
From: Richard Poole <rp@guests.deus.net>
Date: Thu, 27 Jun 2019 16:04:30 +0100
Subject: [PATCH] make Query.collides aware of collision filters

fixes #732
---
 src/collision/Query.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/collision/Query.js b/src/collision/Query.js
index 7166478..2ac454a 100644
--- a/src/collision/Query.js
+++ b/src/collision/Query.js
@@ -14,6 +14,7 @@ var Vector = require('../geometry/Vector');
 var SAT = require('./SAT');
 var Bounds = require('../geometry/Bounds');
 var Bodies = require('../factory/Bodies');
+var Detector = require('../collision/Detector');
 var Vertices = require('../geometry/Vertices');
 
 (function() {
@@ -30,7 +31,11 @@ var Vertices = require('../geometry/Vertices');
 
         for (var i = 0; i < bodies.length; i++) {
             var bodyA = bodies[i];
-            
+
+            if(!Detector.canCollide(body.collisionFilter, bodyA.collisionFilter)) {
+                continue;
+            }
+
             if (Bounds.overlaps(bodyA.bounds, body.bounds)) {
                 for (var j = bodyA.parts.length === 1 ? 0 : 1; j < bodyA.parts.length; j++) {
                     var part = bodyA.parts[j];