def cutWithPlane(self, origin=(0, 0, 0), normal=(1, 0, 0), showcut=False):
        """
        Takes a ``vtkActor`` and cuts it with the plane defined by a point and a normal.

        :param origin: the cutting plane goes through this point
        :param normal: normal of the cutting plane
        :param showcut: if `True` show the cut off part of the mesh as thin wireframe.
        
        :Example:
            .. code-block:: python
                
                from vtkplotter import Cube
                
                cube = Cube().cutWithPlane(normal=(1,1,1))
                cube.bc('pink').show()
                
            |cutcube|

        .. hint:: |trail| |trail.py|_
        """
        if normal is "x":
            normal = (1,0,0)
        elif normal is "y":
            normal = (0,1,0)
        elif normal is "z":
            normal = (0,0,1)
        plane = vtk.vtkPlane()
        plane.SetOrigin(origin)
        plane.SetNormal(normal)

        self.computeNormals()
        poly = self.polydata()
        clipper = vtk.vtkClipPolyData()
        clipper.SetInputData(poly)
        clipper.SetClipFunction(plane)
        if showcut:
            clipper.GenerateClippedOutputOn()
        else:
            clipper.GenerateClippedOutputOff()
        clipper.GenerateClipScalarsOff()
        clipper.SetValue(0)
        clipper.Update()

        self.updateMesh(clipper.GetOutput())

        if showcut:
            c = self.GetProperty().GetColor()
            cpoly = clipper.GetClippedOutput()
            restActor = Actor(cpoly, c=c, alpha=0.05, wire=1)
            restActor.SetUserMatrix(self.GetMatrix())
            asse = Assembly([self, restActor])
            self = asse
            return asse
        else:
            return self
Takes a ``vtkActor`` and cuts it with the plane defined by a point and a normal.

        :param origin: the cutting plane goes through this point
        :param normal: normal of the cutting plane
        :param showcut: if `True` show the cut off part of the mesh as thin wireframe.
        
        :Example:
            .. code-block:: python
                
                from vtkplotter import Cube
                
                cube = Cube().cutWithPlane(normal=(1,1,1))
                cube.bc('pink').show()
                
            |cutcube|

        .. hint:: |trail| |trail.py|_