VTK  9.3.1
vtkPOrderStatistics.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2011 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
27 #ifndef vtkPOrderStatistics_h
28 #define vtkPOrderStatistics_h
29 
30 #include "vtkFiltersParallelStatisticsModule.h" // For export macro
31 #include "vtkOrderStatistics.h"
32 
33 #include <map> // STL Header
34 
35 VTK_ABI_NAMESPACE_BEGIN
36 class vtkIdTypeArray;
39 
40 class VTKFILTERSPARALLELSTATISTICS_EXPORT vtkPOrderStatistics : public vtkOrderStatistics
41 {
42 public:
43  static vtkPOrderStatistics* New();
45  void PrintSelf(ostream& os, vtkIndent indent) override;
46 
48 
52  virtual void SetController(vtkMultiProcessController*);
53  vtkGetObjectMacro(Controller, vtkMultiProcessController);
55 
59  void Learn(vtkTable*, vtkTable*, vtkMultiBlockDataSet*) override;
60 
61 protected:
63  ~vtkPOrderStatistics() override;
64 
68  bool Reduce(vtkIdTypeArray*, vtkDataArray*);
69 
73  bool Reduce(vtkIdTypeArray*, vtkIdType&, char*, std::map<vtkStdString, vtkIdType>&);
74 
78  bool Broadcast(std::map<vtkStdString, vtkIdType>&, vtkIdTypeArray*, vtkStringArray*, vtkIdType);
79 
81 
82 private:
84  void operator=(const vtkPOrderStatistics&) = delete;
85 };
86 
87 VTK_ABI_NAMESPACE_END
88 #endif
A class for univariate order statistics.
a vtkAbstractArray subclass for strings
vtkMultiProcessController * Controller
dynamic, self-adjusting array of vtkIdType
int vtkIdType
Definition: vtkType.h:315
static vtkOrderStatistics * New()
a simple class to control print indentation
Definition: vtkIndent.h:28
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
A class for parallel univariate order statistics.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
void Learn(vtkTable *, vtkTable *, vtkMultiBlockDataSet *) override
Execute the calculations required by the Learn option.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:58
Composite dataset that organizes datasets into blocks.
Multiprocessing communication superclass.