code: def intersects_id(self,
                        ray_origins,
                        ray_directions,
                        return_locations=False,
                        multiple_hits=True,
                        **kwargs):
          
          (index_tri,
           index_ray,
           locations) = ray_triangle_id(triangles=self.mesh.triangles,
                                        ray_origins=ray_origins,
                                        ray_directions=ray_directions,
                                        tree=self.mesh.triangles_tree,
                                        multiple_hits=multiple_hits,
                                        triangles_normal=self.mesh.face_normals)
          if return_locations:
              if len(index_tri) == 0:
                  return index_tri, index_ray, locations
              unique = grouping.unique_rows(np.column_stack((locations,
                                                             index_ray)))[0]
              return index_tri[unique], index_ray[unique], locations[unique]
          return index_tri, index_ray
docs: Find the intersections between the current mesh and a list of rays.
  
          Parameters
          ------------
          ray_origins:      (m,3) float, ray origin points
          ray_directions:   (m,3) float, ray direction vectors
          multiple_hits:    bool, consider multiple hits of each ray or not
          return_locations: bool, return hit locations or not
  
          Returns
          -----------
          index_triangle: (h,) int,    index of triangles hit
          index_ray:      (h,) int,    index of ray that hit triangle
          locations:      (h,3) float, (optional) position of intersection in space