VTK: Infovis/Layout/vtkCirclePackFrontChainLayoutStrategy.h Source File

| VTK 9.3.1

vtkCirclePackFrontChainLayoutStrategy.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
32 #ifndef vtkCirclePackFrontChainLayoutStrategy_h
33 #define vtkCirclePackFrontChainLayoutStrategy_h
34
35 #include "vtkCirclePackLayoutStrategy.h"
36 #include "vtkInfovisLayoutModule.h" // For export macro
37
38 VTK_ABI_NAMESPACE_BEGIN
39 class vtkCirclePackFrontChainLayoutStrategyImplementation;
40
41 class VTKINFOVISLAYOUT_EXPORT vtkCirclePackFrontChainLayoutStrategy
42 : public vtkCirclePackLayoutStrategy
43 {
44 public:
45 static vtkCirclePackFrontChainLayoutStrategy* New();
46
47 vtkTypeMacro(vtkCirclePackFrontChainLayoutStrategy, vtkCirclePackLayoutStrategy);
48 void PrintSelf(ostream& os, vtkIndent indent) override;
49
55 void Layout(vtkTree* inputTree, vtkDataArray* areaArray, vtkDataArray* sizeArray) override;
56
58
62 vtkGetMacro(Width, int);
63 vtkSetMacro(Width, int);
64 vtkGetMacro(Height, int);
65 vtkSetMacro(Height, int);
67
68 protected:
69 vtkCirclePackFrontChainLayoutStrategy();
70 ~vtkCirclePackFrontChainLayoutStrategy() override;
71
72 char* CirclesFieldName;
73 int Width;
74 int Height;
75
76 private:
77 vtkCirclePackFrontChainLayoutStrategyImplementation* pimpl; // Private implementation
78
79 vtkCirclePackFrontChainLayoutStrategy(const vtkCirclePackFrontChainLayoutStrategy&) = delete;
80 void operator=(const vtkCirclePackFrontChainLayoutStrategy&) = delete;
81 };
82
83 VTK_ABI_NAMESPACE_END
84 #endif
vtkCirclePackFrontChainLayoutStrategy
layout a vtkTree into packed circles using the front chain algorithm.
Definition: vtkCirclePackFrontChainLayoutStrategy.h:43
vtkCirclePackFrontChainLayoutStrategy::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCirclePackFrontChainLayoutStrategy::~vtkCirclePackFrontChainLayoutStrategy
~vtkCirclePackFrontChainLayoutStrategy() override
vtkCirclePackFrontChainLayoutStrategy::vtkCirclePackFrontChainLayoutStrategy
vtkCirclePackFrontChainLayoutStrategy()
vtkCirclePackFrontChainLayoutStrategy::Height
int Height
Definition: vtkCirclePackFrontChainLayoutStrategy.h:74
vtkCirclePackFrontChainLayoutStrategy::Layout
void Layout(vtkTree *inputTree, vtkDataArray *areaArray, vtkDataArray *sizeArray) override
Perform the layout of the input tree, and store the circle bounds of each vertex as a tuple in a data...
vtkCirclePackFrontChainLayoutStrategy::Width
int Width
Definition: vtkCirclePackFrontChainLayoutStrategy.h:73
vtkCirclePackFrontChainLayoutStrategy::New
static vtkCirclePackFrontChainLayoutStrategy * New()
vtkCirclePackFrontChainLayoutStrategy::CirclesFieldName
char * CirclesFieldName
Definition: vtkCirclePackFrontChainLayoutStrategy.h:72
vtkCirclePackLayoutStrategy
abstract superclass for all circle packing layout strategies.
Definition: vtkCirclePackLayoutStrategy.h:37
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkTree
A rooted tree data structure.
Definition: vtkTree.h:55
vtkCirclePackLayoutStrategy.h