VTK  9.3.1
vtkEdgeLayoutStrategy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkEdgeLayoutStrategy_h
14 #define vtkEdgeLayoutStrategy_h
15 
16 #include "vtkInfovisLayoutModule.h" // For export macro
17 #include "vtkObject.h"
18 
19 VTK_ABI_NAMESPACE_BEGIN
20 class vtkGraph;
21 
22 class VTKINFOVISLAYOUT_EXPORT vtkEdgeLayoutStrategy : public vtkObject
23 {
24 public:
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
31  virtual void SetGraph(vtkGraph* graph);
32 
38  virtual void Initialize() {}
39 
44  virtual void Layout() = 0;
45 
47 
50  vtkSetStringMacro(EdgeWeightArrayName);
51  vtkGetStringMacro(EdgeWeightArrayName);
53 
54 protected:
56  ~vtkEdgeLayoutStrategy() override;
57 
60 
61 private:
63  void operator=(const vtkEdgeLayoutStrategy&) = delete;
64 };
65 
66 VTK_ABI_NAMESPACE_END
67 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:51
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Base class for graph data types.
Definition: vtkGraph.h:280
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void Initialize()
This method allows the layout strategy to do initialization of data structures or whatever else it mi...
abstract superclass for all edge layout strategies