VTK  9.0.1
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 -------------------------------------------------------------------------*/
26 #ifndef vtkRenderedTreeAreaRepresentation_h
27 #define vtkRenderedTreeAreaRepresentation_h
28 
30 #include "vtkViewsInfovisModule.h" // For export macro
31 
32 class vtkActor;
33 class vtkActor2D;
34 class vtkAreaLayout;
37 class vtkEdgeCenters;
41 class vtkPolyData;
43 class vtkPolyDataMapper;
44 class vtkScalarBarWidget;
45 class vtkTextProperty;
48 class vtkVertexDegree;
50 
51 class VTKVIEWSINFOVIS_EXPORT vtkRenderedTreeAreaRepresentation : public vtkRenderedRepresentation
52 {
53 public:
56  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
64  void SetLabelRenderMode(int mode) override;
65 
67 
70  virtual void SetAreaLabelArrayName(const char* name);
71  virtual const char* GetAreaLabelArrayName();
73 
75 
78  virtual void SetAreaSizeArrayName(const char* name);
79  virtual const char* GetAreaSizeArrayName();
81 
83 
87  virtual void SetAreaLabelPriorityArrayName(const char* name);
88  virtual const char* GetAreaLabelPriorityArrayName();
90 
92 
95  virtual void SetGraphEdgeLabelArrayName(const char* name)
96  {
97  this->SetGraphEdgeLabelArrayName(name, 0);
98  }
99  virtual void SetGraphEdgeLabelArrayName(const char* name, int idx);
100  virtual const char* GetGraphEdgeLabelArrayName() { return this->GetGraphEdgeLabelArrayName(0); }
101  virtual const char* GetGraphEdgeLabelArrayName(int idx);
103 
105 
109  {
110  this->SetGraphEdgeLabelTextProperty(tp, 0);
111  }
112  virtual void SetGraphEdgeLabelTextProperty(vtkTextProperty* tp, int idx);
114  {
115  return this->GetGraphEdgeLabelTextProperty(0);
116  }
117  virtual vtkTextProperty* GetGraphEdgeLabelTextProperty(int idx);
119 
121 
125  vtkSetStringMacro(AreaHoverArrayName);
126  vtkGetStringMacro(AreaHoverArrayName);
128 
130 
133  virtual void SetAreaLabelVisibility(bool vis);
134  virtual bool GetAreaLabelVisibility();
135  vtkBooleanMacro(AreaLabelVisibility, bool);
137 
139 
142  virtual void SetAreaLabelTextProperty(vtkTextProperty* tp);
143  virtual vtkTextProperty* GetAreaLabelTextProperty();
145 
147 
150  virtual void SetGraphEdgeLabelVisibility(bool vis) { this->SetGraphEdgeLabelVisibility(vis, 0); }
151  virtual void SetGraphEdgeLabelVisibility(bool vis, int idx);
152  virtual bool GetGraphEdgeLabelVisibility() { return this->GetGraphEdgeLabelVisibility(0); }
153  virtual bool GetGraphEdgeLabelVisibility(int idx);
154  vtkBooleanMacro(GraphEdgeLabelVisibility, bool);
156 
158 
161  void SetAreaColorArrayName(const char* name);
162  const char* GetAreaColorArrayName();
164 
166 
169  virtual void SetColorAreasByArray(bool vis);
170  virtual bool GetColorAreasByArray();
171  vtkBooleanMacro(ColorAreasByArray, bool);
173 
175 
178  virtual void SetGraphEdgeColorArrayName(const char* name)
179  {
180  this->SetGraphEdgeColorArrayName(name, 0);
181  }
182  virtual void SetGraphEdgeColorArrayName(const char* name, int idx);
183  virtual const char* GetGraphEdgeColorArrayName() { return this->GetGraphEdgeColorArrayName(0); }
184  virtual const char* GetGraphEdgeColorArrayName(int idx);
186 
191  virtual void SetGraphEdgeColorToSplineFraction(int idx);
192 
194 
197  virtual void SetColorGraphEdgesByArray(bool vis) { this->SetColorGraphEdgesByArray(vis, 0); }
198  virtual void SetColorGraphEdgesByArray(bool vis, int idx);
199  virtual bool GetColorGraphEdgesByArray() { return this->GetColorGraphEdgesByArray(0); }
200  virtual bool GetColorGraphEdgesByArray(int idx);
201  vtkBooleanMacro(ColorGraphEdgesByArray, bool);
203 
205 
209  virtual void SetGraphHoverArrayName(const char* name) { this->SetGraphHoverArrayName(name, 0); }
210  virtual void SetGraphHoverArrayName(const char* name, int idx);
211  virtual const char* GetGraphHoverArrayName() { return this->GetGraphHoverArrayName(0); }
212  virtual const char* GetGraphHoverArrayName(int idx);
214 
216 
219  virtual void SetShrinkPercentage(double value);
220  virtual double GetShrinkPercentage();
222 
224 
227  virtual void SetGraphBundlingStrength(double strength)
228  {
229  this->SetGraphBundlingStrength(strength, 0);
230  }
231  virtual void SetGraphBundlingStrength(double strength, int idx);
232  virtual double GetGraphBundlingStrength() { return this->GetGraphBundlingStrength(0); }
233  virtual double GetGraphBundlingStrength(int idx);
235 
237 
243  virtual void SetGraphSplineType(int type, int idx);
244  virtual int GetGraphSplineType(int idx);
246 
248 
251  virtual void SetAreaLayoutStrategy(vtkAreaLayoutStrategy* strategy);
252  virtual vtkAreaLayoutStrategy* GetAreaLayoutStrategy();
254 
256 
261  virtual void SetAreaToPolyData(vtkPolyDataAlgorithm* areaToPoly);
262  vtkGetObjectMacro(AreaToPolyData, vtkPolyDataAlgorithm);
264 
266 
269  vtkSetMacro(UseRectangularCoordinates, bool);
270  vtkGetMacro(UseRectangularCoordinates, bool);
271  vtkBooleanMacro(UseRectangularCoordinates, bool);
273 
275 
279  virtual void SetAreaLabelMapper(vtkLabeledDataMapper* mapper);
280  vtkGetObjectMacro(AreaLabelMapper, vtkLabeledDataMapper);
282 
286  void ApplyViewTheme(vtkViewTheme* theme) override;
287 
289 
292  virtual void SetEdgeScalarBarVisibility(bool b);
293  virtual bool GetEdgeScalarBarVisibility();
295 
296 protected:
299 
301 
304  bool AddToView(vtkView* view) override;
305  bool RemoveFromView(vtkView* view) override;
307 
308  vtkSelection* ConvertSelection(vtkView* view, vtkSelection* sel) override;
309 
310  int FillInputPortInformation(int port, vtkInformation* info) override;
311 
313 
314  void PrepareForRendering(vtkRenderView* view) override;
315 
316  bool ValidIndex(int idx);
317 
318  void UpdateHoverHighlight(vtkView* view, int x, int y);
319 
321 
339 
340  vtkSetStringMacro(AreaSizeArrayNameInternal);
341  vtkGetStringMacro(AreaSizeArrayNameInternal);
343  vtkSetStringMacro(AreaColorArrayNameInternal);
344  vtkGetStringMacro(AreaColorArrayNameInternal);
346  vtkSetStringMacro(AreaLabelArrayNameInternal);
347  vtkGetStringMacro(AreaLabelArrayNameInternal);
349  vtkSetStringMacro(AreaLabelPriorityArrayNameInternal);
350  vtkGetStringMacro(AreaLabelPriorityArrayNameInternal);
352  vtkSetStringMacro(GraphEdgeColorArrayNameInternal);
353  vtkGetStringMacro(GraphEdgeColorArrayNameInternal);
355  vtkGetStringMacro(AreaHoverTextInternal);
356  vtkSetStringMacro(AreaHoverTextInternal);
357  char* AreaHoverTextInternal;
359 
361 
362 private:
364  void operator=(const vtkRenderedTreeAreaRepresentation&) = delete;
365 
366  class Internals;
367  Internals* Implementation;
368 };
369 
370 #endif
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:36
vtkScalarBarWidget
2D widget for manipulating a scalar bar
Definition: vtkScalarBarWidget.h:44
vtkRenderedTreeAreaRepresentation::SetGraphEdgeLabelVisibility
virtual void SetGraphEdgeLabelVisibility(bool vis)
Whether to show edge labels.
Definition: vtkRenderedTreeAreaRepresentation.h:150
vtkRenderedTreeAreaRepresentation::AreaLabelMapper
vtkLabeledDataMapper * AreaLabelMapper
Definition: vtkRenderedTreeAreaRepresentation.h:335
vtkDataRepresentation::AddToView
virtual bool AddToView(vtkView *vtkNotUsed(view))
Adds the representation to the view.
Definition: vtkDataRepresentation.h:306
vtkRenderView
A view containing a renderer.
Definition: vtkRenderView.h:64
vtkRenderedTreeAreaRepresentation::AreaHoverTextInternal
char * AreaHoverTextInternal
Definition: vtkRenderedTreeAreaRepresentation.h:356
vtkDataRepresentation::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses should override this to connect inputs to the internal pipeline as necessary.
Definition: vtkDataRepresentation.h:260
vtkRenderedTreeAreaRepresentation::AreaActor
vtkSmartPointer< vtkActor > AreaActor
Definition: vtkRenderedTreeAreaRepresentation.h:329
vtkRenderedTreeAreaRepresentation::AreaLabelPriorityArrayNameInternal
char * AreaLabelPriorityArrayNameInternal
Definition: vtkRenderedTreeAreaRepresentation.h:350
vtkRenderedRepresentation
Definition: vtkRenderedRepresentation.h:42
vtkX3D::value
@ value
Definition: vtkX3D.h:226
vtkRenderedTreeAreaRepresentation
Definition: vtkRenderedTreeAreaRepresentation.h:51
vtkVertexDegree
Adds an attribute array with the degree of each vertex.
Definition: vtkVertexDegree.h:45
vtkX3D::type
@ type
Definition: vtkX3D.h:522
vtkRenderedTreeAreaRepresentation::AreaColorArrayNameInternal
char * AreaColorArrayNameInternal
Definition: vtkRenderedTreeAreaRepresentation.h:344
vtkExtractSelectedPolyDataIds
extract a list of cells from a polydata
Definition: vtkExtractSelectedPolyDataIds.h:33
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkWorldPointPicker
find world x,y,z corresponding to display x,y,z
Definition: vtkWorldPointPicker.h:44
vtkRenderedTreeAreaRepresentation::TreeAggregation
vtkSmartPointer< vtkTreeFieldAggregator > TreeAggregation
Definition: vtkRenderedTreeAreaRepresentation.h:326
vtkSmartPointer< vtkWorldPointPicker >
vtkRenderedTreeAreaRepresentation::VertexDegree
vtkSmartPointer< vtkVertexDegree > VertexDegree
Definition: vtkRenderedTreeAreaRepresentation.h:325
vtkRenderedTreeAreaRepresentation::SetColorGraphEdgesByArray
virtual void SetColorGraphEdgesByArray(bool vis)
Whether to color edges.
Definition: vtkRenderedTreeAreaRepresentation.h:197
vtkPassInputTypeAlgorithm::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkRenderedTreeAreaRepresentation::AreaLabelActor
vtkSmartPointer< vtkActor2D > AreaLabelActor
Definition: vtkRenderedTreeAreaRepresentation.h:330
vtkSelection
data object that represents a "selection" in VTK.
Definition: vtkSelection.h:57
vtkRenderedTreeAreaRepresentation::AreaMapper
vtkSmartPointer< vtkPolyDataMapper > AreaMapper
Definition: vtkRenderedTreeAreaRepresentation.h:328
vtkTreeLevelsFilter
adds level and leaf fields to a vtkTree
Definition: vtkTreeLevelsFilter.h:41
vtkRenderedTreeAreaRepresentation::GetGraphHoverArrayName
virtual const char * GetGraphHoverArrayName()
Definition: vtkRenderedTreeAreaRepresentation.h:211
vtkRenderedTreeAreaRepresentation::GetGraphBundlingStrength
virtual double GetGraphBundlingStrength()
Definition: vtkRenderedTreeAreaRepresentation.h:232
vtkRenderedRepresentation::SetLabelRenderMode
virtual void SetLabelRenderMode(int)
Set the label render mode.
vtkDataRepresentation::RemoveFromView
virtual bool RemoveFromView(vtkView *vtkNotUsed(view))
Removes the representation to the view.
Definition: vtkDataRepresentation.h:313
vtkRenderedTreeAreaRepresentation::AreaLayout
vtkSmartPointer< vtkAreaLayout > AreaLayout
Definition: vtkRenderedTreeAreaRepresentation.h:327
vtkRenderedRepresentation.h
vtkView
The superclass for all views.
Definition: vtkView.h:63
vtkRenderedTreeAreaRepresentation::GetGraphEdgeLabelTextProperty
virtual vtkTextProperty * GetGraphEdgeLabelTextProperty()
Definition: vtkRenderedTreeAreaRepresentation.h:113
vtkViewTheme
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:42
vtkX3D::port
@ port
Definition: vtkX3D.h:453
vtkTreeFieldAggregator
aggregate field values from the leaves up the tree
Definition: vtkTreeFieldAggregator.h:44
vtkRenderedTreeAreaRepresentation::GraphEdgeColorArrayNameInternal
char * GraphEdgeColorArrayNameInternal
Definition: vtkRenderedTreeAreaRepresentation.h:353
vtkRenderedTreeAreaRepresentation::HighlightData
vtkSmartPointer< vtkPolyData > HighlightData
Definition: vtkRenderedTreeAreaRepresentation.h:331
vtkRenderedTreeAreaRepresentation::GetGraphEdgeLabelArrayName
virtual const char * GetGraphEdgeLabelArrayName()
Definition: vtkRenderedTreeAreaRepresentation.h:100
vtkRenderedTreeAreaRepresentation::AreaToPolyData
vtkPolyDataAlgorithm * AreaToPolyData
Definition: vtkRenderedTreeAreaRepresentation.h:334
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkUnicodeString
String class that stores Unicode text.
Definition: vtkUnicodeString.h:69
vtkRenderedTreeAreaRepresentation::SetGraphHoverArrayName
virtual void SetGraphHoverArrayName(const char *name)
The name of the array whose value appears when the mouse hovers over a graph edge.
Definition: vtkRenderedTreeAreaRepresentation.h:209
vtkRenderedTreeAreaRepresentation::ApplyColors
vtkSmartPointer< vtkApplyColors > ApplyColors
Definition: vtkRenderedTreeAreaRepresentation.h:323
vtkPointSetToLabelHierarchy
build a label hierarchy for a graph or point set.
Definition: vtkPointSetToLabelHierarchy.h:41
vtkDataRepresentation::ConvertSelection
virtual vtkSelection * ConvertSelection(vtkView *view, vtkSelection *selection)
Convert the selection to a type appropriate for sharing with other representations through vtkAnnotat...
vtkRenderedTreeAreaRepresentation::SetGraphBundlingStrength
virtual void SetGraphBundlingStrength(double strength)
Set the bundling strength.
Definition: vtkRenderedTreeAreaRepresentation.h:227
vtkRenderedTreeAreaRepresentation::UseRectangularCoordinates
bool UseRectangularCoordinates
Definition: vtkRenderedTreeAreaRepresentation.h:360
vtkRenderedTreeAreaRepresentation::HighlightActor
vtkSmartPointer< vtkActor > HighlightActor
Definition: vtkRenderedTreeAreaRepresentation.h:333
vtkRenderedTreeAreaRepresentation::EmptyPolyData
vtkSmartPointer< vtkPolyData > EmptyPolyData
Definition: vtkRenderedTreeAreaRepresentation.h:338
vtkRenderedRepresentation::PrepareForRendering
virtual void PrepareForRendering(vtkRenderView *view)
The view will call this method before every render.
vtkX3D::name
@ name
Definition: vtkX3D.h:225
vtkRenderedTreeAreaRepresentation::TreeLevels
vtkSmartPointer< vtkTreeLevelsFilter > TreeLevels
Definition: vtkRenderedTreeAreaRepresentation.h:324
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:33
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkRenderedTreeAreaRepresentation::GetGraphEdgeLabelVisibility
virtual bool GetGraphEdgeLabelVisibility()
Definition: vtkRenderedTreeAreaRepresentation.h:152
vtkRenderedRepresentation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkActor2D
a actor that draws 2D data
Definition: vtkActor2D.h:39
vtkRenderedTreeAreaRepresentation::GetColorGraphEdgesByArray
virtual bool GetColorGraphEdgesByArray()
Definition: vtkRenderedTreeAreaRepresentation.h:199
vtkLabeledDataMapper
draw text labels at dataset points
Definition: vtkLabeledDataMapper.h:70
vtkRenderedTreeAreaRepresentation::EdgeScalarBar
vtkSmartPointer< vtkScalarBarWidget > EdgeScalarBar
Definition: vtkRenderedTreeAreaRepresentation.h:336
vtkRenderedTreeAreaRepresentation::SetGraphEdgeColorArrayName
virtual void SetGraphEdgeColorArrayName(const char *name)
The array to use for coloring edges.
Definition: vtkRenderedTreeAreaRepresentation.h:178
vtkRenderedTreeAreaRepresentation::AreaLabelHierarchy
vtkSmartPointer< vtkPointSetToLabelHierarchy > AreaLabelHierarchy
Definition: vtkRenderedTreeAreaRepresentation.h:337
vtkRenderedTreeAreaRepresentation::AreaLabelArrayNameInternal
char * AreaLabelArrayNameInternal
Definition: vtkRenderedTreeAreaRepresentation.h:347
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkRenderedTreeAreaRepresentation::SetGraphEdgeColorToSplineFraction
virtual void SetGraphEdgeColorToSplineFraction()
Set the color to be the spline fraction.
Definition: vtkRenderedTreeAreaRepresentation.h:190
vtkX3D::mode
@ mode
Definition: vtkX3D.h:253
vtkRenderedTreeAreaRepresentation::GetGraphEdgeColorArrayName
virtual const char * GetGraphEdgeColorArrayName()
Definition: vtkRenderedTreeAreaRepresentation.h:183
vtkAreaLayout
layout a vtkTree into a tree map
Definition: vtkAreaLayout.h:46
vtkDataRepresentation::ApplyViewTheme
virtual void ApplyViewTheme(vtkViewTheme *vtkNotUsed(theme))
Apply a theme to this representation.
Definition: vtkDataRepresentation.h:100
vtkRenderedRepresentation::GetHoverTextInternal
virtual vtkUnicodeString GetHoverTextInternal(vtkSelection *)
Subclasses may override this method to generate the hover text.
Definition: vtkRenderedRepresentation.h:85
vtkEdgeCenters
generate points at center of edges
Definition: vtkEdgeCenters.h:41
vtkRenderedRepresentation::New
static vtkRenderedRepresentation * New()
vtkRenderedTreeAreaRepresentation::SetGraphEdgeLabelArrayName
virtual void SetGraphEdgeLabelArrayName(const char *name)
The array to use for edge labeling.
Definition: vtkRenderedTreeAreaRepresentation.h:95
vtkRenderedTreeAreaRepresentation::AreaHoverArrayName
char * AreaHoverArrayName
Definition: vtkRenderedTreeAreaRepresentation.h:358
vtkRenderedTreeAreaRepresentation::AreaSizeArrayNameInternal
char * AreaSizeArrayNameInternal
Definition: vtkRenderedTreeAreaRepresentation.h:341
vtkConvertSelection
Convert a selection from one type to another.
Definition: vtkConvertSelection.h:57
vtkAreaLayoutStrategy
abstract superclass for all area layout strategies
Definition: vtkAreaLayoutStrategy.h:47
vtkRenderedTreeAreaRepresentation::Picker
vtkSmartPointer< vtkWorldPointPicker > Picker
Definition: vtkRenderedTreeAreaRepresentation.h:322
vtkRenderedTreeAreaRepresentation::SetGraphEdgeLabelTextProperty
virtual void SetGraphEdgeLabelTextProperty(vtkTextProperty *tp)
The text property for the graph edge labels.
Definition: vtkRenderedTreeAreaRepresentation.h:108
vtkRenderedTreeAreaRepresentation::HighlightMapper
vtkSmartPointer< vtkPolyDataMapper > HighlightMapper
Definition: vtkRenderedTreeAreaRepresentation.h:332
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:41