VTK  9.3.0
vtkCirclePackLayoutStrategy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
26 #ifndef vtkCirclePackLayoutStrategy_h
27 #define vtkCirclePackLayoutStrategy_h
28 
29 #include "vtkInfovisLayoutModule.h" // For export macro
30 #include "vtkObject.h"
31 
32 VTK_ABI_NAMESPACE_BEGIN
33 class vtkTree;
34 class vtkDataArray;
35 
36 class VTKINFOVISLAYOUT_EXPORT vtkCirclePackLayoutStrategy : public vtkObject
37 {
38 public:
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
50  virtual void Layout(vtkTree* inputTree, vtkDataArray* areaArray, vtkDataArray* sizeArray) = 0;
51 
52 protected:
55 
56 private:
58  void operator=(const vtkCirclePackLayoutStrategy&) = delete;
59 };
60 
61 VTK_ABI_NAMESPACE_END
62 #endif
abstract superclass for all circle packing layout strategies.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkCirclePackLayoutStrategy() override
virtual void Layout(vtkTree *inputTree, vtkDataArray *areaArray, vtkDataArray *sizeArray)=0
Perform the layout of the input tree, and store the circle bounds of each vertex as a tuple in a data...
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
a simple class to control print indentation
Definition: vtkIndent.h:38
abstract base class for most VTK objects
Definition: vtkObject.h:61
A rooted tree data structure.
Definition: vtkTree.h:55