You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.2 KiB
C++
113 lines
3.2 KiB
C++
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: vtkTextSource.h
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
/**
|
|
* @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"
|
|
|
|
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;
|
|
};
|
|
|
|
#endif
|