VTK: Filters/Hybrid/vtkTemporalArrayOperatorFilter.h Source File

| VTK 9.3.1

vtkTemporalArrayOperatorFilter.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
17 #ifndef vtkTemporalArrayOperatorFilter_h
18 #define vtkTemporalArrayOperatorFilter_h
19
20 #include "vtkFiltersHybridModule.h" // For export macro
21 #include "vtkMultiTimeStepAlgorithm.h"
22
23 VTK_ABI_NAMESPACE_BEGIN
24 class VTKFILTERSHYBRID_EXPORT vtkTemporalArrayOperatorFilter : public vtkMultiTimeStepAlgorithm
25 {
26 public:
27 static vtkTemporalArrayOperatorFilter* New();
28 vtkTypeMacro(vtkTemporalArrayOperatorFilter, vtkMultiTimeStepAlgorithm);
29 void PrintSelf(ostream& os, vtkIndent indent) override;
30
31 enum OperatorType
32 {
33 ADD = 0,
34 SUB = 1,
35 MUL = 2,
36 DIV = 3
37 };
38
40
43 vtkSetMacro(Operator, int);
44 vtkGetMacro(Operator, int);
46
48
51 vtkSetMacro(FirstTimeStepIndex, int);
52 vtkGetMacro(FirstTimeStepIndex, int);
54
56
59 vtkSetMacro(SecondTimeStepIndex, int);
60 vtkGetMacro(SecondTimeStepIndex, int);
62
64
69 vtkSetStringMacro(OutputArrayNameSuffix);
70 vtkGetStringMacro(OutputArrayNameSuffix);
72
73 protected:
74 vtkTemporalArrayOperatorFilter();
75 ~vtkTemporalArrayOperatorFilter() override;
76
77 int FillInputPortInformation(int, vtkInformation*) override;
78 int FillOutputPortInformation(int, vtkInformation*) override;
79
80 int RequestDataObject(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
81 int RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
82 int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
83 int Execute(vtkInformation* request, const std::vector<vtkSmartPointer<vtkDataObject>>& inputs,
84 vtkInformationVector* outputVector) override;
85
86 int GetInputArrayAssociation();
87 virtual vtkDataObject* Process(vtkDataObject*, vtkDataObject*);
88 virtual vtkDataObject* ProcessDataObject(vtkDataObject*, vtkDataObject*);
89 virtual vtkDataArray* ProcessDataArray(vtkDataArray*, vtkDataArray*);
90
91 int Operator;
92 int FirstTimeStepIndex;
93 int SecondTimeStepIndex;
94 int NumberTimeSteps;
95 char* OutputArrayNameSuffix;
96
97 private:
98 vtkTemporalArrayOperatorFilter(const vtkTemporalArrayOperatorFilter&) = delete;
99 void operator=(const vtkTemporalArrayOperatorFilter&) = delete;
100 };
101
102 VTK_ABI_NAMESPACE_END
103 #endif
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkMultiTimeStepAlgorithm
Superclass for algorithms that would like to make multiple time requests.
Definition: vtkMultiTimeStepAlgorithm.h:40
vtkSmartPointer< vtkDataObject >
vtkTemporalArrayOperatorFilter
perform simple mathematical operation on a data array at different time
Definition: vtkTemporalArrayOperatorFilter.h:25
vtkTemporalArrayOperatorFilter::RequestInformation
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkTemporalArrayOperatorFilter::ProcessDataArray
virtual vtkDataArray * ProcessDataArray(vtkDataArray *, vtkDataArray *)
vtkTemporalArrayOperatorFilter::RequestUpdateExtent
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkTemporalArrayOperatorFilter::FillInputPortInformation
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
vtkTemporalArrayOperatorFilter::GetInputArrayAssociation
int GetInputArrayAssociation()
vtkTemporalArrayOperatorFilter::FirstTimeStepIndex
int FirstTimeStepIndex
Definition: vtkTemporalArrayOperatorFilter.h:92
vtkTemporalArrayOperatorFilter::OutputArrayNameSuffix
char * OutputArrayNameSuffix
Definition: vtkTemporalArrayOperatorFilter.h:95
vtkTemporalArrayOperatorFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTemporalArrayOperatorFilter::Process
virtual vtkDataObject * Process(vtkDataObject *, vtkDataObject *)
vtkTemporalArrayOperatorFilter::FillOutputPortInformation
int FillOutputPortInformation(int, vtkInformation *) override
Fill the output port information objects for this algorithm.
vtkTemporalArrayOperatorFilter::SecondTimeStepIndex
int SecondTimeStepIndex
Definition: vtkTemporalArrayOperatorFilter.h:93
vtkTemporalArrayOperatorFilter::NumberTimeSteps
int NumberTimeSteps
Definition: vtkTemporalArrayOperatorFilter.h:94
vtkTemporalArrayOperatorFilter::New
static vtkTemporalArrayOperatorFilter * New()
vtkTemporalArrayOperatorFilter::RequestDataObject
int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkTemporalArrayOperatorFilter::vtkTemporalArrayOperatorFilter
vtkTemporalArrayOperatorFilter()
vtkTemporalArrayOperatorFilter::Operator
int Operator
Definition: vtkTemporalArrayOperatorFilter.h:91
vtkTemporalArrayOperatorFilter::OperatorType
OperatorType
Definition: vtkTemporalArrayOperatorFilter.h:32
vtkTemporalArrayOperatorFilter::~vtkTemporalArrayOperatorFilter
~vtkTemporalArrayOperatorFilter() override
vtkTemporalArrayOperatorFilter::Execute
int Execute(vtkInformation *request, const std::vector< vtkSmartPointer< vtkDataObject >> &inputs, vtkInformationVector *outputVector) override
vtkTemporalArrayOperatorFilter::ProcessDataObject
virtual vtkDataObject * ProcessDataObject(vtkDataObject *, vtkDataObject *)
vtkX3D::vector
@ vector
Definition: vtkX3D.h:237
vtkMultiTimeStepAlgorithm.h