VTK  9.7.1
vtkDGOperationStateEntry.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
3 #ifndef vtkDGOperationStateEntry_h
4 #define vtkDGOperationStateEntry_h
5 
6 #include "vtkCompiler.h" // For export macro.
7 #include "vtkDGOperationState.h"
8 #include "vtkType.h" // For vtkTypeUInt64.
9 
10 #include <functional> // For std::function<>.
11 #include <memory> // For std::unique_ptr<>.
12 
13 VTK_ABI_NAMESPACE_BEGIN
14 
15 class vtkDataArray;
16 class vtkDoubleArray;
17 
19 template <typename InputIterator, typename OutputIterator>
21  InputIterator& inIter, OutputIterator& outIter, vtkTypeUInt64 begin, vtkTypeUInt64 end)>;
22 
28 class VTKFILTERSCELLGRID_EXPORT vtkDGOperationStateEntryBase
29 {
30 public:
31  virtual ~vtkDGOperationStateEntryBase() = default;
32 };
33 
38 template <typename InputIterator, typename OutputIterator>
40 {
41 public:
42  vtkDGOperationStateEntry() = default;
44  {
45  other.State->CloneInto(*this);
46  }
47 
52  {
53  // CloneInto should also set this->Function.
54  other.State->CloneInto(*this);
55  return *this;
56  }
57 
58  std::unique_ptr<vtkDGOperationState> State;
60 };
61 
62 VTK_ABI_NAMESPACE_END
63 
64 #endif // vtkDGOperationStateEntry_h
65 // VTK-HeaderTest-Exclude: vtkDGOperationStateEntry.h
vtkDGOperationStateEntry(const vtkDGOperationStateEntry< InputIterator, OutputIterator > &other)
vtkDGCellRangeEvaluator< InputIterator, OutputIterator > Function
vtkDGOperationStateEntry< InputIterator, OutputIterator > & operator=(const vtkDGOperationStateEntry< InputIterator, OutputIterator > &other)
std::function< void(InputIterator &inIter, OutputIterator &outIter, vtkTypeUInt64 begin, vtkTypeUInt64 end)> vtkDGCellRangeEvaluator
Signature for a method to evaluate data on a single vtkDGCell::Source instance.
This is a base class that exists so that vtkDGOperationState can provide a virtual CloneInto method t...
dynamic, self-adjusting array of double
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
Encapsulate the state required to evaluate DG cell-attributes.
std::unique_ptr< vtkDGOperationState > State
#define VTK_ALWAYS_EXPORT
Definition: vtkCompiler.h:65