TriangleStrip
VTKExamples/Python/GeometricObjects/TriangleStrip
Description¶
The triangle strip is a composite two-dimensional cell consisting of one or more triangles. The points defining the triangle strip need not lie in a plane. The triangle strip is defined by an ordered list of n+2 points, where n is the number of triangles. The ordering of the points is such that each set of three points defines a triangle.
Info
See this wikipedia article for an explanation.
Code¶
TriangleStrip.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import vtk def main(): colors = vtk.vtkNamedColors() points = vtk.vtkPoints() points.InsertNextPoint(0, 0, 0) points.InsertNextPoint(0, 1, 0) points.InsertNextPoint(1, 0, 0) points.InsertNextPoint(1.5, 1, 0) triangleStrip = vtk.vtkTriangleStrip() triangleStrip.GetPointIds().SetNumberOfIds(4) triangleStrip.GetPointIds().SetId(0, 0) triangleStrip.GetPointIds().SetId(1, 1) triangleStrip.GetPointIds().SetId(2, 2) triangleStrip.GetPointIds().SetId(3, 3) cells = vtk.vtkCellArray() cells.InsertNextCell(triangleStrip) polydata = vtk.vtkPolyData() polydata.SetPoints(points) polydata.SetStrips(cells) # Create an actor and mapper mapper = vtk.vtkDataSetMapper() mapper.SetInputData(polydata) actor = vtk.vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(colors.GetColor3d("Cyan")) actor.GetProperty().SetRepresentationToWireframe() # Create a renderer, render window, and interactor renderer = vtk.vtkRenderer() renderWindow = vtk.vtkRenderWindow() renderWindow.SetWindowName("Triangle Strip") renderWindow.AddRenderer(renderer) renderWindowInteractor = vtk.vtkRenderWindowInteractor() renderWindowInteractor.SetRenderWindow(renderWindow) renderer.AddActor(actor) renderer.SetBackground(colors.GetColor3d("DarkGreen")) renderWindow.Render() renderWindowInteractor.Start() if __name__ == '__main__': main()