VTK  9.5.2
vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing > Class Template Reference

Evaluate a vtkDGOperationEntry on a provided cell ID at provided parametric coordinates. More...

#include <vtkDGOperationEvaluator.h>

Inheritance diagram for vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >:
[legend]
Collaboration diagram for vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >:
[legend]

Public Types

using InputIteratorType = InputIterator
using OutputIteratorType = OutputIterator

Public Member Functions

 vtkDGOperationEvaluator (vtkDGOperatorEntry &op, vtkDataArray *connectivity, vtkDataArray *values, vtkDataArray *sideConn, vtkTypeUInt64 offset, vtkDGOperatorEntry shapeGradient=vtkDGOperatorEntry(), vtkDataArray *shapeConnectivity=nullptr, vtkDataArray *shapeValues=nullptr)
void CloneInto (vtkDGOperationStateEntryBase &entry) const override
void InnerProduct (vtkTypeUInt64 tt, OutputIterator &outIter) const
 Compute the inner product of this->BasisTuple and this->ValueTuple, storing the result in the tt-th tuple of result.
void ShapeInnerProduct () const
 Compute the inner product of this->ShapeBasisTuple and this->ShapeValueTuple, storing the result in this->Jacobian.
void ComputeJacobian () const
 Compute the shape-attribute Jacobian matrix, storing it in this->Jacobian.
void ApplyInverseJacobian (vtkTypeUInt64 ii, OutputIterator &outIter) const
void ApplyScaledJacobian (vtkTypeUInt64 ii, OutputIterator &outIter) const
void operator() (InputIterator &inIter, OutputIterator &outIter, vtkTypeUInt64 begin, vtkTypeUInt64 end) const
Public Member Functions inherited from vtkDGOperationState
 vtkDGOperationState (vtkDGOperatorEntry &op, vtkDataArray *connectivity, vtkDataArray *values, vtkDataArray *sideConn, vtkTypeUInt64 offset, vtkDGOperatorEntry shapeGradient=vtkDGOperatorEntry(), vtkDataArray *shapeConnectivity=nullptr, vtkDataArray *shapeValues=nullptr)
 vtkDGOperationState (const vtkDGOperationState &other)=default
virtual ~vtkDGOperationState ()=default

Static Public Member Functions

static void prepEntry (vtkDGOperationStateEntry< InputIterator, OutputIterator > &entry, vtkDGOperatorEntry op, vtkDataArray *conn, vtkDataArray *values, vtkDataArray *sides, vtkTypeUInt64 offset, vtkDGOperatorEntry shapeGradient=vtkDGOperatorEntry(), vtkDataArray *shapeConnectivity=nullptr, vtkDataArray *shapeValues=nullptr)
 Prepare an entry for evaluating op with the given data arrays and class template parameters.

Additional Inherited Members

Public Attributes inherited from vtkDGOperationState
vtkDGOperatorEntry OpEntry
vtkDataArrayCellConnectivity
vtkDataArrayCellValues
vtkDataArraySideConnectivity
vtkTypeUInt64 Offset
std::array< vtkTypeUInt64, 2 > SideTuple
std::array< double, 3 > RST { { 0, 0, 0 } }
std::vector< vtkTypeUInt64 > ConnTuple
std::vector< double > ValueTuple
std::vector< double > BasisTuple
vtkTypeUInt64 LastCellId { ~0ULL }
int NumberOfValuesPerFunction { 0 }
vtkDGOperatorEntry ShapeGradientEntry
vtkDataArrayShapeConnectivity
vtkDataArrayShapeValues
std::vector< vtkTypeUInt64 > ShapeConnTuple
std::vector< double > ShapeValueTuple
std::vector< double > ShapeBasisTuple
std::vector< double > Jacobian
int NumberOfShapeValuesPerFunction { 0 }
vtkTypeUInt64 LastShapeCellId { ~0ULL }

Detailed Description

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
class vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >

Evaluate a vtkDGOperationEntry on a provided cell ID at provided parametric coordinates.

This inherits vtkDGOperationState for all the scratch-space it provides and adds methods to perform interpolation using the scratch space.

Definition at line 57 of file vtkDGOperationEvaluator.h.

Member Typedef Documentation

◆ InputIteratorType

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
using vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::InputIteratorType = InputIterator

Definition at line 60 of file vtkDGOperationEvaluator.h.

◆ OutputIteratorType

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
using vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::OutputIteratorType = OutputIterator

Definition at line 61 of file vtkDGOperationEvaluator.h.

Constructor & Destructor Documentation

◆ vtkDGOperationEvaluator()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::vtkDGOperationEvaluator ( vtkDGOperatorEntry & op,
vtkDataArray * connectivity,
vtkDataArray * values,
vtkDataArray * sideConn,
vtkTypeUInt64 offset,
vtkDGOperatorEntry shapeGradient = vtkDGOperatorEntry(),
vtkDataArray * shapeConnectivity = nullptr,
vtkDataArray * shapeValues = nullptr )
inline

Definition at line 63 of file vtkDGOperationEvaluator.h.

Member Function Documentation

◆ CloneInto()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::CloneInto ( vtkDGOperationStateEntryBase & entry) const
inlineoverridevirtual

Implements vtkDGOperationState.

Definition at line 134 of file vtkDGOperationEvaluator.h.

◆ InnerProduct()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::InnerProduct ( vtkTypeUInt64 tt,
OutputIterator & outIter ) const
inline

Compute the inner product of this->BasisTuple and this->ValueTuple, storing the result in the tt-th tuple of result.

Definition at line 149 of file vtkDGOperationEvaluator.h.

◆ ShapeInnerProduct()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::ShapeInnerProduct ( ) const
inline

Compute the inner product of this->ShapeBasisTuple and this->ShapeValueTuple, storing the result in this->Jacobian.

Definition at line 175 of file vtkDGOperationEvaluator.h.

◆ ComputeJacobian()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::ComputeJacobian ( ) const
inline

Compute the shape-attribute Jacobian matrix, storing it in this->Jacobian.

Definition at line 199 of file vtkDGOperationEvaluator.h.

◆ ApplyInverseJacobian()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::ApplyInverseJacobian ( vtkTypeUInt64 ii,
OutputIterator & outIter ) const
inline

Definition at line 235 of file vtkDGOperationEvaluator.h.

◆ ApplyScaledJacobian()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::ApplyScaledJacobian ( vtkTypeUInt64 ii,
OutputIterator & outIter ) const
inline

Definition at line 261 of file vtkDGOperationEvaluator.h.

◆ operator()()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::operator() ( InputIterator & inIter,
OutputIterator & outIter,
vtkTypeUInt64 begin,
vtkTypeUInt64 end ) const
inline

Definition at line 287 of file vtkDGOperationEvaluator.h.

◆ prepEntry()

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::prepEntry ( vtkDGOperationStateEntry< InputIterator, OutputIterator > & entry,
vtkDGOperatorEntry op,
vtkDataArray * conn,
vtkDataArray * values,
vtkDataArray * sides,
vtkTypeUInt64 offset,
vtkDGOperatorEntry shapeGradient = vtkDGOperatorEntry(),
vtkDataArray * shapeConnectivity = nullptr,
vtkDataArray * shapeValues = nullptr )
inlinestatic

Prepare an entry for evaluating op with the given data arrays and class template parameters.

This creates a new instance of vtkDGOperationEvaluator with the given template parameters and passed arrays, then assigns its ownership (via unique pointer) to the entry.

Definition at line 427 of file vtkDGOperationEvaluator.h.


The documentation for this class was generated from the following file: