VTK  9.3.0
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]);
48  vtkAlgorithm* src, int outputPort, unsigned long* inputSize, unsigned long size[2]);
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
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:61
a simple class to control print indentation
Definition: vtkIndent.h:38
abstract base class for most VTK objects
Definition: vtkObject.h:61
compute the memory required by a pipeline
void GenericComputeSourcePipelineSize(vtkAlgorithm *src, int outputPort, unsigned long size[3])
vtkPipelineSize()=default
void ComputeSourcePipelineSize(vtkAlgorithm *src, int outputPort, unsigned long size[3])
unsigned long GetNumberOfSubPieces(unsigned long memoryLimit, vtkAlgorithm *mapper, int piece, int numPieces)
Determine how many subpieces a mapper should use to fit a target memory limit.
static vtkPipelineSize * New()
void ComputeOutputMemorySize(vtkAlgorithm *src, int outputPort, unsigned long *inputSize, unsigned long size[2])
void GenericComputeOutputMemorySize(vtkAlgorithm *src, int outputPort, unsigned long *inputSize, unsigned long size[2])
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
unsigned long GetEstimatedSize(vtkAlgorithm *input, int inputPort, int connection)
Compute an estimate of how much memory a pipline will require in kibibytes (1024 bytes) This is only ...
@ size
Definition: vtkX3D.h:253