3 #ifndef vtkDGOperation_h
4 #define vtkDGOperation_h
11 VTK_ABI_NAMESPACE_BEGIN
25 bool Contains(vtkTypeUInt64 cellId)
const;
26 bool ContainedBy(
const RangeKey& other)
const;
34 template <
typename InputIterator,
typename OutputIterator>
58 void PrintSelf(std::ostream& os,
vtkIndent indent);
81 bool includeShape =
true);
93 bool Evaluate(InputIterator& inIter, OutputIterator& outIter, vtkTypeUInt64 begin = 0,
94 vtkTypeUInt64 end = ~0);
141 if (!TLOp.
Local().Prepare(this->DGCell, this->CellAtt, this->OpName))
143 throw std::runtime_error(
"Could not initialize operation for evaluation.");
149 TLOp.
Local()(this->InIter, this->OutIter, begin, end);
159 typename EvaluatorMap::const_iterator FindEvaluator(
160 RangeKey cellKey,
const EvaluatorMap& evaluators);
162 int NumberOfResultComponents{ 0 };
166 VTK_ABI_NAMESPACE_END
167 #endif // vtkDGOperation_h
A vtkSMPTools worker class for evaluating an operation across a range of cells.
T & Local()
This needs to be called mainly within a threaded execution path.
A range of cell IDs handled by a vtkDGCell::Source instance.
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.
std::map< RangeKey, OpEvalEntry > EvaluatorMap
Container for functions that evaluate data on a single vtkDGCell::Source instance.
dynamic, self-adjusting array of double
Invoke an operator on DG cells/sides.
Visualization data composed of cells of arbitrary type.
a simple class to control print indentation
A base class for operator evaluators.
A function defined over the physical domain of a vtkCellGrid.
vtkDGCellRangeEvaluator< vtkDGArraysInputAccessor, vtkDGArrayOutputAccessor > OpEval
The signature for a function that evaluates iterators over a range.
bool VTKCOMMONCORE_EXPORT operator<(const std::string &a, const vtkStringToken &b)
Base class for a discontinuous Galerkin cells of all shapes.
Thread local storage for VTK objects.
Encapsulate the state required to evaluate DG cell-attributes.
Represent a string by its integer hash.
A record for a basis in a function space that is specific to one cell shape.
int GetNumberOfResultComponents() const
Return the number of values generated per tuple each time an input cell-id and parameter-value are ev...
#define VTK_ALWAYS_EXPORT
Worker(InputIterator &inIter, OutputIterator &outIter, vtkDGCell *dgCell, vtkCellAttribute *cellAtt, vtkStringToken opName)
vtkSMPThreadLocal< vtkDGOperation< InputIterator, OutputIterator > > TLOp
void operator()(vtkIdType begin, vtkIdType end)