11 #ifndef vtk_m_worklet_connectivity_graph_connectivity_h 
   12 #define vtk_m_worklet_connectivity_graph_connectivity_h 
   23 namespace connectivity
 
   30   using ControlSignature = void(FieldIn start,
 
   33                                 AtomicArrayInOut comp);
 
   35   using ExecutionSignature = void(WorkIndex, _1, _2, _3, _4);
 
   37   template <
typename InPortalType, 
typename AtomicCompInOut>
 
   41                             const InPortalType& conn,
 
   42                             AtomicCompInOut& comp)
 const 
   44     for (
vtkm::Id offset = start; offset < start + degree; offset++)
 
   46       vtkm::Id neighbor = conn.Get(offset);
 
   52       auto thisComp = comp.Get(index);
 
   53       auto thatComp = comp.Get(neighbor);
 
   71   template <
typename InputArrayType, 
typename OutputArrayType>
 
   72   static void Run(
const InputArrayType& numIndicesArray,
 
   73                   const InputArrayType& indexOffsetsArray,
 
   74                   const InputArrayType& connectivityArray,
 
   75                   OutputArrayType& componentsOut)
 
   90       detail::GraphGraft{}, indexOffsetsArray, numIndicesArray, connectivityArray, componentsOut);
 
  100 #endif //vtk_m_worklet_connectivity_graph_connectivity_h