private void Cylinder() { // Create a cylinder. vtkCylinderSource cylinderSource = vtkCylinderSource.New(); cylinderSource.SetCenter(0.0, 0.0, 0.0); cylinderSource.SetRadius(5.0); cylinderSource.SetHeight(7.0); cylinderSource.SetResolution(36); // Visualize vtkPolyDataMapper mapper = vtkPolyDataMapper.New(); mapper.SetInputConnection(cylinderSource.GetOutputPort()); vtkActor actor = vtkActor.New(); actor.SetMapper(mapper); vtkRenderWindow renderWindow = renderWindowControl1.RenderWindow; vtkRenderer renderer = renderWindow.GetRenderers().GetFirstRenderer(); renderer.SetBackground(0.1, 0.3, 0.2); renderer.AddActor(actor); renderer.ResetCamera(); }
static public vtkProp3D genCylinderActor(CompontData data, vtkProperty pro) { double r = data.param[0]; double h = data.param[1]; vtkCylinderSource cylinder = vtkCylinderSource.New(); cylinder.SetHeight(h); cylinder.SetRadius(r); cylinder.SetCenter(0, h / 2, 0); cylinder.SetResolution(40); cylinder.Update(); vtkTransform transform = vtkTransform.New(); transform.RotateWXYZ(90, 1, 0, 0); vtkTransformPolyDataFilter transFilter = vtkTransformPolyDataFilter.New(); transFilter.SetInputConnection(cylinder.GetOutputPort()); transFilter.SetTransform(transform); //use vtkTransform (or maybe vtkLinearTransform) transFilter.Update(); return(genUserActor(data, transFilter.GetOutputPort(), pro)); }