code: def Cylinder(center=(0.,0.,0.), direction=(1.,0.,0.), radius=0.5, height=1.0,
               resolution=100, **kwargs):
  
      
      capping = kwargs.get('capping', kwargs.get('cap_ends', True))
      cylinderSource = vtk.vtkCylinderSource()
      cylinderSource.SetRadius(radius)
      cylinderSource.SetHeight(height)
      cylinderSource.SetCapping(capping)
      cylinderSource.SetResolution(resolution)
      cylinderSource.Update()
      surf = PolyData(cylinderSource.GetOutput())
      surf.rotate_z(-90)
      translate(surf, center, direction)
      return surf
docs: Create the surface of a cylinder.
  
      Parameters
      ----------
      center : list or np.ndarray
          Location of the centroid in [x, y, z]
  
      direction : list or np.ndarray
          Direction cylinder points to  in [x, y, z]
  
      radius : float
          Radius of the cylinder.
  
      height : float
          Height of the cylinder.
  
      resolution : int
          Number of points on the circular face of the cylinder.
  
      capping : bool, optional
          Cap cylinder ends with polygons.  Default True
  
      Returns
      -------
      cylinder : vtki.PolyData
          Cylinder surface.
  
      Examples
      --------
      >>> import vtki
      >>> import numpy as np
      >>> cylinder = vtki.Cylinder(np.array([1, 2, 3]), np.array([1, 1, 1]), 1, 1)
      >>> cylinder.plot() # doctest:+SKIP