VTK  9.1.0
vtkEdgeLayoutStrategy.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkEdgeLayoutStrategy.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 (c) Sandia Corporation
17 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
18----------------------------------------------------------------------------*/
28#ifndef vtkEdgeLayoutStrategy_h
29#define vtkEdgeLayoutStrategy_h
30
31#include "vtkInfovisLayoutModule.h" // For export macro
32#include "vtkObject.h"
33
34class vtkGraph;
35
36class VTKINFOVISLAYOUT_EXPORT vtkEdgeLayoutStrategy : public vtkObject
37{
38public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
45 virtual void SetGraph(vtkGraph* graph);
46
52 virtual void Initialize() {}
53
58 virtual void Layout() = 0;
59
61
64 vtkSetStringMacro(EdgeWeightArrayName);
65 vtkGetStringMacro(EdgeWeightArrayName);
67
68protected:
71
74
75private:
77 void operator=(const vtkEdgeLayoutStrategy&) = delete;
78};
79
80#endif
abstract superclass for all edge layout strategies
~vtkEdgeLayoutStrategy() override
virtual void SetGraph(vtkGraph *graph)
Setting the graph for the layout strategy.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void Layout()=0
This is the layout method where the graph that was set in SetGraph() is laid out.
virtual void Initialize()
This method allows the layout strategy to do initialization of data structures or whatever else it mi...
Base class for graph data types.
Definition: vtkGraph.h:339
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:73