<div>I am learning VTK and I am adapting some example code of VTK to experiment with it.  A simple tast I am doing is to blank some cells of a structuredgrid, but somehow could not get it work.  I printed the IsCellVisible flag for those cells I try to blank, and all are zero.  So it really puzzeled me why those cells are always visible on the visualization.  I appreciate your input very much. </div>

<div> </div>
<div>Best Regards!</div>
<div> </div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">&#39;&#39;&#39;</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    My first vtk code </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    Manually generate a structured grid     </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">&#39;&#39;&#39;</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">import vtk</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">from math import sin,  cos</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">from random import random</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">dims = [30,  20,  11]</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">nd = dims[0] * dims[1] * dims[2]</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">sgrid = vtk.vtkStructuredGrid()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">sgrid.SetDimensions(dims)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">for i in range(40,  50):</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgrid.BlankCell(i)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    s = sgrid.IsCellVisible(i)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    print s</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">pts = vtk.vtkPoints()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">pts.Allocate(nd)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">vectors = vtk.vtkFloatArray()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">vectors.SetNumberOfComponents(1)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">vectors.SetNumberOfTuples(nd)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">dz = 2.0 / (dims[2] - 1)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">rmin = 0.5</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">rmax = 1.0</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">dr = (rmax - rmin) / (dims[1] - 1)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">x = [0,  0,  0]</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">v = [0,  0,  0]</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">for k in range(0,  dims[2]) :</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    x[2] = -1.0 + k * dz</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    kOffset = k * dims[0] * dims[1]</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    for j in range(0,  dims[1]):        </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">        r = rmin + j * dr</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">        jOffset = j * dims[0]</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">        for i in range(0,  dims[0]):</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            theta = i * vtk.vtkMath.RadiansFromDegrees(180.0 / (dims[0]-1))</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            x[0] = r * cos(theta)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            x[1] = r * sin(theta)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            v[0] = -x[1]</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            v[1] = x[0]</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            offset = i + jOffset + kOffset</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            pts.InsertPoint(offset,  x)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            #vectors.InsertTuple(offset,  v)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            #vectors.SetValue(offset,  random())          </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">cnt = 0</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">for k in range(0,  dims[2]-1):</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    for j in range(0,  dims[1]-1):</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">        for i in range(0,  dims[0]-1):</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            vectors.SetValue(cnt,  cnt)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">            cnt += 1</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">        </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">sgrid.SetPoints(pts)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">#sgrid.GetPointData().SetVectors(vectors)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">vectors.SetName(&quot;HU&quot;)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">#sgrid.GetPointData().AddArray(vectors)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">sgrid.GetCellData().AddArray(vectors)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">for i in range(40,  50):</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    s = sgrid.IsCellVisible(i)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    print s</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">#hedgehog = vtk.vtkHedgeHog(); </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">#hedgehog.SetInput(sgrid)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">#hedgehog.SetScaleFactor(0.1)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">sgridOutline = vtk.vtkOutlineFilter()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">sgridOutline.SetInput(sgrid)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">lut = vtk.vtkLookupTable()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">#lut.SetNumberOfColors(256)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">#lut.SetHueRange(0, 1)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">def CreateSgridActor(imin,  imax,  jmin,  jmax,  kmin,  kmax):</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridFilter = vtk.vtkStructuredGridGeometryFilter()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridFilter.SetInput(sgrid)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridFilter.SetExtent(imin,  imax,  jmin,  jmax,  kmin,  kmax)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridMapper = vtk.vtkPolyDataMapper()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridMapper.SetLookupTable(lut)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridMapper.SetInput(sgridFilter.GetOutput())    </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridMapper.SetScalarModeToUseCellFieldData()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridMapper.SelectColorArray(&quot;HU&quot;)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridMapper.SetScalarRange(0,  dims[0]*dims[1]*dims[2])</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridActor = vtk.vtkActor()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    sgridActor.SetMapper(sgridMapper)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">    return sgridActor</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren = vtk.vtkRenderer()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">renWin = vtk.vtkRenderWindow()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">renWin.AddRenderer(ren)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">iren = vtk.vtkRenderWindowInteractor()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">iren.SetRenderWindow(renWin)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.AddActor(CreateSgridActor(0,  0,  0,  dims[1],  0,  dims[2]))</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.AddActor(CreateSgridActor(0,  dims[0],  0,  0,  0,  dims[2]))</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.AddActor(CreateSgridActor(0,  dims[0],  0,  dims[1],  0,  0))</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.AddActor(CreateSgridActor(dims[0]-1,  dims[0]-1,  0,  dims[1],  0,  dims[2]))</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.AddActor(CreateSgridActor(0,  dims[0],  dims[1]-1,  dims[1]-1,  0,  dims[2]))</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.AddActor(CreateSgridActor(0,  dims[0],  0,  dims[1],  dims[2]-1,  dims[2]-1))</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"># colorbar</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">colorbar = vtk.vtkScalarBarActor()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">colorbar.SetLookupTable(lut)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">colorbar.SetTitle(&quot;HU&quot;)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">colorbar.SetNumberOfLabels(4)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.AddActor2D(colorbar)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">#ren.SetBackground(1,  1,  1)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.ResetCamera()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.GetActiveCamera().Elevation(60)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.GetActiveCamera().Azimuth(30)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">ren.GetActiveCamera().Zoom(0.8)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">renWin.SetSize(500,  500)</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace"> </font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">iren.Initialize()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">renWin.Render()</font></div>
<div><font style="BACKGROUND-COLOR:#ffffff" color="#3366ff" face="courier new,monospace">iren.Start()</font></div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>