VTK
vtkRenderedTreeAreaRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRenderedTreeAreaRepresentation.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 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
32 #ifndef vtkRenderedTreeAreaRepresentation_h
33 #define vtkRenderedTreeAreaRepresentation_h
34 
35 #include "vtkViewsInfovisModule.h" // For export macro
37 
38 class vtkActor;
39 class vtkActor2D;
40 class vtkAreaLayout;
43 class vtkEdgeCenters;
47 class vtkPolyData;
49 class vtkPolyDataMapper;
50 class vtkScalarBarWidget;
51 class vtkTextProperty;
54 class vtkVertexDegree;
56 
57 class VTKVIEWSINFOVIS_EXPORT vtkRenderedTreeAreaRepresentation : public vtkRenderedRepresentation
58 {
59 public:
62  void PrintSelf(ostream& os, vtkIndent indent) override;
63 
70  void SetLabelRenderMode(int mode) override;
71 
73 
76  virtual void SetAreaLabelArrayName(const char* name);
77  virtual const char* GetAreaLabelArrayName();
79 
81 
84  virtual void SetAreaSizeArrayName(const char* name);
85  virtual const char* GetAreaSizeArrayName();
87 
89 
93  virtual void SetAreaLabelPriorityArrayName(const char* name);
94  virtual const char* GetAreaLabelPriorityArrayName();
96 
98 
101  virtual void SetGraphEdgeLabelArrayName(const char* name)
102  { this->SetGraphEdgeLabelArrayName(name, 0); }
103  virtual void SetGraphEdgeLabelArrayName(const char* name, int idx);
104  virtual const char* GetGraphEdgeLabelArrayName()
105  { return this->GetGraphEdgeLabelArrayName(0); }
106  virtual const char* GetGraphEdgeLabelArrayName(int idx);
108 
110 
114  { this->SetGraphEdgeLabelTextProperty(tp, 0); }
115  virtual void SetGraphEdgeLabelTextProperty(vtkTextProperty* tp, int idx);
117  { return this->GetGraphEdgeLabelTextProperty(0); }
118  virtual vtkTextProperty* GetGraphEdgeLabelTextProperty(int idx);
120 
122 
126  vtkSetStringMacro(AreaHoverArrayName);
127  vtkGetStringMacro(AreaHoverArrayName);
129 
131 
134  virtual void SetAreaLabelVisibility(bool vis);
135  virtual bool GetAreaLabelVisibility();
136  vtkBooleanMacro(AreaLabelVisibility, bool);
138 
140 
143  virtual void SetAreaLabelTextProperty(vtkTextProperty* tp);
144  virtual vtkTextProperty* GetAreaLabelTextProperty();
146 
148 
151  virtual void SetGraphEdgeLabelVisibility(bool vis)
152  { this->SetGraphEdgeLabelVisibility(vis, 0); }
153  virtual void SetGraphEdgeLabelVisibility(bool vis, int idx);
155  { return this->GetGraphEdgeLabelVisibility(0); }
156  virtual bool GetGraphEdgeLabelVisibility(int idx);
157  vtkBooleanMacro(GraphEdgeLabelVisibility, bool);
159 
161 
164  void SetAreaColorArrayName(const char* name);
165  const char* GetAreaColorArrayName();
167 
169 
172  virtual void SetColorAreasByArray(bool vis);
173  virtual bool GetColorAreasByArray();
174  vtkBooleanMacro(ColorAreasByArray, bool);
176 
178 
181  virtual void SetGraphEdgeColorArrayName(const char* name)
182  { this->SetGraphEdgeColorArrayName(name, 0); }
183  virtual void SetGraphEdgeColorArrayName(const char* name, int idx);
184  virtual const char* GetGraphEdgeColorArrayName()
185  { return this->GetGraphEdgeColorArrayName(0); }
186  virtual const char* GetGraphEdgeColorArrayName(int idx);
188 
193  { this->SetGraphEdgeColorToSplineFraction(0); }
194  virtual void SetGraphEdgeColorToSplineFraction(int idx);
195 
197 
200  virtual void SetColorGraphEdgesByArray(bool vis)
201  { this->SetColorGraphEdgesByArray(vis, 0); }
202  virtual void SetColorGraphEdgesByArray(bool vis, int idx);
204  { return this->GetColorGraphEdgesByArray(0); }
205  virtual bool GetColorGraphEdgesByArray(int idx);
206  vtkBooleanMacro(ColorGraphEdgesByArray, bool);
208 
210 
214  virtual void SetGraphHoverArrayName(const char* name)
215  { this->SetGraphHoverArrayName(name, 0); }
216  virtual void SetGraphHoverArrayName(const char* name, int idx);
217  virtual const char* GetGraphHoverArrayName()
218  { return this->GetGraphHoverArrayName(0); }
219  virtual const char* GetGraphHoverArrayName(int idx);
221 
223 
226  virtual void SetShrinkPercentage(double value);
227  virtual double GetShrinkPercentage();
229 
231 
234  virtual void SetGraphBundlingStrength(double strength)
235  { this->SetGraphBundlingStrength(strength, 0); }
236  virtual void SetGraphBundlingStrength(double strength, int idx);
237  virtual double GetGraphBundlingStrength()
238  { return this->GetGraphBundlingStrength(0); }
239  virtual double GetGraphBundlingStrength(int idx);
241 
243 
249  virtual void SetGraphSplineType(int type, int idx);
250  virtual int GetGraphSplineType(int idx);
252 
254 
257  virtual void SetAreaLayoutStrategy(vtkAreaLayoutStrategy* strategy);
258  virtual vtkAreaLayoutStrategy* GetAreaLayoutStrategy();
260 
262 
267  virtual void SetAreaToPolyData(vtkPolyDataAlgorithm* areaToPoly);
268  vtkGetObjectMacro(AreaToPolyData, vtkPolyDataAlgorithm);
270 
272 
275  vtkSetMacro(UseRectangularCoordinates, bool);
276  vtkGetMacro(UseRectangularCoordinates, bool);
277  vtkBooleanMacro(UseRectangularCoordinates, bool);
279 
281 
285  virtual void SetAreaLabelMapper(vtkLabeledDataMapper* mapper);
286  vtkGetObjectMacro(AreaLabelMapper, vtkLabeledDataMapper);
288 
292  void ApplyViewTheme(vtkViewTheme* theme) override;
293 
295 
298  virtual void SetEdgeScalarBarVisibility(bool b);
299  virtual bool GetEdgeScalarBarVisibility();
301 
302 protected:
305 
307 
310  bool AddToView(vtkView* view) override;
311  bool RemoveFromView(vtkView* view) override;
313 
314  vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel) override;
315 
316  int FillInputPortInformation(int port, vtkInformation* info) override;
317 
318  int RequestData(
321  vtkInformationVector*) override;
322 
323  void PrepareForRendering(vtkRenderView* view) override;
324 
325  bool ValidIndex(int idx);
326 
327  void UpdateHoverHighlight(vtkView* view, int x, int y);
328 
330 
348 
349  vtkSetStringMacro(AreaSizeArrayNameInternal);
350  vtkGetStringMacro(AreaSizeArrayNameInternal);
352  vtkSetStringMacro(AreaColorArrayNameInternal);
353  vtkGetStringMacro(AreaColorArrayNameInternal);
355  vtkSetStringMacro(AreaLabelArrayNameInternal);
356  vtkGetStringMacro(AreaLabelArrayNameInternal);
358  vtkSetStringMacro(AreaLabelPriorityArrayNameInternal);
359  vtkGetStringMacro(AreaLabelPriorityArrayNameInternal);
361  vtkSetStringMacro(GraphEdgeColorArrayNameInternal);
362  vtkGetStringMacro(GraphEdgeColorArrayNameInternal);
364  vtkGetStringMacro(AreaHoverTextInternal);
365  vtkSetStringMacro(AreaHoverTextInternal);
366  char* AreaHoverTextInternal;
368 
370 
371 private:
373  void operator=(const vtkRenderedTreeAreaRepresentation&) = delete;
374 
375  class Internals;
376  Internals* Implementation;
377 };
378 
379 #endif
380 
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:51
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:45
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:63
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:85
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:48
layout a vtkTree into a tree map
Definition: vtkAreaLayout.h:46
Superclass for algorithms that produce only polydata as output.
The superclass for all views.
Definition: vtkView.h:60
virtual vtkTextProperty * GetGraphEdgeLabelTextProperty()
The text property for the graph edge labels.
a simple class to control print indentation
Definition: vtkIndent.h:39
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.
map vtkPolyData to graphics primitives
vtkSmartPointer< vtkVertexDegree > VertexDegree
A view containing a renderer.
Definition: vtkRenderView.h:61
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 vtkUnicodeString GetHoverTextInternal(vtkSelection *)
Subclasses may override this method to generate the hover text.
String class that stores Unicode text.
extract a list of cells from a polydata
virtual void SetGraphEdgeLabelVisibility(bool vis)
Whether to show edge labels.
2D widget for manipulating a scalar bar