TessellatedBoxSource
VTKExamples/Python/GeometricObjects/TessellatedBoxSource
Description¶
Generates a box(cube) using vtkTessellatedBoxSource with 6 sides. The faces of the box can be subdivided into multiple triangles or quads.
Seealso
Cube generates multiple quads or triangles per side.
Code¶
TessellatedBoxSource.py
#!/usr/bin/env python import vtk def main(): colors = vtk.vtkNamedColors() bounds = [-10.0, 10.0, 10.0, 20.0, -5.0, 5.0] boxSource = vtk.vtkTessellatedBoxSource() boxSource.SetLevel(3) boxSource.QuadsOn() boxSource.SetBounds(bounds) boxSource.SetOutputPointsPrecision(vtk.vtkAlgorithm.SINGLE_PRECISION) shrink = vtk.vtkShrinkFilter() shrink.SetInputConnection(boxSource.GetOutputPort()) shrink.SetShrinkFactor(.8) # Create a mapper and actor. mapper = vtk.vtkDataSetMapper() mapper.SetInputConnection(shrink.GetOutputPort()) back = vtk.vtkProperty() back.SetColor(colors.GetColor3d("Tomato")) actor = vtk.vtkActor() actor.SetMapper(mapper) actor.GetProperty().EdgeVisibilityOn() actor.GetProperty().SetColor(colors.GetColor3d("Banana")) actor.SetBackfaceProperty(back) # Create a renderer, render window, and interactor. renderer = vtk.vtkRenderer() renderWindow = vtk.vtkRenderWindow() renderWindow.AddRenderer(renderer) renderWindowInteractor = vtk.vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) # Add the actors to the scene. renderer.AddActor(actor) renderer.SetBackground(colors.GetColor3d("Silver")) renderer.ResetCamera() renderer.GetActiveCamera().Azimuth(30) renderer.GetActiveCamera().Elevation(30) renderer.ResetCameraClippingRange() # Render and interact. renderWindow.SetSize(640, 480) renderWindow.Render() renderWindowInteractor.Start() if __name__ == "__main__": main()