VTK-m  2.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::worklet::CellMeasure Class Reference

Simple functor that returns the spatial integral of each cell as a cell field. More...

#include <CellMeasure.h>

Inheritance diagram for vtkm::worklet::CellMeasure:
vtkm::worklet::WorkletVisitCellsWithPoints vtkm::worklet::WorkletMapTopology< vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint > vtkm::exec::FunctorBase

Public Types

using ControlSignature = void(CellSetIn cellset, FieldInPoint pointCoords, FieldOutCell volumesOut)
 
using ExecutionSignature = void(CellShape, PointCount, _2, _3)
 
using InputDomain = _1
 
- Public Types inherited from vtkm::worklet::WorkletVisitCellsWithPoints
using FieldInPoint = FieldInIncident
 
using FieldInCell = FieldInVisit
 
using FieldOutCell = FieldOut
 
using FieldInOutCell = FieldInOut
 
using PointCount = IncidentElementCount
 
using PointIndices = IncidentElementIndices
 
- Public Types inherited from vtkm::worklet::WorkletMapTopology< vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint >
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
 
- Public Member Functions inherited from vtkm::worklet::WorkletMapTopology< vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint >
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC vtkm::exec::arg::ThreadIndicesTopologyMap< InputDomainType, vtkm::exec::arg::CustomScatterOrMaskTagGetThreadIndices (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
 

Detailed Description

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.

Member Typedef Documentation

◆ ControlSignature

using vtkm::worklet::CellMeasure::ControlSignature = void(CellSetIn cellset, FieldInPoint pointCoords, FieldOutCell volumesOut)

◆ ExecutionSignature

◆ InputDomain

Constructor & Destructor Documentation

◆ CellMeasure()

vtkm::worklet::CellMeasure::CellMeasure ( vtkm::filter::mesh_info::IntegrationType  m)
inlineexplicit

Member Function Documentation

◆ ComputeMeasure()

template<typename OutType , typename PointCoordVecType , typename CellShapeType >
VTKM_EXEC OutType vtkm::worklet::CellMeasure::ComputeMeasure ( const vtkm::IdComponent numPts,
const PointCoordVecType &  pts,
CellShapeType   
) const
inlineprivate

◆ operator()()

template<typename CellShape , typename PointCoordVecType , typename OutType >
VTKM_EXEC void vtkm::worklet::CellMeasure::operator() ( CellShape  shape,
const vtkm::IdComponent numPoints,
const PointCoordVecType &  pts,
OutType &  volume 
) const
inline

Member Data Documentation

◆ measure

vtkm::filter::mesh_info::IntegrationType vtkm::worklet::CellMeasure::measure
private

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