Go to the documentation of this file.
11 #ifndef vtk_m_filter_flow_worklet_CellInterpolationHelper_h
12 #define vtk_m_filter_flow_worklet_CellInterpolationHelper_h
70 ,
Connectivity(connectivity.PrepareForInput(device, token))
82 :
Shape(shape.PrepareForInput(device, token))
83 ,
Offset(offset.PrepareForInput(device, token))
84 ,
Connectivity(connectivity.PrepareForInput(device, token))
100 logicalCellId[0] = cellId % this->
CellDims[0];
105 indices.
Append((logicalCellId[2] * this->
PointDims[1] + logicalCellId[1]) *
108 indices.
Append(indices[0] + 1);
110 indices.
Append(indices[2] - 1);
112 indices.
Append(indices[4] + 1);
113 indices.
Append(indices[5] + this->PointDims[0]);
114 indices.
Append(indices[6] - 1);
120 indices.
Append(logicalCellId[1] * this->
PointDims[0] + logicalCellId[0]);
121 indices.
Append(indices[0] + 1);
123 indices.
Append(indices[2] - 1);
143 cellShape = this->
Shape.Get(cellId);
147 indices.
Append(this->Connectivity.Get(offset + i));
223 const auto cellShapes =
225 const auto numIndices =
285 #endif //vtk_m_filter_flow_worklet_CellInterpolationHelper_h
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:34
HelperType
Definition: CellInterpolationHelper.h:44
vtkm::cont::ArrayHandle< vtkm::UInt8 > Shape
Definition: CellInterpolationHelper.h:276
vtkm::IdComponent PointsPerCell
Definition: CellInterpolationHelper.h:169
const VTKM_CONT ExecutionType PrepareForExecution(vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const
Definition: CellInterpolationHelper.h:249
#define VTKM_EXEC
Definition: ExportMacros.h:51
VTKM_CONT CellInterpolationHelper(const vtkm::Id3 &cellDims, const vtkm::Id3 &pointDims, bool is3D)
Definition: CellInterpolationHelper.h:55
Groups connected points that have the same field value.
Definition: Atomic.h:19
typename ConnType::ReadPortalType ConnPortalType
Definition: CellInterpolationHelper.h:41
VTKM_CONT bool CanConvert() const
Returns true if this cell set can be retrieved as the given type.
Definition: UnknownCellSet.h:161
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
Definition: CastAndCall.h:32
CellInterpolationHelper(const vtkm::UInt8 cellShape, const vtkm::IdComponent pointsPerCell, const ConnType &connectivity, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token)
Definition: CellInterpolationHelper.h:63
typename ShapeType::ReadPortalType ShapePortalType
Definition: CellInterpolationHelper.h:39
vtkm::Id3 PointDims
Definition: CellInterpolationHelper.h:165
Definition: CastAndCall.h:34
VTKM_CONT T ArrayGetValue(vtkm::Id id, const vtkm::cont::ArrayHandle< T, S > &data)
Obtain a small set of values from an ArrayHandle with minimal device transfers.
Definition: ArrayGetValues.h:264
A CellSet of an unknown type.
Definition: UnknownCellSet.h:48
typename StorageType::ReadPortalType ReadPortalType
Definition: ArrayHandle.h:294
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
OffsetPortalType Offset
Definition: CellInterpolationHelper.h:172
vtkm::Id3 PointDims
Definition: CellInterpolationHelper.h:270
A token to hold the scope of an ArrayHandle or other object.
Definition: Token.h:35
HelperType Type
Definition: CellInterpolationHelper.h:162
VTKM_CONT void AsCellSet(CellSetType &cellSet) const
Get the cell set as a known type.
Definition: UnknownCellSet.h:178
This class is thrown when VTKm detects an internal state that should never be reached.
Definition: ErrorInternal.h:26
vtkm::cont::ArrayHandle< vtkm::Id > Offset
Definition: CellInterpolationHelper.h:277
vtkm::IdComponent PointsPerCell
Definition: CellInterpolationHelper.h:274
VTKM_CONT CellInterpolationHelper()=default
bool Is3D
Definition: CellInterpolationHelper.h:166
VTKM_EXEC_CONT void Append(ComponentType value)
Definition: VecVariable.h:80
vtkm::exec::CellInterpolationHelper ExecutionType
Definition: CellInterpolationHelper.h:187
VTKM_CONT CellInterpolationHelper(const ShapeType &shape, const OffsetType &offset, const ConnType &connectivity, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token)
Definition: CellInterpolationHelper.h:77
A short variable-length array with maximum length.
Definition: VecVariable.h:30
ConnPortalType Connectivity
Definition: CellInterpolationHelper.h:173
Definition: CellInterpolationHelper.h:33
VTKM_EXEC void GetCellInfo(const vtkm::Id &cellId, vtkm::UInt8 &cellShape, vtkm::IdComponent &numVerts, vtkm::VecVariable< vtkm::Id, 8 > &indices) const
Definition: CellInterpolationHelper.h:90
vtkm::Id3 CellDims
Definition: CellInterpolationHelper.h:269
#define VTKM_CONT
Definition: ExportMacros.h:57
bool Is3D
Definition: CellInterpolationHelper.h:271
@ CELL_SHAPE_HEXAHEDRON
Definition: CellShape.h:48
uint8_t UInt8
Definition: Types.h:157
vtkm::Vec< vtkm::Id, 3 > Id3
Id3 corresponds to a 3-dimensional index for 3d arrays.
Definition: Types.h:1003
ShapePortalType Shape
Definition: CellInterpolationHelper.h:171
vtkm::UInt8 CellShape
Definition: CellInterpolationHelper.h:168
VTKM_CONT CellInterpolationHelper()=default
vtkm::cont::ArrayHandle< vtkm::Id > Connectivity
Definition: CellInterpolationHelper.h:278
Base ExecutionObjectBase for execution objects to inherit from so that you can use an arbitrary objec...
Definition: ExecutionObjectBase.h:31
Definition: DeviceAdapterTag.h:52
Definition: CellInterpolationHelper.h:184
Definition: CastAndCall.h:36
typename OffsetType::ReadPortalType OffsetPortalType
Definition: CellInterpolationHelper.h:40
vtkm::UInt8 CellShape
Definition: CellInterpolationHelper.h:273
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24
vtkm::Id3 CellDims
Definition: CellInterpolationHelper.h:164
VTKM_CONT CellInterpolationHelper(const vtkm::cont::UnknownCellSet &cellSet)
Definition: CellInterpolationHelper.h:198
ExecutionType::HelperType Type
Definition: CellInterpolationHelper.h:279
@ CELL_SHAPE_QUAD
Definition: CellShape.h:45