code: def intersectWithLine(self, p0, p1):
          
          if not self.line_locator:
              line_locator = vtk.vtkOBBTree()
              line_locator.SetDataSet(self.polydata(True))
              line_locator.BuildLocator()
              self.line_locator = line_locator
  
          intersectPoints = vtk.vtkPoints()
          intersection = [0, 0, 0]
          self.line_locator.IntersectWithLine(p0, p1, intersectPoints, None)
          pts = []
          for i in range(intersectPoints.GetNumberOfPoints()):
              intersectPoints.GetPoint(i, intersection)
              pts.append(list(intersection))
          return pts
docs: Return the list of points intersecting the actor 
          along the segment defined by two points `p0` and `p1`.
  
          :Example:
              .. code-block:: python
  
                  from vtkplotter import *
                  s = Spring(alpha=0.2)
                  pts = s.intersectWithLine([0,0,0], [1,0.1,0])
                  ln = Line([0,0,0], [1,0.1,0], c='blue')
                  ps = Points(pts, r=10, c='r')
                  show(s, ln, ps, bg='white')
              
              |intline|