[vtkusers] picking actor
Prabhu Ramachandran
prabhu at aero.iitm.ernet.in
Thu Apr 3 12:04:10 EST 2003
>>>>> "JH" == John Hunter <jdhunter at ace.bsd.uchicago.edu> writes:
JH> I have a class Marker that is derived from vtk.vtkActor in
JH> python, and a scene that is populated with a number of these
JH> markers and some other actors that I don't want to pick. I
JH> pick a marker with
[snip]
JH> However, when I get the string representation of the actor, it
JH> reports itself as a vtkOpenGLActor, and does not have the
JH> attributes of my derived class. I need to be able to get the
JH> instance of my derived class. I can imagine a way to hack
JH> this out, eg by comparing some attribute of the vtkOpenGLActor
JH> with the instances of my Marker class (like the center, which
JH> will be unique for my markers), but I suspect there is an
JH> elegant, right way to do it.
That is a little surprising. I'm way out of touch on this but the
following fragment works fine for me with VTK off CVS, Python2.2.
In [2]: import vtk
In [3]: class MyMapper(vtk.vtkPolyDataMapper):
...: def test(self):
...: print "MyMapper.test()"
...: print self.a
...:
In [4]: c = vtk.vtkConeSource()
In [5]: m = MyMapper ()
In [6]: m.SetInput(c.GetOutput())
In [7]: m.a = 100
In [8]: m.test()
MyMapper.test()
100
In [9]: a = vtk.vtkActor()
In [10]: a.SetMapper(m)
In [11]: m1 = a.GetMapper ()
In [12]: m1.test()
MyMapper.test()
100
cheers,
prabhu
p.s. I'm using the excellent IPython interpreter
(http://ipython.scipy.org)
More information about the vtkusers
mailing list