VTK  9.4.20241226
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
19VTK_ABI_NAMESPACE_BEGIN
20class vtkGraph;
21
22class VTKINFOVISLAYOUT_EXPORT vtkEdgeLayoutStrategy : public vtkObject
23{
24public:
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
54protected:
57
60
61private:
63 void operator=(const vtkEdgeLayoutStrategy&) = delete;
64};
65
66VTK_ABI_NAMESPACE_END
67#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:340
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162