[vtk] flipped normals question
    Randy Heiland 
    heiland at ncsa.uiuc.edu
       
    Tue Oct  5 18:05:13 EDT 1999
    
    
  
When I apply a vtkTransform with a negative Scale component to an Actor, it
seems to "lose its normals" (ever have days like that?) -- at least the
transformed actor isn't lit (but you can see it by going into wireframe).
Included is a simple Python script; below it, a similar Tcl script where I've
tried introducing flipped normals, etc..  What am I missing?
thanks,
--Randy
----------------------------------------------------------
#!/usr/local/bin/python
from libVTKCommonPython import *
from libVTKGraphicsPython import *
ren = vtkRenderer()
renWin = vtkRenderWindow()
renWin.AddRenderer(ren)
renWin.SetSize(300,300)
iren = vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
cone = vtkConeSource()
cone.SetResolution(8)
coneMapper = vtkPolyDataMapper()
coneMapper.SetInput(cone.GetOutput())
coneActor = vtkActor()
coneActor.SetMapper(coneMapper)
xform=vtkTransform()
xform.Identity()
xform.Translate(2,0,0)
xform.Scale(1,1,-1)
coneFlipActor = vtkActor()
coneFlipActor.SetMapper(coneMapper)
coneFlipActor.GetProperty().SetColor(1,0,0)
coneFlipActor.SetUserMatrix(xform.GetMatrix())
ren.AddActor(coneActor)
ren.AddActor(coneFlipActor)
# enable user interface interactor
iren.Initialize()
iren.Start()
----------------------------------------------------------
catch {load vtktcl}
# user interface command widget
source ../../examplesTcl/vtkInt.tcl
# create a rendering window and renderer
vtkRenderer ren1
  ren1 TwoSidedLightingOn
vtkRenderWindow renWin
    renWin AddRenderer ren1
vtkRenderWindowInteractor iren
    iren SetRenderWindow renWin
# create an actor and give it cone geometry
vtkConeSource cone
  cone SetResolution 8
vtkPolyDataMapper coneMapper
  coneMapper SetInput [cone GetOutput]
vtkActor coneActor
  coneActor SetMapper coneMapper
vtkTransform xform
  xform Identity
  xform Translate 2 0 0
  xform Scale 1 1 -1
vtkCleanPolyData cleaner
  cleaner SetInput [cone GetOutput]
#  coneFlipActor SetMapper coneMapper
  coneFlipActor SetMapper flipMapper
  [coneFlipActor GetProperty] SetColor 1 0 0
  coneFlipActor SetUserMatrix [xform GetMatrix]
  [coneFlipActor GetProperty] BackfaceCullingOff
# assign actors to the renderer
ren1 AddActor coneActor
ren1 AddActor coneFlipActor
# enable user interface interactor
iren SetUserMethod {wm deiconify .vtkInteract}
iren Initialize
# prevent the tk window from showing up then start the event loop
wm withdraw .
vtkPolyDataNormals normals
#  normals SetInput [cone GetOutput]
  normals SetInput [cleaner GetOutput]
  normals FlipNormalsOn
vtkPolyDataMapper flipMapper
  flipMapper SetInput [normals GetOutput]
vtkActor coneFlipActor
-----------------------------------------------------------------------------
This is the private VTK discussion list.  Please keep messages on-topic.
Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at gsao.med.ge.com>.  For help, send message body containing
"info vtkusers" to the same address.     Live long and prosper.
-----------------------------------------------------------------------------
    
    
More information about the vtkusers
mailing list