VTK  9.3.1
vtkPipelineSize.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
11 #ifndef vtkPipelineSize_h
12 #define vtkPipelineSize_h
13 
14 #include "vtkFiltersParallelModule.h" // For export macro
15 #include "vtkObject.h"
16 VTK_ABI_NAMESPACE_BEGIN
17 class vtkAlgorithm;
18 
19 class VTKFILTERSPARALLEL_EXPORT vtkPipelineSize : public vtkObject
20 {
21 public:
22  static vtkPipelineSize* New();
23  vtkTypeMacro(vtkPipelineSize, vtkObject);
24  void PrintSelf(ostream& os, vtkIndent indent) override;
25 
32  unsigned long GetEstimatedSize(vtkAlgorithm* input, int inputPort, int connection);
33 
40  unsigned long GetNumberOfSubPieces(
41  unsigned long memoryLimit, vtkAlgorithm* mapper, int piece, int numPieces);
42 
43 protected:
44  vtkPipelineSize() = default;
45  void GenericComputeSourcePipelineSize(vtkAlgorithm* src, int outputPort, unsigned long size[3]);
46  void ComputeSourcePipelineSize(vtkAlgorithm* src, int outputPort, unsigned long size[3]);
47  void ComputeOutputMemorySize(
48  vtkAlgorithm* src, int outputPort, unsigned long* inputSize, unsigned long size[2]);
49  void GenericComputeOutputMemorySize(
50  vtkAlgorithm* src, int outputPort, unsigned long* inputSize, unsigned long size[2]);
51 
52 private:
53  vtkPipelineSize(const vtkPipelineSize&) = delete;
54  void operator=(const vtkPipelineSize&) = delete;
55 };
56 
57 VTK_ABI_NAMESPACE_END
58 #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.
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:51
a simple class to control print indentation
Definition: vtkIndent.h:28
compute the memory required by a pipeline
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...