11#ifndef vtkDGInterpolateCalculator_h
12#define vtkDGInterpolateCalculator_h
23VTK_ABI_NAMESPACE_BEGIN
28class vtkTypeInt64Array;
45 double neighborhood)
override;
57 template <
bool UseShape>
A function defined over the physical domain of a vtkCellGrid.
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.
vtkDGOperation< vtkDGArraysInputAccessor, vtkDGArrayOutputAccessor > FieldDerivative
Used to compute a field derivative for a cell.
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.
vtkNew< vtkDoubleArray > LocalField
Used when an array passed to Evaluate()/EvaluateDerivative() is not a double-array.
void Evaluate(vtkIdType cellId, const vtkVector3d &rst, std::vector< double > &value) override
vtkCellAttribute::CellTypeInfo FieldCellInfo
The function space, basis, etc.
~vtkDGInterpolateCalculator() override=default
vtkDGOperation< vtkDGArraysInputAccessor, vtkDGArrayOutputAccessor > FieldEvaluator
Used to compute a field value for a cell.
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 vtkIdType
a simple class to control print indentation
vtkInterpolateCalculator()=default
Allocate and hold a VTK object.
Hold a reference to a vtkObjectBase instance.