VTK  9.2.6
vtkLabelSizeCalculator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkLabelSizeCalculator.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
40 #ifndef vtkLabelSizeCalculator_h
41 #define vtkLabelSizeCalculator_h
42 
44 #include "vtkRenderingLabelModule.h" // For export macro
45 
46 class vtkIntArray;
47 class vtkTextRenderer;
48 class vtkStringArray;
49 class vtkTextProperty;
50 
51 class VTKRENDERINGLABEL_EXPORT vtkLabelSizeCalculator : public vtkPassInputTypeAlgorithm
52 {
53 public:
54  static vtkLabelSizeCalculator* New();
55  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
59 
65  virtual void SetFontProperty(vtkTextProperty* fontProp, int type = 0);
66  virtual vtkTextProperty* GetFontProperty(int type = 0);
68 
70 
74  vtkSetStringMacro(LabelSizeArrayName);
75  vtkGetStringMacro(LabelSizeArrayName);
77 
79 
83  vtkSetMacro(DPI, int);
84  vtkGetMacro(DPI, int);
86 
87 protected:
89  ~vtkLabelSizeCalculator() override;
90 
92  int RequestData(
93  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
94 
95  virtual vtkIntArray* LabelSizesForArray(vtkAbstractArray* labels, vtkIntArray* types);
96 
97  virtual void SetFontUtil(vtkTextRenderer* fontProp);
98  vtkGetObjectMacro(FontUtil, vtkTextRenderer);
99 
102 
103  int DPI;
104 
105  class Internals;
106  Internals* Implementation;
107 
108 private:
110  void operator=(const vtkLabelSizeCalculator&) = delete;
111 };
112 
113 #endif // vtkLabelSizeCalculator_h
Superclass for algorithms that produce output of the same type as input.
Store vtkAlgorithm input/output information.
Abstract superclass for all arrays.
a vtkAbstractArray subclass for strings
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:45
a simple class to control print indentation
Definition: vtkIndent.h:39
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
represent text properties.
Interface for generating images and path data from string data, using multiple backends.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store zero or more vtkInformation instances.
This filter takes an input dataset, an array to process (which must be a string array), and a text property.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkPassInputTypeAlgorithm * New()