VTK-m
2.0
|
Simple functor that returns the spatial integral of each cell as a cell field. More...
#include <CellMeasure.h>
Public Types | |
using | ControlSignature = void(CellSetIn cellset, FieldInPoint pointCoords, FieldOutCell volumesOut) |
using | ExecutionSignature = void(CellShape, PointCount, _2, _3) |
using | InputDomain = _1 |
![]() | |
using | FieldInPoint = FieldInIncident |
using | FieldInCell = FieldInVisit |
using | FieldOutCell = FieldOut |
using | FieldInOutCell = FieldInOut |
using | PointCount = IncidentElementCount |
using | PointIndices = IncidentElementIndices |
![]() | |
using | VisitTopologyType = vtkm::TopologyElementTagCell |
using | IncidentTopologyType = vtkm::TopologyElementTagPoint |
Public Member Functions | |
CellMeasure (vtkm::filter::mesh_info::IntegrationType m) | |
template<typename CellShape , typename PointCoordVecType , typename OutType > | |
VTKM_EXEC void | operator() (CellShape shape, const vtkm::IdComponent &numPoints, const PointCoordVecType &pts, OutType &volume) const |
![]() | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC vtkm::exec::arg::ThreadIndicesTopologyMap< InputDomainType, vtkm::exec::arg::CustomScatterOrMaskTag > | GetThreadIndices (vtkm::Id threadIndex, const OutToInArrayType &outToIn, const VisitArrayType &visit, const ThreadToOutArrayType &threadToOut, const InputDomainType &connectivity) const |
Topology map worklets use topology map indices. More... | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC EnableFnWhen< S &&M, vtkm::exec::arg::ThreadIndicesTopologyMap< InputDomainType, vtkm::exec::arg::DefaultScatterAndMaskTag > > | GetThreadIndices (vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &vtkmNotUsed(outToIn), const VisitArrayType &vtkmNotUsed(visit), const ThreadToOutArrayType &vtkmNotUsed(threadToOut), const InputDomainType &connectivity) const |
Optimized for ScatterIdentity and MaskNone. More... | |
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC EnableFnWhen<!(S &&M), vtkm::exec::arg::ThreadIndicesTopologyMap< InputDomainType, vtkm::exec::arg::CustomScatterOrMaskTag > > | GetThreadIndices (vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &outToIn, const VisitArrayType &visit, const ThreadToOutArrayType &threadToOut, const InputDomainType &connectivity) const |
Default version. More... | |
Private Member Functions | |
template<typename OutType , typename PointCoordVecType , typename CellShapeType > | |
VTKM_EXEC OutType | ComputeMeasure (const vtkm::IdComponent &numPts, const PointCoordVecType &pts, CellShapeType) const |
Private Attributes | |
vtkm::filter::mesh_info::IntegrationType | measure |
Simple functor that returns the spatial integral of each cell as a cell field.
The integration is done over the spatial extent of the cell and thus units are either null, arc length, area, or volume depending on whether the parametric dimension of the cell is 0 (vertices), 1 (curves), 2 (surfaces), or 3 (volumes). The template parameter of this class configures which types of cells (based on their parametric dimensions) should be integrated. Other cells will report 0.
Note that the integrals are signed; inverted cells will report negative values.
using vtkm::worklet::CellMeasure::ControlSignature = void(CellSetIn cellset, FieldInPoint pointCoords, FieldOutCell volumesOut) |
using vtkm::worklet::CellMeasure::ExecutionSignature = void(CellShape, PointCount, _2, _3) |
using vtkm::worklet::CellMeasure::InputDomain = _1 |
|
inlineexplicit |
|
inlineprivate |
|
inline |
|
private |