[vtkusers] Actor color not changing with ThinkpLAteSplineTransformFilter

Jothy jothybasu at gmail.com
Tue Aug 24 11:54:22 EDT 2010


Hi all,

Could anyone turn the black sphere into some other color!!

Should I specify anythging to the DataSetMapper?

Here is the code

import vtk
import numpy as np

def CreateSphere(Theta,Phi,Radius):
    sphere=vtk.vtkSphereSource()
    sphere.SetThetaResolution(Theta)
    sphere.SetPhiResolution(Phi)
    sphere.SetRadius(Radius)
    #sphere.SetCenter(0,0,0)
    return sphere.GetOutput()


CTV=CreateSphere(100,100,20)
b=CTV.GetBounds()#CTVBounds
SourcePoints=vtk.vtkPoints()
SourcePoints.SetNumberOfPoints(8)
SourcePoints.SetPoint( 0, b[0], b[3], b[5])
SourcePoints.SetPoint( 1, b[1], b[3], b[5])
SourcePoints.SetPoint( 2, b[0], b[3], b[4])
SourcePoints.SetPoint( 3, b[1], b[3], b[4])
SourcePoints.SetPoint( 4, b[0], b[2], b[5])
SourcePoints.SetPoint( 5, b[1], b[2], b[5])
SourcePoints.SetPoint( 6, b[0], b[2], b[4])
SourcePoints.SetPoint( 7, b[1], b[2], b[4])


TargetPoints=vtk.vtkPoints()
TargetPoints.SetNumberOfPoints(8)
xm,ym,zm,xp,yp,zp=10,10,10,20,20,20
TargetPoints.SetPoint( 0, b[0]+xm, b[3]+yp, b[5]+zp )
TargetPoints.SetPoint( 1, b[1]+xp, b[3]+yp, b[5]+zp )
TargetPoints.SetPoint( 2, b[0]+xm, b[3]+yp, b[4]+zm )
TargetPoints.SetPoint( 3, b[1]+xp, b[3]+yp, b[4]+zm )
TargetPoints.SetPoint( 4, b[0]+xm, b[2]+ym, b[5]+zp )
TargetPoints.SetPoint( 5, b[1]+xp, b[2]+ym, b[5]+zp )
TargetPoints.SetPoint( 6, b[0]+xm, b[2]+ym, b[4]+zm )
TargetPoints.SetPoint( 7, b[1]+xp, b[2]+ym, b[4]+zm )



ThinPlateTransform=vtk.vtkThinPlateSplineTransform()
ThinPlateTransform.SetSourceLandmarks(SourcePoints)
ThinPlateTransform.SetTargetLandmarks(TargetPoints)
ThinPlateTransform.SetBasisToR2LogR()

GeneralTransform=vtk.vtkGeneralTransform()
GeneralTransform.SetInput(ThinPlateTransform )
#GeneralTransform.Concatenate(ThinPlateTransform.GetInverse())
#GeneralTransform.Concatenate(ThinPlateTransform)

TransformFilter = vtk.vtkTransformPolyDataFilter()
TransformFilter.SetInput(CTV)
TransformFilter.SetTransform(GeneralTransform )

CTV.Modified()
ThinPlateTransform.Modified()

Mapper1=vtk.vtkDataSetMapper()
Mapper1.SetInputConnection(TransformFilter.GetOutputPort())

Mapper2=vtk.vtkDataSetMapper()
Mapper2.SetInput(CTV)


Actor1=vtk.vtkActor()
Actor1.GetProperty().SetColor(1,1,0)
Actor1.SetMapper(Mapper1)


Actor2=vtk.vtkActor()
Actor2.GetProperty().SetColor(1,1,0)
Actor2.SetMapper(Mapper2)

#Create a renderer, render window, and interactor
renderer =vtk.vtkRenderer();
renderWindow =vtk.vtkRenderWindow();
renderWindow.AddRenderer(renderer);
renderWindowInteractor =vtk.vtkRenderWindowInteractor();
renderWindowInteractor.SetRenderWindow(renderWindow);

#Add the actor to the scene
renderer.AddActor(Actor1);
renderer.AddActor(Actor2);
renderer.SetBackground(1,1,1); # Background color white

#Render and interact
renderWindow.Render();
renderWindowInteractor.Start();


Many thanks!

Jothy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100824/f93f12dc/attachment.htm>


More information about the vtkusers mailing list