11#ifndef vtkDGInterpolateCalculator_h
12#define vtkDGInterpolateCalculator_h
24VTK_ABI_NAMESPACE_BEGIN
31class vtkTypeInt64Array;
48 double neighborhood)
override;
60 template <
bool UseShape>
A function defined over the physical domain of a vtkCellGrid.
Store values interpolated from DG cells into a vtkDoubleArray instance.
Base class for a discontinuous Galerkin cells of all shapes.
Shape
All possible shapes for DG cells.
@ None
A placeholder for an indeterminate or invalid shape.
void EvaluateDerivative(vtkIdTypeArray *cellIds, vtkDataArray *rst, vtkDataArray *result) override
Subclasses may override this method to perform multiple derivative-evaluations at a time.
void EvaluateDerivative(vtkIdType cellId, const vtkVector3d &rst, std::vector< double > &jacobian, double neighborhood) override
Return the derivative of the function at rst.
bool AnalyticDerivative() const override
Return true if the function has an analytic derivative.
int Dimension
The parametric dimension of the current cell-type.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkDGInterpolateCalculator * New()
vtkDGInterpolateCalculator()=default
void Evaluate(vtkIdTypeArray *cellIds, vtkDataArray *rst, vtkDataArray *result) override
Subclasses may override this method to perform multiple evaluations at a time.
void InternalDerivative(vtkIdType cellId, const vtkVector3d &rst, std::vector< double > &jacobian, double neighborhood)
vtkDGCell::Shape CellShape
The shape of the current cell type.
vtkCellAttribute * Field
The cell-attribute for which interpolation will be performed.
vtkSMPThreadLocal< ThreadLocalData > LocalData
void Evaluate(vtkIdType cellId, const vtkVector3d &rst, std::vector< double > &value) override
vtkCellAttribute::CellTypeInfo FieldCellInfo
The function space, basis, etc.
~vtkDGInterpolateCalculator() override=default
vtkSmartPointer< vtkCellAttributeCalculator > PrepareForGrid(vtkCellMetadata *cell, vtkCellAttribute *field) override
Subclasses should override this to create an instance of their class with member variables set to per...
friend class vtkDGRangeResponder
vtkDGCell * CellType
The cell-type for which interpolation will be performed.
Invoke an operator on DG cells/sides.
Compute the range of a cell-attribute over any vtkDGCell.
dynamic, self-adjusting array of double
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
vtkInterpolateCalculator()=default
Thread local storage for VTK objects.
Hold a reference to a vtkObjectBase instance.
vtkSmartPointer< vtkDoubleArray > VRst
void Swap(ThreadLocalData &other)
vtkDGArraysInputAccessor InAccessor
void EnsureInitialized(vtkDGCell *cellType, vtkCellAttribute *field)
vtkDGArraysInputAccessor DerInAccessor
vtkSmartPointer< vtkDoubleArray > Result
ThreadLocalData & operator=(ThreadLocalData other)
vtkSmartPointer< vtkDoubleArray > LocalField
Used when an array passed to Evaluate()/EvaluateDerivative() is not a double-array.
vtkDGOperation< vtkDGArraysInputAccessor, vtkDGArrayOutputAccessor > FieldEvaluator
Used to compute a field value for a cell.
vtkDGArrayOutputAccessor OutAccessor
vtkSmartPointer< vtkDoubleArray > DerVRst
vtkSmartPointer< vtkDoubleArray > DerResult
vtkSmartPointer< vtkIdTypeArray > Ids
vtkDGOperation< vtkDGArraysInputAccessor, vtkDGArrayOutputAccessor > FieldDerivative
Used to compute a field derivative for a cell.
vtkDGArrayOutputAccessor DerOutAccessor
vtkSmartPointer< vtkIdTypeArray > DerIds
ThreadLocalData(const ThreadLocalData &other)