diff --git a/src/pe/ccd/HashGrids.h b/src/pe/ccd/HashGrids.h
index ef211a7e4fef170c0416f21dd5b532dd1f21f0ca..c6146810b9f60f719f5407430ecf50ee9d16eb50 100644
--- a/src/pe/ccd/HashGrids.h
+++ b/src/pe/ccd/HashGrids.h
@@ -305,7 +305,7 @@ public:
    template<typename BodyTuple>
    BodyID getClosestBodyIntersectingWithRay(const raytracing::Ray& ray, const AABB& blockAABB,
                                             real_t& t, Vec3& n,
-                                            std::function<bool (const BodyID body)> isBodyVisibleFunc);
+                                            std::function<bool (const BodyID body)> isBodyVisibleFunc) const;
    
 protected:
    //**Utility functions***************************************************************************
@@ -762,7 +762,7 @@ BodyID HashGrids::HashGrid::getRayIntersectingBody(const raytracing::Ray& ray, c
 template<typename BodyTuple>
 BodyID HashGrids::getClosestBodyIntersectingWithRay(const raytracing::Ray& ray, const AABB& blockAABB,
                                                     real_t& t, Vec3& n,
-                                                    std::function<bool (const BodyID body)> isBodyVisibleFunc) {
+                                                    std::function<bool (const BodyID body)> isBodyVisibleFunc) const {
    real_t inf = std::numeric_limits<real_t>::max();
 
    BodyID body_closest = NULL;