VTK
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 
43 #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 
91  int FillInputPortInformation( int port, vtkInformation* info ) override;
92  int RequestData(
93  vtkInformation* request,
94  vtkInformationVector** inInfo,
95  vtkInformationVector* outInfo ) override;
96 
97  virtual vtkIntArray* LabelSizesForArray( vtkAbstractArray* labels, vtkIntArray* types );
98 
99  virtual void SetFontUtil( vtkTextRenderer* fontProp );
100  vtkGetObjectMacro(FontUtil,vtkTextRenderer);
101 
102  vtkTextRenderer* FontUtil;
103  char* LabelSizeArrayName;
104 
105  int DPI;
106 
107  class Internals;
108  Internals* Implementation;
109 
110 private:
111  vtkLabelSizeCalculator( const vtkLabelSizeCalculator& ) = delete;
112  void operator = ( const vtkLabelSizeCalculator& ) = delete;
113 };
114 
115 #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
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.
static vtkPassInputTypeAlgorithm * New()