VTK  9.3.1
vtkRenderedTreeAreaRepresentation.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
13 #ifndef vtkRenderedTreeAreaRepresentation_h
14 #define vtkRenderedTreeAreaRepresentation_h
15 
17 #include "vtkViewsInfovisModule.h" // For export macro
18 
19 VTK_ABI_NAMESPACE_BEGIN
20 class vtkActor;
21 class vtkActor2D;
22 class vtkAreaLayout;
25 class vtkEdgeCenters;
28 class vtkPolyData;
30 class vtkPolyDataMapper;
31 class vtkScalarBarWidget;
32 class vtkTextProperty;
35 class vtkVertexDegree;
37 
38 class VTKVIEWSINFOVIS_EXPORT vtkRenderedTreeAreaRepresentation : public vtkRenderedRepresentation
39 {
40 public:
43  void PrintSelf(ostream& os, vtkIndent indent) override;
44 
51  void SetLabelRenderMode(int mode) override;
52 
54 
57  virtual void SetAreaLabelArrayName(const char* name);
58  virtual const char* GetAreaLabelArrayName();
60 
62 
65  virtual void SetAreaSizeArrayName(const char* name);
66  virtual const char* GetAreaSizeArrayName();
68 
70 
74  virtual void SetAreaLabelPriorityArrayName(const char* name);
75  virtual const char* GetAreaLabelPriorityArrayName();
77 
79 
82  virtual void SetGraphEdgeLabelArrayName(const char* name)
83  {
84  this->SetGraphEdgeLabelArrayName(name, 0);
85  }
86  virtual void SetGraphEdgeLabelArrayName(const char* name, int idx);
87  virtual const char* GetGraphEdgeLabelArrayName() { return this->GetGraphEdgeLabelArrayName(0); }
88  virtual const char* GetGraphEdgeLabelArrayName(int idx);
90 
92 
96  {
97  this->SetGraphEdgeLabelTextProperty(tp, 0);
98  }
99  virtual void SetGraphEdgeLabelTextProperty(vtkTextProperty* tp, int idx);
101  {
102  return this->GetGraphEdgeLabelTextProperty(0);
103  }
104  virtual vtkTextProperty* GetGraphEdgeLabelTextProperty(int idx);
106 
108 
112  vtkSetStringMacro(AreaHoverArrayName);
113  vtkGetStringMacro(AreaHoverArrayName);
115 
117 
120  virtual void SetAreaLabelVisibility(bool vis);
121  virtual bool GetAreaLabelVisibility();
122  vtkBooleanMacro(AreaLabelVisibility, bool);
124 
126 
129  virtual void SetAreaLabelTextProperty(vtkTextProperty* tp);
130  virtual vtkTextProperty* GetAreaLabelTextProperty();
132 
134 
137  virtual void SetGraphEdgeLabelVisibility(bool vis) { this->SetGraphEdgeLabelVisibility(vis, 0); }
138  virtual void SetGraphEdgeLabelVisibility(bool vis, int idx);
139  virtual bool GetGraphEdgeLabelVisibility() { return this->GetGraphEdgeLabelVisibility(0); }
140  virtual bool GetGraphEdgeLabelVisibility(int idx);
141  vtkBooleanMacro(GraphEdgeLabelVisibility, bool);
143 
145 
148  void SetAreaColorArrayName(const char* name);
149  const char* GetAreaColorArrayName();
151 
153 
156  virtual void SetColorAreasByArray(bool vis);
157  virtual bool GetColorAreasByArray();
158  vtkBooleanMacro(ColorAreasByArray, bool);
160 
162 
165  virtual void SetGraphEdgeColorArrayName(const char* name)
166  {
167  this->SetGraphEdgeColorArrayName(name, 0);
168  }
169  virtual void SetGraphEdgeColorArrayName(const char* name, int idx);
170  virtual const char* GetGraphEdgeColorArrayName() { return this->GetGraphEdgeColorArrayName(0); }
171  virtual const char* GetGraphEdgeColorArrayName(int idx);
173 
178  virtual void SetGraphEdgeColorToSplineFraction(int idx);
179 
181 
184  virtual void SetColorGraphEdgesByArray(bool vis) { this->SetColorGraphEdgesByArray(vis, 0); }
185  virtual void SetColorGraphEdgesByArray(bool vis, int idx);
186  virtual bool GetColorGraphEdgesByArray() { return this->GetColorGraphEdgesByArray(0); }
187  virtual bool GetColorGraphEdgesByArray(int idx);
188  vtkBooleanMacro(ColorGraphEdgesByArray, bool);
190 
192 
196  virtual void SetGraphHoverArrayName(const char* name) { this->SetGraphHoverArrayName(name, 0); }
197  virtual void SetGraphHoverArrayName(const char* name, int idx);
198  virtual const char* GetGraphHoverArrayName() { return this->GetGraphHoverArrayName(0); }
199  virtual const char* GetGraphHoverArrayName(int idx);
201 
203 
206  virtual void SetShrinkPercentage(double value);
207  virtual double GetShrinkPercentage();
209 
211 
214  virtual void SetGraphBundlingStrength(double strength)
215  {
216  this->SetGraphBundlingStrength(strength, 0);
217  }
218  virtual void SetGraphBundlingStrength(double strength, int idx);
219  virtual double GetGraphBundlingStrength() { return this->GetGraphBundlingStrength(0); }
220  virtual double GetGraphBundlingStrength(int idx);
222 
224 
230  virtual void SetGraphSplineType(int type, int idx);
231  virtual int GetGraphSplineType(int idx);
233 
235 
238  virtual void SetAreaLayoutStrategy(vtkAreaLayoutStrategy* strategy);
239  virtual vtkAreaLayoutStrategy* GetAreaLayoutStrategy();
241 
243 
248  virtual void SetAreaToPolyData(vtkPolyDataAlgorithm* areaToPoly);
249  vtkGetObjectMacro(AreaToPolyData, vtkPolyDataAlgorithm);
251 
253 
256  vtkSetMacro(UseRectangularCoordinates, bool);
257  vtkGetMacro(UseRectangularCoordinates, bool);
258  vtkBooleanMacro(UseRectangularCoordinates, bool);
260 
262 
266  virtual void SetAreaLabelMapper(vtkLabeledDataMapper* mapper);
267  vtkGetObjectMacro(AreaLabelMapper, vtkLabeledDataMapper);
269 
273  void ApplyViewTheme(vtkViewTheme* theme) override;
274 
276 
279  virtual void SetEdgeScalarBarVisibility(bool b);
280  virtual bool GetEdgeScalarBarVisibility();
282 
283 protected:
286 
288 
291  bool AddToView(vtkView* view) override;
292  bool RemoveFromView(vtkView* view) override;
294 
295  vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel) override;
296 
297  int FillInputPortInformation(int port, vtkInformation* info) override;
298 
300 
301  void PrepareForRendering(vtkRenderView* view) override;
302 
303  bool ValidIndex(int idx);
304 
305  void UpdateHoverHighlight(vtkView* view, int x, int y);
306 
308 
326 
327  vtkSetStringMacro(AreaSizeArrayNameInternal);
328  vtkGetStringMacro(AreaSizeArrayNameInternal);
330  vtkSetStringMacro(AreaColorArrayNameInternal);
331  vtkGetStringMacro(AreaColorArrayNameInternal);
333  vtkSetStringMacro(AreaLabelArrayNameInternal);
334  vtkGetStringMacro(AreaLabelArrayNameInternal);
336  vtkSetStringMacro(AreaLabelPriorityArrayNameInternal);
337  vtkGetStringMacro(AreaLabelPriorityArrayNameInternal);
339  vtkSetStringMacro(GraphEdgeColorArrayNameInternal);
340  vtkGetStringMacro(GraphEdgeColorArrayNameInternal);
342  vtkGetStringMacro(AreaHoverTextInternal);
343  vtkSetStringMacro(AreaHoverTextInternal);
344  char* AreaHoverTextInternal;
346 
348 
349 private:
351  void operator=(const vtkRenderedTreeAreaRepresentation&) = delete;
352 
353  class Internals;
354  Internals* Implementation;
355 };
356 
357 VTK_ABI_NAMESPACE_END
358 #endif
virtual bool GetGraphEdgeLabelVisibility()
Whether to show edge labels.
virtual void ApplyViewTheme(vtkViewTheme *vtkNotUsed(theme))
Apply a theme to this representation.
virtual void SetGraphEdgeLabelTextProperty(vtkTextProperty *tp)
The text property for the graph edge labels.
virtual vtkSelection * ConvertSelection(vtkView *view, vtkSelection *selection)
Convert the selection to a type appropriate for sharing with other representations through vtkAnnotat...
vtkSmartPointer< vtkWorldPointPicker > Picker
virtual void SetGraphHoverArrayName(const char *name)
The name of the array whose value appears when the mouse hovers over a graph edge.
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:40
vtkSmartPointer< vtkApplyColors > ApplyColors
vtkSmartPointer< vtkPolyDataMapper > HighlightMapper
Store vtkAlgorithm input/output information.
virtual void SetGraphEdgeColorToSplineFraction()
Set the color to be the spline fraction.
virtual const char * GetGraphEdgeColorArrayName()
The array to use for coloring edges.
vtkSmartPointer< vtkTreeLevelsFilter > TreeLevels
abstract superclass for all area layout strategies
virtual void SetGraphEdgeLabelArrayName(const char *name)
The array to use for edge labeling.
a actor that draws 2D data
Definition: vtkActor2D.h:34
vtkSmartPointer< vtkScalarBarWidget > EdgeScalarBar
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses should override this to connect inputs to the internal pipeline as necessary.
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:49
Adds an attribute array with the degree of each vertex.
vtkSmartPointer< vtkTreeFieldAggregator > TreeAggregation
virtual void SetLabelRenderMode(int)
Set the label render mode.
virtual bool AddToView(vtkView *vtkNotUsed(view))
Adds the representation to the view.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
static vtkRenderedRepresentation * New()
draw text labels at dataset points
vtkSmartPointer< vtkPolyDataMapper > AreaMapper
virtual double GetGraphBundlingStrength()
Set the bundling strength.
generate points at center of edges
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:33
layout a vtkTree into a tree map
Definition: vtkAreaLayout.h:31
Superclass for algorithms that produce only polydata as output.
The superclass for all views.
Definition: vtkView.h:48
virtual vtkTextProperty * GetGraphEdgeLabelTextProperty()
The text property for the graph edge labels.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual bool RemoveFromView(vtkView *vtkNotUsed(view))
Removes the representation to the view.
virtual void PrepareForRendering(vtkRenderView *view)
The view will call this method before every render.
virtual void SetGraphBundlingStrength(double strength)
Set the bundling strength.
virtual const char * GetGraphEdgeLabelArrayName()
The array to use for edge labeling.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
virtual void SetColorGraphEdgesByArray(bool vis)
Whether to color edges.
represent text properties.
aggregate field values from the leaves up the tree
build a label hierarchy for a graph or point set.
virtual bool GetColorGraphEdgesByArray()
Whether to color edges.
virtual void SetGraphEdgeColorArrayName(const char *name)
The array to use for coloring edges.
virtual std::string GetHoverStringInternal(vtkSelection *)
Subclasses may override this method to generate the hover text.
map vtkPolyData to graphics primitives
vtkSmartPointer< vtkVertexDegree > VertexDegree
A view containing a renderer.
Definition: vtkRenderView.h:49
adds level and leaf fields to a vtkTree
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual const char * GetGraphHoverArrayName()
The name of the array whose value appears when the mouse hovers over a graph edge.
Convert a selection from one type to another.
vtkSmartPointer< vtkPointSetToLabelHierarchy > AreaLabelHierarchy
find world x,y,z corresponding to display x,y,z
virtual void SetGraphEdgeLabelVisibility(bool vis)
Whether to show edge labels.
2D widget for manipulating a scalar bar