[vtk-developers] vtkVectorText -- to deprecate or not?

Julien Finet julien.finet at kitware.com
Tue Oct 16 17:01:05 EDT 2012


How about vtkSmartTextActor instead? 
That seems more scalable (in case we add more text actors in the future)

Julien.

On Oct 16, 2012, at 1:38 PM, David Gobbi <david.gobbi at gmail.com> wrote:

> The vtkAxisActor is the only code that I can see that would be high
> priority for switching over to vtkTextActor3D.   The only other
> classes that use vtkVectorText are vtkAnnotatedCubeActor, which
> should probably continue to use vtkVectorText, and a few widgets:
> 
> vtkAbstractPolygonalHandleRepresentation3D.cxx
> vtkAngleRepresentation3D.cxx
> vtkAxesTransformRepresentation.cxx
> vtkDistanceRepresentation3D.cxx
> vtkLineRepresentation.cxx
> vtkSliderRepresentation3D.cxx
> 
> The changes to the widgets should be OK'd by whoever is
> using/maintaining those widgets.
> 
> Deprecating vtkVectorText would be going too far, because it does
> something unique and useful, as noted by Bill.
> 
> - David
> 
> 
> On Tue, Oct 16, 2012 at 2:20 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>> I guess the only advantage of vtkVectorText is that it is a source that
>> produces polygonal letters. It can be used in a pipeline.
>> 
>> 
>> On Tue, Oct 16, 2012 at 1:09 PM, David Lonie <david.lonie at kitware.com>
>> wrote:
>>> 
>>> Hi list,
>>> 
>>> I'm writing an (optional) extension to VTK that will override
>>> vtkTextActor with a "smart" math text actor that will switch between
>>> FreeType rendering for plain text and MathText equation rendering for
>>> strings containing MathText markup. The plan is to enable this in
>>> ParaView, so that any visible text field in a RenderView will
>>> automatically have the ability to display equations.
>>> 
>>> To this end, I've added a vtkSmartMathTextActor and
>>> vtkSmartMathTextActor3D, designed to be drop-in replacements for
>>> vtkTextActor and vtkTextActor3D. Unfortunately, most of the 3D text
>>> rendering in VTK/ParaView is done using vtkVectorText, which is quite
>>> different from the other classes.
>>> 
>>> While vtkTextActor3D is a stand-alone actor that uses FreeType to
>>> generate a texture which is rendered to the device, vtkVectorText
>>> derives from PolyDataAlgorithm and simply assembles hardcoded
>>> polydata, character by character.
>>> 
>>> I propose a long-term deprecation period for vtkVectorText, favoring
>>> vtkTextActor3D, for the following reasons:
>>> 
>>> * Limited supported character set:
>>>    Only ascii codes 33-126 + '\n' are available
>>> * Limited font support:
>>>    Only a single hardcoded sans-serif font is available,
>>>    while FreeType has at least serif, sans-serif, and monospace,
>>>    as well as (optional) font config support for access to
>>>    system fonts.
>>> * No font properties:
>>>    In addition to only a single font family, there is only one
>>>    version of it. vtkVectorText doesn't know anything about
>>>    vtkTextProperty, so bold, italics, justification, linespacing,
>>>    etc, etc are fixed.
>>> * Inflexible for providing custom implementations:
>>>    Polydata output is quite unusual for a text layout engine,
>>>    and producing such is difficult to re-implement.
>>> 
>>> In short, there just doesn't seem to be much reason for keeping this
>>> class around when there is a much more powerful, easier-to-use
>>> alternative.
>>> 
>>> While I think there is a strong argument for using vtkTextActor3D
>>> instead of vtkVectorText, perhaps deprecating the class would be
>>> overkill. In that case, I suggest encouraging new code to use the
>>> vtkTextActor3D class, and to start refactoring existing classes (e.g.
>>> vtkAxisActor, etc) to use vtkTextActor3D internally.
>>> 
>>> Thoughts? Suggestions? Agreement? Disagreement?
>>> 
>>> Dave
>>> _______________________________________________
>>> Powered by www.kitware.com
>>> 
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>> 
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtk-developers
>>> 
>> 
>> 
>> 
>> --
>> Unpaid intern in BillsBasement at noware dot com
>> 
>> 
>> _______________________________________________
>> Powered by www.kitware.com
>> 
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtk-developers
>> 
>> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtk-developers
> 



More information about the vtk-developers mailing list