VTK  9.2.6
vtkGraphLayoutView.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGraphLayoutView.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 -------------------------------------------------------------------------*/
48 #ifndef vtkGraphLayoutView_h
49 #define vtkGraphLayoutView_h
50 
51 #include "vtkRenderView.h"
52 #include "vtkViewsInfovisModule.h" // For export macro
53 
57 class vtkViewTheme;
58 
59 class VTKVIEWSINFOVIS_EXPORT vtkGraphLayoutView : public vtkRenderView
60 {
61 public:
62  static vtkGraphLayoutView* New();
64  void PrintSelf(ostream& os, vtkIndent indent) override;
65 
67 
70  void SetVertexLabelArrayName(const char* name);
71  const char* GetVertexLabelArrayName();
73 
75 
78  void SetEdgeLabelArrayName(const char* name);
79  const char* GetEdgeLabelArrayName();
81 
83 
86  void SetVertexLabelVisibility(bool vis);
87  bool GetVertexLabelVisibility();
88  vtkBooleanMacro(VertexLabelVisibility, bool);
90 
92 
95  void SetHideVertexLabelsOnInteraction(bool vis);
96  bool GetHideVertexLabelsOnInteraction();
97  vtkBooleanMacro(HideVertexLabelsOnInteraction, bool);
99 
101 
104  void SetEdgeVisibility(bool vis);
105  bool GetEdgeVisibility();
106  vtkBooleanMacro(EdgeVisibility, bool);
108 
110 
113  void SetEdgeLabelVisibility(bool vis);
114  bool GetEdgeLabelVisibility();
115  vtkBooleanMacro(EdgeLabelVisibility, bool);
117 
119 
122  void SetHideEdgeLabelsOnInteraction(bool vis);
123  bool GetHideEdgeLabelsOnInteraction();
124  vtkBooleanMacro(HideEdgeLabelsOnInteraction, bool);
126 
128 
132  void SetVertexColorArrayName(const char* name);
133  const char* GetVertexColorArrayName();
135 
137 
140  void SetColorVertices(bool vis);
141  bool GetColorVertices();
142  vtkBooleanMacro(ColorVertices, bool);
144 
146 
149  void SetEdgeColorArrayName(const char* name);
150  const char* GetEdgeColorArrayName();
152 
154 
157  void SetColorEdges(bool vis);
158  bool GetColorEdges();
159  vtkBooleanMacro(ColorEdges, bool);
161 
163 
166  void SetEdgeSelection(bool vis);
167  bool GetEdgeSelection();
168  vtkBooleanMacro(EdgeSelection, bool);
170 
172 
175  void SetEnabledEdgesArrayName(const char* name);
176  const char* GetEnabledEdgesArrayName();
178 
180 
183  void SetEnableEdgesByArray(bool vis);
184  int GetEnableEdgesByArray();
186 
188 
191  void SetEnabledVerticesArrayName(const char* name);
192  const char* GetEnabledVerticesArrayName();
194 
196 
199  void SetEnableVerticesByArray(bool vis);
200  int GetEnableVerticesByArray();
202 
204 
207  void SetScalingArrayName(const char* name);
208  const char* GetScalingArrayName();
210 
212 
215  void SetScaledGlyphs(bool arg);
216  bool GetScaledGlyphs();
217  vtkBooleanMacro(ScaledGlyphs, bool);
219 
221 
239  void SetLayoutStrategy(const char* name);
240  void SetLayoutStrategyToRandom() { this->SetLayoutStrategy("Random"); }
241  void SetLayoutStrategyToForceDirected() { this->SetLayoutStrategy("Force Directed"); }
242  void SetLayoutStrategyToSimple2D() { this->SetLayoutStrategy("Simple 2D"); }
243  void SetLayoutStrategyToClustering2D() { this->SetLayoutStrategy("Clustering 2D"); }
244  void SetLayoutStrategyToCommunity2D() { this->SetLayoutStrategy("Community 2D"); }
245  void SetLayoutStrategyToFast2D() { this->SetLayoutStrategy("Fast 2D"); }
246  void SetLayoutStrategyToPassThrough() { this->SetLayoutStrategy("Pass Through"); }
247  void SetLayoutStrategyToCircular() { this->SetLayoutStrategy("Circular"); }
248  void SetLayoutStrategyToTree() { this->SetLayoutStrategy("Tree"); }
249  void SetLayoutStrategyToCosmicTree() { this->SetLayoutStrategy("Cosmic Tree"); }
250  void SetLayoutStrategyToCone() { this->SetLayoutStrategy("Cone"); }
251  void SetLayoutStrategyToSpanTree() { this->SetLayoutStrategy("Span Tree"); }
252  const char* GetLayoutStrategyName();
254 
256 
261  vtkGraphLayoutStrategy* GetLayoutStrategy();
262  void SetLayoutStrategy(vtkGraphLayoutStrategy* s);
264 
266 
273  void SetEdgeLayoutStrategy(const char* name);
274  void SetEdgeLayoutStrategyToArcParallel() { this->SetEdgeLayoutStrategy("Arc Parallel"); }
275  void SetEdgeLayoutStrategyToPassThrough() { this->SetEdgeLayoutStrategy("Pass Through"); }
276  const char* GetEdgeLayoutStrategyName();
278 
280 
285  vtkEdgeLayoutStrategy* GetEdgeLayoutStrategy();
286  void SetEdgeLayoutStrategy(vtkEdgeLayoutStrategy* s);
288 
294  void AddIconType(const char* type, int index);
295 
299  void ClearIconTypes();
300 
305  void SetIconAlignment(int alignment);
306 
308 
311  void SetIconVisibility(bool b);
312  bool GetIconVisibility();
313  vtkBooleanMacro(IconVisibility, bool);
315 
317 
320  void SetIconArrayName(const char* name);
321  const char* GetIconArrayName();
323 
325 
328  void SetGlyphType(int type);
329  int GetGlyphType();
331 
333 
336  virtual void SetVertexLabelFontSize(const int size);
337  virtual int GetVertexLabelFontSize();
339 
341 
344  virtual void SetEdgeLabelFontSize(const int size);
345  virtual int GetEdgeLabelFontSize();
347 
349 
352  void SetEdgeScalarBarVisibility(bool vis);
353  bool GetEdgeScalarBarVisibility();
355 
357 
360  void SetVertexScalarBarVisibility(bool vis);
361  bool GetVertexScalarBarVisibility();
363 
367  void ZoomToSelection();
368 
375  virtual int IsLayoutComplete();
376 
387  virtual void UpdateLayout();
388 
389 protected:
391  ~vtkGraphLayoutView() override;
392 
394 
399  virtual vtkRenderedGraphRepresentation* GetGraphRepresentation();
400  // Called to process events. Overrides behavior in vtkRenderView.
401  void ProcessEvents(vtkObject* caller, unsigned long eventId, void* callData) override;
403 
404 private:
405  vtkGraphLayoutView(const vtkGraphLayoutView&) = delete;
406  void operator=(const vtkGraphLayoutView&) = delete;
407  bool VertexLabelsRequested;
408  bool EdgeLabelsRequested;
409 };
410 
411 #endif
void SetLayoutStrategyToCosmicTree()
The layout strategy to use when performing the graph layout.
abstract base class for most VTK objects
Definition: vtkObject.h:62
Lays out and displays a graph.
void SetLayoutStrategyToTree()
The layout strategy to use when performing the graph layout.
static vtkRenderView * New()
void SetLayoutStrategyToSimple2D()
The layout strategy to use when performing the graph layout.
void SetLayoutStrategyToRandom()
The layout strategy to use when performing the graph layout.
void SetEdgeLayoutStrategyToArcParallel()
The layout strategy to use when performing the edge layout.
Proxy object to connect input/output ports.
abstract superclass for all graph layout strategies
void SetLayoutStrategyToSpanTree()
The layout strategy to use when performing the graph layout.
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:48
a simple class to control print indentation
Definition: vtkIndent.h:39
void ProcessEvents(vtkObject *caller, unsigned long eventId, void *callData) override
Called to process events.
void SetLayoutStrategyToCone()
The layout strategy to use when performing the graph layout.
The superclass for all representations.
void SetLayoutStrategyToCircular()
The layout strategy to use when performing the graph layout.
void SetLayoutStrategyToFast2D()
The layout strategy to use when performing the graph layout.
void SetLayoutStrategyToClustering2D()
The layout strategy to use when performing the graph layout.
void SetLayoutStrategyToForceDirected()
The layout strategy to use when performing the graph layout.
void SetEdgeLayoutStrategyToPassThrough()
The layout strategy to use when performing the edge layout.
A view containing a renderer.
Definition: vtkRenderView.h:64
abstract superclass for all edge layout strategies
void SetLayoutStrategyToPassThrough()
The layout strategy to use when performing the graph layout.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetLayoutStrategyToCommunity2D()
The layout strategy to use when performing the graph layout.
virtual vtkDataRepresentation * CreateDefaultRepresentation(vtkAlgorithmOutput *conn)
Create a default vtkDataRepresentation for the given vtkAlgorithmOutput.