VTK
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 "vtkViewsInfovisModule.h" // For export macro
52#include "vtkRenderView.h"
53
57class vtkViewTheme;
58
59class VTKVIEWSINFOVIS_EXPORT vtkGraphLayoutView : public vtkRenderView
60{
61public:
64 void PrintSelf(ostream& os, vtkIndent indent);
65
67
70 void SetVertexLabelArrayName(const char* name);
73
75
78 void SetEdgeLabelArrayName(const char* name);
79 const char* GetEdgeLabelArrayName();
81
83
88 vtkBooleanMacro(VertexLabelVisibility, bool);
90
92
97 vtkBooleanMacro(HideVertexLabelsOnInteraction, bool);
99
101
104 void SetEdgeVisibility(bool vis);
106 vtkBooleanMacro(EdgeVisibility, bool);
108
110
115 vtkBooleanMacro(EdgeLabelVisibility, bool);
117
119
124 vtkBooleanMacro(HideEdgeLabelsOnInteraction, bool);
126
128
132 void SetVertexColorArrayName(const char* name);
135
137
140 void SetColorVertices(bool vis);
142 vtkBooleanMacro(ColorVertices, bool);
144
146
149 void SetEdgeColorArrayName(const char* name);
152
154
157 void SetColorEdges(bool vis);
159 vtkBooleanMacro(ColorEdges, bool);
161
163
166 void SetEdgeSelection(bool vis);
168 vtkBooleanMacro(EdgeSelection, bool);
170
172
178
180
183 void SetEnableEdgesByArray(bool vis);
186
188
194
196
202
204
207 void SetScalingArrayName(const char* name);
208 const char* GetScalingArrayName();
210
212
215 void SetScaledGlyphs(bool arg);
217 vtkBooleanMacro(ScaledGlyphs, bool);
219
221
239 void SetLayoutStrategy(const char* name);
241 { this->SetLayoutStrategy("Random"); }
243 { this->SetLayoutStrategy("Force Directed"); }
245 { this->SetLayoutStrategy("Simple 2D"); }
247 { this->SetLayoutStrategy("Clustering 2D"); }
249 { this->SetLayoutStrategy("Community 2D"); }
251 { this->SetLayoutStrategy("Fast 2D"); }
253 { this->SetLayoutStrategy("Pass Through"); }
255 { this->SetLayoutStrategy("Circular"); }
257 { this->SetLayoutStrategy("Tree"); }
259 { this->SetLayoutStrategy("Cosmic Tree"); }
261 { this->SetLayoutStrategy("Cone"); }
263 { this->SetLayoutStrategy("Span Tree"); }
266
268
276
278
285 void SetEdgeLayoutStrategy(const char* name);
287 { this->SetEdgeLayoutStrategy("Arc Parallel"); }
289 { this->SetEdgeLayoutStrategy("Pass Through"); }
292
294
302
308 void AddIconType(char *type, int index);
309
314
319 void SetIconAlignment(int alignment);
320
322
325 void SetIconVisibility(bool b);
327 vtkBooleanMacro(IconVisibility, bool);
329
331
334 void SetIconArrayName(const char* name);
335 const char* GetIconArrayName();
337
339
345
347
350 virtual void SetVertexLabelFontSize(const int size);
353
355
358 virtual void SetEdgeLabelFontSize(const int size);
359 virtual int GetEdgeLabelFontSize();
361
363
369
371
377
382
389 virtual int IsLayoutComplete();
390
401 virtual void UpdateLayout();
402
403protected:
406
408
414 // Called to process events. Overrides behavior in vtkRenderView.
415 virtual void ProcessEvents(vtkObject* caller, unsigned long eventId, void* callData);
417
418private:
419 vtkGraphLayoutView(const vtkGraphLayoutView&) VTK_DELETE_FUNCTION;
420 void operator=(const vtkGraphLayoutView&) VTK_DELETE_FUNCTION;
421 bool VertexLabelsRequested;
422 bool EdgeLabelsRequested;
423 bool Interacting;
424};
425
426#endif
Proxy object to connect input/output ports.
The superclass for all representations.
abstract superclass for all edge layout strategies
abstract superclass for all graph layout strategies
Lays out and displays a graph.
bool GetVertexLabelVisibility()
void SetEdgeLayoutStrategy(vtkEdgeLayoutStrategy *s)
void SetScaledGlyphs(bool arg)
Whether to use scaled glyphs or not.
void SetScalingArrayName(const char *name)
The array used for scaling (if ScaledGlyphs is ON)
virtual void SetVertexLabelFontSize(const int size)
The size of the font used for vertex labeling.
void SetEdgeLayoutStrategyToPassThrough()
bool GetEdgeLabelVisibility()
void SetLayoutStrategyToClustering2D()
void SetEdgeLayoutStrategy(const char *name)
The layout strategy to use when performing the edge layout.
const char * GetEnabledVerticesArrayName()
void SetGlyphType(int type)
The type of glyph to use for the vertices.
void SetEnabledVerticesArrayName(const char *name)
The array to use for coloring vertices.
vtkGraphLayoutStrategy * GetLayoutStrategy()
The layout strategy to use when performing the graph layout.
const char * GetVertexLabelArrayName()
void SetEdgeLayoutStrategyToArcParallel()
static vtkGraphLayoutView * New()
void SetVertexColorArrayName(const char *name)
The array to use for coloring vertices.
void SetColorEdges(bool vis)
Whether to color edges.
const char * GetScalingArrayName()
virtual int IsLayoutComplete()
Is the graph layout complete? This method is useful for when the strategy is iterative and the applic...
void SetEdgeColorArrayName(const char *name)
The array to use for coloring edges.
virtual vtkRenderedGraphRepresentation * GetGraphRepresentation()
void SetLayoutStrategy(const char *name)
The layout strategy to use when performing the graph layout.
const char * GetEnabledEdgesArrayName()
virtual vtkDataRepresentation * CreateDefaultRepresentation(vtkAlgorithmOutput *conn)
Overrides behavior in vtkView to create a vtkRenderedGraphRepresentation by default.
int GetEnableVerticesByArray()
void SetVertexLabelArrayName(const char *name)
The array to use for vertex labeling.
bool GetHideVertexLabelsOnInteraction()
void AddIconType(char *type, int index)
Associate the icon at index "index" in the vtkTexture to all vertices containing "type" as a value in...
void SetIconArrayName(const char *name)
The array used for assigning icons.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetEdgeLabelVisibility(bool vis)
Whether to show edge labels.
void SetHideEdgeLabelsOnInteraction(bool vis)
Whether to hide edge labels during mouse interactions.
const char * GetEdgeColorArrayName()
bool GetVertexScalarBarVisibility()
bool GetHideEdgeLabelsOnInteraction()
virtual int GetVertexLabelFontSize()
void SetEdgeSelection(bool vis)
Whether edges are selectable.
void SetEnableEdgesByArray(bool vis)
Whether to color edges.
const char * GetVertexColorArrayName()
void SetEdgeVisibility(bool vis)
Whether to show the edges at all.
void SetEnableVerticesByArray(bool vis)
Whether to color vertices.
virtual int GetEdgeLabelFontSize()
const char * GetIconArrayName()
void SetEdgeScalarBarVisibility(bool vis)
Whether the scalar bar for edges is visible.
void SetEdgeLabelArrayName(const char *name)
The array to use for edge labeling.
const char * GetLayoutStrategyName()
void SetLayoutStrategyToForceDirected()
void ZoomToSelection()
Reset the camera based on the bounds of the selected region.
virtual void UpdateLayout()
This method is useful for when the strategy is iterative and the application wants to show the iterat...
void SetIconVisibility(bool b)
Whether icons are visible (default off).
void SetVertexScalarBarVisibility(bool vis)
Whether the scalar bar for vertices is visible.
virtual void SetEdgeLabelFontSize(const int size)
The size of the font used for edge labeling.
const char * GetEdgeLayoutStrategyName()
void SetColorVertices(bool vis)
Whether to color vertices.
bool GetEdgeScalarBarVisibility()
void SetIconAlignment(int alignment)
Specify where the icons should be placed in relation to the vertex.
void ClearIconTypes()
Clear all icon mappings.
vtkEdgeLayoutStrategy * GetEdgeLayoutStrategy()
The layout strategy to use when performing the edge layout.
const char * GetEdgeLabelArrayName()
void SetLayoutStrategy(vtkGraphLayoutStrategy *s)
void SetVertexLabelVisibility(bool vis)
Whether to show vertex labels.
virtual void ProcessEvents(vtkObject *caller, unsigned long eventId, void *callData)
Called to process events.
void SetEnabledEdgesArrayName(const char *name)
The array to use for coloring edges.
void SetHideVertexLabelsOnInteraction(bool vis)
Whether to hide vertex labels during mouse interactions.
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
A view containing a renderer.
Definition: vtkRenderView.h:62
Sets theme colors for a graphical view.
Definition: vtkViewTheme.h:49
@ type
Definition: vtkX3D.h:516
@ name
Definition: vtkX3D.h:219
@ size
Definition: vtkX3D.h:253
@ index
Definition: vtkX3D.h:246
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.