def Cylinder(center=(0.0, 0.0, 0.0), direction=(1.0, 0.0, 0.0), radius=0.5, height=1.0, resolution=100, capping=True, **kwargs): """Create the surface of a cylinder. See also :func:`pyvista.CylinderStructured`. Parameters ---------- center : list or tuple or np.ndarray Location of the centroid in [x, y, z] direction : list or tuple 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 : pyvista.PolyData Cylinder surface. Examples -------- >>> import pyvista >>> import numpy as np >>> cylinder = pyvista.Cylinder(np.array([1, 2, 3]), np.array([1, 1, 1]), 1, 1) >>> cylinder.plot() # doctest:+SKIP """ capping = kwargs.pop('cap_ends', capping) assert_empty_kwargs(**kwargs) cylinderSource = _vtk.vtkCylinderSource() cylinderSource.SetRadius(radius) cylinderSource.SetHeight(height) cylinderSource.SetCapping(capping) cylinderSource.SetResolution(resolution) cylinderSource.Update() surf = pyvista.PolyData(cylinderSource.GetOutput()) surf.rotate_z(-90) translate(surf, center, direction) return surf
def Cylinder(center=(0.0, 0.0, 0.0), direction=(1.0, 0.0, 0.0), radius=0.5, height=1.0, resolution=100, capping=True): """Create the surface of a cylinder. See also :func:`pyvista.CylinderStructured`. Parameters ---------- center : sequence, optional Location of the centroid in ``[x, y, z]``. direction : sequence, optional Direction cylinder points to in ``[x, y, z]``. radius : float, optional Radius of the cylinder. height : float, optional Height of the cylinder. resolution : int, optional Number of points on the circular face of the cylinder. capping : bool, optional Cap cylinder ends with polygons. Default ``True``. Returns ------- pyvista.PolyData Cylinder surface. Examples -------- >>> import pyvista >>> import numpy as np >>> cylinder = pyvista.Cylinder(center=[1, 2, 3], direction=[1, 1, 1], ... radius=1, height=2) >>> cylinder.plot(show_edges=True, line_width=5, cpos='xy') """ cylinderSource = _vtk.vtkCylinderSource() cylinderSource.SetRadius(radius) cylinderSource.SetHeight(height) cylinderSource.SetCapping(capping) cylinderSource.SetResolution(resolution) cylinderSource.Update() surf = pyvista.wrap(cylinderSource.GetOutput()) surf.rotate_z(-90) translate(surf, center, direction) return surf