ColoredTriangle
Repository source: 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()