[vtkusers] vtkTextActor (Was vtkFollower/vtkVectorText and SetScale Problem...)

Jeff Lee jeff at cdnorthamerica.com
Wed Jul 14 08:55:54 EDT 2004


did you try
xactor.ScaledTextOn();
xactor.SetMaximumLineHeight(some_number_between_0_and_1);

you should never have to set the text scale again - it will adjust its 
size to stay a constant size.
-J

Andrea Gavana wrote:

>Hello NG,
>
>      by following the Jeff's kind suggestion, I've switched from vtkVectorText 
>to vtkTextActor, but my problem still remains... I can place the text in my 3D 
>world in the position I want, UNTIL I don't change the scale of other VTK 
>Actors. If I change the scale of my 3D grid as:
>
>gridActor = vtkpython.vtkActor()
>gridActor.SetScale(1.0,1.0,6.0)
>
>I loose the 3D text position, the text goes up (really UP in the vertical 
>direction), far away from its original position. I checked a little bit the doc 
>regarding vtkTextActor, but it seems to me that there is no way to use SetScale 
>on this actor.
>So I am at the starting point, but I can not believe that the solution to this 
>problem is so complex! It seems to me that it should be a very easy task, but 
>probably either I am wrong and it is impossible to do in VTK (!!!!) or I am so 
>inexperienced with VTK that I can not see a solution in front of my nose...
>
>Does anyone have a solution/pointer to this?
>
>Thank you for every suggestion.
>
>Andrea.
>
>Selon Jeff Lee <jeff at cdnorthamerica.com>:
>
>  
>
>>Andrea Gavana wrote:
>>
>>    
>>
>>>Selon Jeff Lee <jeff at cdnorthamerica.com>:
>>>
>>> 
>>>
>>>      
>>>
>>>>Hi Andrea,
>>>>Try vtkTextActor.  You can make it use scaled text (as a fraction of 
>>>>viewport height) and position it in world coordinates(it will follow 
>>>>that world coordinate, and always face the camera).  Have a look at the 
>>>>vtk examples for vtkTextActor linked from the man pages.
>>>>-Jeff
>>>>   
>>>>
>>>>        
>>>>
>>>Hello Jeff,
>>>
>>>     Thanks for your interest on my question. I've taken a look to the 
>>>examples provided for vtkTextActor (for Python, I only have TestText.py),
>>>      
>>>
>>but 
>>    
>>
>>>it seems to me that it can be used only to place text in a 2D world... and I
>>>      
>>>
>>>have a 3D structured grid filled with scalars and many other Actors in my
>>>      
>>>
>>VTK 
>>    
>>
>>>window. Am I wrong? Can I use it also in a 3D world with 3D coordinates to 
>>>positioning it?
>>> 
>>>
>>>      
>>>
>>yep, xactor.GetPositionCoordinate().SetCoordinateSystemToWorld() will do 
>>the trick.  Then xactor.GetPositionCoordinate().SetValue(0.0, 0.0, 0.0) 
>>will set the text position at 0,0,0.
>>-J
>>
>>    
>>
>>>Sorry for the probably silly question...
>>>
>>>Andrea.
>>>
>>>
>>> 
>>>
>>>      
>>>
>
>
>
>_______________________________________________
>This is the private VTK discussion list. 
>Please keep messages on-topic. Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
>Follow this link to subscribe/unsubscribe:
>http://www.vtk.org/mailman/listinfo/vtkusers
>
>
>  
>



More information about the vtkusers mailing list