# Vol

VTKExamples/Python/StructuredPoints/Vol

### Code

Vol.py

    #!/usr/bin/env python

    import vtk

    def main():
        colors = vtk.vtkNamedColors()

        renderer = vtk.vtkRenderer()
        renWin = vtk.vtkRenderWindow()
        renWin.AddRenderer(renderer)
        iren = vtk.vtkRenderWindowInteractor()
        iren.SetRenderWindow(renWin)

        vol = vtk.vtkStructuredPoints()
        vol.SetDimensions(26, 26, 26)
        vol.SetOrigin(-0.5, -0.5, -0.5)
        sp = 1.0 / 25.0
        vol.SetSpacing(sp, sp, sp)

        scalars = vtk.vtkDoubleArray()
        scalars.SetNumberOfComponents(1)
        scalars.SetNumberOfTuples(26 * 26 * 26)
        for k in range(0, 26):
            z = -0.5 + k * sp
            kOffset = k * 26 * 26
            for j in range(0, 26):
                y = -0.5 + j * sp
                jOffset = j * 26
                for i in range(0, 26):
                    x = -0.5 + i * sp
                    s = x * x + y * y + z * z - (0.4 * 0.4)
                    offset = i + jOffset + kOffset
                    scalars.InsertTuple1(offset, s)
        vol.GetPointData().SetScalars(scalars)

        contour = vtk.vtkContourFilter()
        contour.SetInputData(vol)
        contour.SetValue(0, 0.0)

        volMapper = vtk.vtkPolyDataMapper()
        volMapper.SetInputConnection(contour.GetOutputPort())
        volMapper.ScalarVisibilityOff()
        volActor = vtk.vtkActor()
        volActor.SetMapper(volMapper)
        volActor.GetProperty().EdgeVisibilityOn()
        volActor.GetProperty().SetColor(colors.GetColor3d("Salmon"))
        renderer.AddActor(volActor)
        renderer.SetBackground(colors.GetColor3d("SlateGray"))
        renWin.SetSize(512, 512)

        # Interact with the data.
        renWin.Render()

        iren.Start()

    if __name__ == "__main__":
        main()