[vtkusers] vtkFollower/vtkVectorText and SetScale Problem...
Andrea Gavana
andrea.gavana at polymtl.ca
Tue Jul 13 15:28:38 EDT 2004
No one has a solution? I thought that many people use vtkVectorText +
vtkFollower for 3D applications... and I think that the use of SetScale is
wide... if I reformulate the question:
How can I adjust the scale of vtkVectorText (or vtkFollower) when I use
SetScale on other actors (wireframe, surfaces...) in order to let vtkVectorText
mantain its correct position? And first of all, is this possible? And if I can
not, is this a bug/undocumented "feature" of vtkVectorText/vtkFollower?
It is really important, if someone else has a different solution (also with
other vtk actors) in order to obtain the same result, everything is welcome.
Thank you for every suggestion.
Andrea.
Selon Andrea Gavana <andrea.gavana at polymtl.ca>:
> Hello Paul,
>
> unfortunately, this does not help me a lot... I use a vtkFollower
> together with a vtkVectorText, that is a bit different wrt what you are doing
>
> (or at least it seems different to me). Now I am able to correctly give the
> position to the vtkFollower, but when I change the Scale of other actors
> (like
> a 3D surface, wireframe, polydata line and so on), the vtkVectorText goes up,
>
> far away from the original position, and there is no way to get it at the
> correct position. What I do is:
>
> atext = vtkpython.vtkVectorText()
> atext.SetText("MY WELL")
> textMapper = vtkpython.vtkPolyDataMapper()
> textMapper.SetInput(atext.GetOutput())
> textActor = vtkpython.vtkFollower()
> textActor.SetMapper(textMapper)
>
> # 3D GRID EXTENSION
> xmin, xmax, ymin, ymax, zmin, zmax = actsurface.GetBounds()
>
> # HERE I SET THE VTKVECTORTEXT SCALE WRT THE 3D GRID EXTENSION
> scale = max((xmax-xmin),(ymax-ymin),(zmax-zmin))/100.0
>
> textActor.GetProperty().SetColor(1,1,1)
> xmin, xmax, ymin, ymax, zmin, zmax = textActor.GetBounds()
> xl = (xmax - xmin)/2.0
> yl = (ymax - ymin)/2.0
> zl = (zmax - zmin)/2.0
>
> textActor.SetScale(scale,scale,scale)
> textActor.SetPosition(self.wellt[0,0]-xl,self.wellt[0,1]-yl,(self.wellt[0,2]-
> zl))
>
> When I change the scale of the other actors, the vtkvectortext gets messed
> up,
> no matter what I do... I can change its scale, its position, nothing
> happens...
> Does anyone have a suggestion? It starts to appear to me like a bug.
>
> Thanks for your suggestions.
>
> Andrea.
>
More information about the vtkusers
mailing list