1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-License-Identifier: BSD-3-Clause
/**
* @class vtkTextSource
* @brief create polygonal text
*
* vtkTextSource converts a text string into polygons. This way you can
* insert text into your renderings. It uses the 9x15 font from X Windows.
* You can specify if you want the background to be drawn or not. The
* characters are formed by scan converting the raster font into
* quadrilaterals. Colors are assigned to the letters using scalar data.
* To set the color of the characters with the source's actor property, set
* BackingOff on the text source and ScalarVisibilityOff on the associated
* vtkPolyDataMapper. Then, the color can be set using the associated actor's
* property.
*
* vtkVectorText generates higher quality polygonal representations of
* characters.
*
* @sa
* vtkVectorText
*/
#ifndef vtkTextSource_h
#define vtkTextSource_h
#include "vtkFiltersSourcesModule.h" // For export macro
#include "vtkPolyDataAlgorithm.h"
VTK_ABI_NAMESPACE_BEGIN
class VTKFILTERSSOURCES_EXPORT vtkTextSource : public vtkPolyDataAlgorithm
{
public:
vtkTypeMacro(vtkTextSource, vtkPolyDataAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent) override;
/**
* Construct object with no string set and backing enabled.
*/
static vtkTextSource* New();
///@{
/**
* Set/Get the text to be drawn.
*/
vtkSetStringMacro(Text);
vtkGetStringMacro(Text);
///@}
///@{
/**
* Controls whether or not a background is drawn with the text.
*/
vtkSetMacro(Backing, vtkTypeBool);
vtkGetMacro(Backing, vtkTypeBool);
vtkBooleanMacro(Backing, vtkTypeBool);
///@}
///@{
/**
* Set/Get the foreground color. Default is white (1,1,1). ALpha is always 1.
*/
vtkSetVector3Macro(ForegroundColor, double);
vtkGetVectorMacro(ForegroundColor, double, 3);
///@}
///@{
/**
* Set/Get the background color. Default is black (0,0,0). Alpha is always 1.
*/
vtkSetVector3Macro(BackgroundColor, double);
vtkGetVectorMacro(BackgroundColor, double, 3);
///@}
///@{
/**
* Set/get the desired precision for the output points.
* vtkAlgorithm::SINGLE_PRECISION - Output single-precision floating point.
* vtkAlgorithm::DOUBLE_PRECISION - Output double-precision floating point.
*/
vtkSetMacro(OutputPointsPrecision, int);
vtkGetMacro(OutputPointsPrecision, int);
///@}
protected:
vtkTextSource();
~vtkTextSource() override;
int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
char* Text;
vtkTypeBool Backing;
double ForegroundColor[4];
double BackgroundColor[4];
int OutputPointsPrecision;
private:
vtkTextSource(const vtkTextSource&) = delete;
void operator=(const vtkTextSource&) = delete;
};
VTK_ABI_NAMESPACE_END
#endif
|