VTK-m  2.0
Public Types | Public Member Functions | Public Attributes | List of all members
vtkm::exec::FieldNeighborhood< FieldPortalType > Struct Template Reference

Retrieves field values from a neighborhood. More...

#include <FieldNeighborhood.h>

Public Types

using ValueType = typename FieldPortalType::ValueType
 

Public Member Functions

VTKM_EXEC FieldNeighborhood (const FieldPortalType &portal, const vtkm::exec::BoundaryState &boundary)
 
VTKM_EXEC ValueType Get (vtkm::IdComponent i, vtkm::IdComponent j, vtkm::IdComponent k) const
 
VTKM_EXEC ValueType GetUnchecked (vtkm::IdComponent i, vtkm::IdComponent j, vtkm::IdComponent k) const
 
VTKM_EXEC ValueType Get (const vtkm::Id3 &ijk) const
 
VTKM_EXEC ValueType GetUnchecked (const vtkm::Id3 &ijk) const
 

Public Attributes

vtkm::exec::BoundaryState const *const Boundary
 
FieldPortalType Portal
 

Detailed Description

template<typename FieldPortalType>
struct vtkm::exec::FieldNeighborhood< FieldPortalType >

Retrieves field values from a neighborhood.

FieldNeighborhood manages the retrieval of field values within the neighborhood of a WorkletPointNeighborhood worklet. The Get methods take ijk indices relative to the neighborhood (with 0, 0, 0 being the element visted) and return the field value at that part of the neighborhood. If the requested neighborhood is outside the boundary, a different value will be returned determined by the boundary behavior. A BoundaryState object can be used to determine if the neighborhood extends beyond the boundary of the mesh.

This class is typically constructed using the FieldInNeighborhood tag in an ExecutionSignature. There is little reason to construct this in user code.

FieldNeighborhood is templated on the array portal from which field values are retrieved.

Member Typedef Documentation

◆ ValueType

template<typename FieldPortalType >
using vtkm::exec::FieldNeighborhood< FieldPortalType >::ValueType = typename FieldPortalType::ValueType

Constructor & Destructor Documentation

◆ FieldNeighborhood()

template<typename FieldPortalType >
VTKM_EXEC vtkm::exec::FieldNeighborhood< FieldPortalType >::FieldNeighborhood ( const FieldPortalType &  portal,
const vtkm::exec::BoundaryState boundary 
)
inline

Member Function Documentation

◆ Get() [1/2]

template<typename FieldPortalType >
VTKM_EXEC ValueType vtkm::exec::FieldNeighborhood< FieldPortalType >::Get ( const vtkm::Id3 ijk) const
inline

◆ Get() [2/2]

template<typename FieldPortalType >
VTKM_EXEC ValueType vtkm::exec::FieldNeighborhood< FieldPortalType >::Get ( vtkm::IdComponent  i,
vtkm::IdComponent  j,
vtkm::IdComponent  k 
) const
inline

◆ GetUnchecked() [1/2]

template<typename FieldPortalType >
VTKM_EXEC ValueType vtkm::exec::FieldNeighborhood< FieldPortalType >::GetUnchecked ( const vtkm::Id3 ijk) const
inline

◆ GetUnchecked() [2/2]

template<typename FieldPortalType >
VTKM_EXEC ValueType vtkm::exec::FieldNeighborhood< FieldPortalType >::GetUnchecked ( vtkm::IdComponent  i,
vtkm::IdComponent  j,
vtkm::IdComponent  k 
) const
inline

Member Data Documentation

◆ Boundary

template<typename FieldPortalType >
vtkm::exec::BoundaryState const* const vtkm::exec::FieldNeighborhood< FieldPortalType >::Boundary

◆ Portal

template<typename FieldPortalType >
FieldPortalType vtkm::exec::FieldNeighborhood< FieldPortalType >::Portal

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