Go to the documentation of this file.
51 #ifndef vtkm_worklet_cosmotools_mark_active_neighbors_h
52 #define vtkm_worklet_cosmotools_mark_active_neighbors_h
73 WholeArrayIn partIdArray,
74 WholeArrayIn location,
75 WholeArrayIn firstPartId,
76 WholeArrayIn lastPartId,
100 template <
typename InIdPortalType,
typename InFieldPortalType,
typename InVectorPortalType>
104 const InIdPortalType& partIdArray,
105 const InFieldPortalType& location,
106 const InVectorPortalType& firstPartId,
107 const InVectorPortalType& lastPartId)
const
116 for (
vtkm::Id z = zbin - 1; z <= zbin + 1; z++)
118 for (
vtkm::Id y = ybin - 1; y <= ybin + 1; y++)
120 if ((y >= 0) && (y <
yNum) && (z >= 0) && (z <
zNum))
123 vtkm::Id startParticle = firstPartId.Get(pos);
124 vtkm::Id endParticle = lastPartId.Get(pos);
128 for (
vtkm::Id j = startParticle; j < endParticle; j++)
130 vtkm::Id jPartId = partIdArray.Get(j);
133 T xDist = iloc[0] - jloc[0];
134 T yDist = iloc[1] - jloc[1];
135 T zDist = iloc[2] - jloc[2];
138 if ((xDist * xDist + yDist * yDist + zDist * zDist) <=
linkLenSq)
140 activeFlag = activeFlag | bcnt;
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
A control signature tag for output fields.
Definition: WorkletMapField.h:60
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
A control signature tag for input fields.
Definition: WorkletMapField.h:49
uint32_t UInt32
Definition: Types.h:161
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38