ColoredTriangle
vtk-examples/Python/PolyData/ColoredTriangle
Decription¶
Creates a file called TestTriangleColored.vtp.
Question
If you have a question about this example, please use the VTK Discourse Forum
Code¶
ColoredTriangle.py
#!/usr/bin/env python
from vtkmodules.vtkCommonColor import vtkNamedColors
from vtkmodules.vtkCommonCore import (
vtkPoints,
vtkUnsignedCharArray
)
from vtkmodules.vtkCommonDataModel import (
vtkCellArray,
vtkPolyData,
vtkTriangle
)
from vtkmodules.vtkIOXML import vtkXMLPolyDataWriter
def get_program_parameters():
import argparse
description = 'Generate a colored triangle, then write a .vtp file.'
epilogue = '''
'''
parser = argparse.ArgumentParser(description=description, epilog=epilogue)
parser.add_argument('filename', help='A required vtp filename.', nargs='?',
const='TestColoredTriangle.vtp',
type=str, default='TestColoredTriangle.vtp')
args = parser.parse_args()
return args.filename
def main():
colors = vtkNamedColors()
filename = get_program_parameters()
# setup points and vertices
Points = vtkPoints()
Triangles = vtkCellArray()
Points.InsertNextPoint(1.0, 0.0, 0.0)
Points.InsertNextPoint(0.0, 0.0, 0.0)
Points.InsertNextPoint(0.0, 1.0, 0.0)
Triangle = vtkTriangle()
Triangle.GetPointIds().SetId(0, 0)
Triangle.GetPointIds().SetId(1, 1)
Triangle.GetPointIds().SetId(2, 2)
Triangles.InsertNextCell(Triangle)
# setup colors
Colors = vtkUnsignedCharArray()
Colors.SetNumberOfComponents(3)
Colors.SetName('Colors')
Colors.InsertNextTuple3(*colors.GetColor3ub('Red'))
Colors.InsertNextTuple3(*colors.GetColor3ub('Lime'))
Colors.InsertNextTuple3(*colors.GetColor3ub('Blue'))
polydata = vtkPolyData()
polydata.SetPoints(Points)
polydata.SetPolys(Triangles)
polydata.GetPointData().SetScalars(Colors)
polydata.Modified()
writer = vtkXMLPolyDataWriter()
writer.SetFileName(filename)
writer.SetInputData(polydata)
writer.Write()
if __name__ == '__main__':
main()