vtkPVMergeTablesComposite.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
23 #ifndef vtkPVMergeTablesComposite_h
24 #define vtkPVMergeTablesComposite_h
25 
26 #include "vtkDataObjectAlgorithm.h"
27 #include "vtkPVVTKExtensionsMiscModule.h" // needed for export macro
28 
29 #include <vector> // for std::vector
30 
31 class vtkDataObjectTree;
32 
34 {
35 public:
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
41  {
42  ALL = 0,
43  LEAVES = 1,
44  };
45 
47 
52  vtkGetMacro(MergeStrategy, int);
53  vtkSetClampMacro(MergeStrategy, int, ALL, LEAVES);
55 
56 protected:
58  ~vtkPVMergeTablesComposite() override;
59 
60  int FillInputPortInformation(int port, vtkInformation* info) override;
61  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
62  vtkInformationVector* outputVector) override;
64 
65 private:
67  void operator=(const vtkPVMergeTablesComposite&) = delete;
68 
69  void MergeAllTables(const std::vector<vtkDataObjectTree*>& inputs, vtkDataObjectTree* output);
70  void MergeLeavesTables(const std::vector<vtkDataObjectTree*>& inputs, vtkDataObjectTree* output);
71 
72  int MergeStrategy = LEAVES; // Default to merging all blocks.
73 };
74 
75 #endif
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkDataObjectAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
used to merge rows in tables from composite datasets.
#define VTKPVVTKEXTENSIONSMISC_EXPORT
virtual int FillInputPortInformation(int port, vtkInformation *info)
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void operator=(const vtkObjectBase &)