[vtkusers] Strucutred Grid and blanking
    Lorenzo Bernardi 
    lorenzo.bernardi at lpn.cnrs.fr
       
    Sun Aug  2 17:24:54 EDT 2009
    
    
  
Dear all,
   I'd like to blank sites from a structure grid and use warpscalar. I'm 
using the BlankPoint method of the vtkStructuredGrid class but it 
doesn't work. I'm missing something obvious?
My use of blanking on the structured grid is to represent the data on 
the Cubic centered lattice. Is blanking made for this kind of things?
  Does someone have and example of how to use vtkBlankStructuredGrid 
with a StructuredGrid object?
my code is given below. If I comment the blanking part I have a plane 
otherwise I have nothing
sincerely
L.
#!/usr/bin/python
import vtk
import math
Vpoints=vtk.vtkPoints()
Vdata=vtk.vtkFloatArray()
Vblank=vtk.vtkUnsignedCharArray()
imax=10
jmax=10
kmax=10
Vsg=vtk.vtkStructuredGrid()
Vsg.SetDimensions(imax,jmax,kmax)
l=0
for k in range(kmax):
    for j in range(jmax):
        for i in range(imax):
            if (i+j+k)%2 == 1:
                Vsg.BlankPoint(l)
            Vpoints.InsertPoint(l,i,j,k)
            
Vdata.InsertValue(l,2.+math.cos(i)*math.cos(j)*math.cos(k))           
            l+=1
   
Vsg.SetPoints(Vpoints)
Vsg.GetPointData().SetScalars(Vdata)
plane = vtk.vtkStructuredGridGeometryFilter()
plane.SetInputConnection(Vsg.GetProducerPort())
plane.SetExtent(0, 40, 0, 40, 1, 1)
warp = vtk.vtkWarpScalar()
warp.SetInputConnection(plane.GetOutputPort())
warp.UseNormalOn()
warp.SetNormal(.0, 0.0, 1.0)
warp.SetScaleFactor(2.5)
normals = vtk.vtkPolyDataNormals()
normals.SetInput(warp.GetPolyDataOutput())
normals.SetFeatureAngle(60)
planeMapper = vtk.vtkPolyDataMapper()
planeMapper.SetInputConnection(normals.GetOutputPort())
planeMapper.SetScalarRange(Vsg.GetScalarRange())
planeActor = vtk.vtkActor()
planeActor.SetMapper(planeMapper)
outline = vtk.vtkStructuredGridOutlineFilter()
outline.SetInputConnection(Vsg.GetProducerPort())
outlineMapper = vtk.vtkPolyDataMapper()
outlineMapper.SetInputConnection(outline.GetOutputPort())
outlineActor = vtk.vtkActor()
outlineActor.SetMapper(outlineMapper)
outlineActor.GetProperty().SetColor(0, 0, 0)
ren = vtk.vtkRenderer()
ren.AddActor(outlineActor)
ren.AddActor(planeActor)
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
ren.SetBackground(1, 1, 1)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
iren.Initialize()
renWin.Render()
iren.Start()
    
    
More information about the vtkusers
mailing list