Go to the documentation of this file.
   11 #ifndef vtk_m_worklet_connectivity_InnerJoin_h 
   12 #define vtk_m_worklet_connectivity_InnerJoin_h 
   24 namespace connectivity
 
   39     template <
typename KeyType, 
typename ValueType1, 
typename InPortalType, 
typename ValueType2>
 
   44                               const InPortalType& value2,
 
   46                               ValueType1& value1Out,
 
   47                               ValueType2& value2Out)
 const 
   49       auto v2 = value2.Get(lowerBounds + visitIndex);
 
   59   template <
typename Key, 
typename Value1, 
typename Value2>
 
   81     mergeDisp.Invoke(key1, value1, lbs, value2, keyOut, value1Out, value2Out);
 
   97     Algorithm::Copy(componentsInOut, uniqueComponents);
 
   98     Algorithm::Sort(uniqueComponents);
 
   99     Algorithm::Unique(uniqueComponents);
 
  118     Algorithm::SortByKey(pixelIdsOut, componentsInOut);
 
  125 #endif //vtk_m_worklet_connectivity_InnerJoin_h 
  
static void Run(vtkm::cont::ArrayHandle< vtkm::Id > &componentsInOut)
Definition: InnerJoin.h:88
 
VTKM_CONT vtkm::Id GetNumberOfValues() const
Returns the number of entries in the array.
Definition: ArrayHandle.h:448
 
static VTKM_CONT void SortByKey(vtkm::cont::DeviceAdapterId devId, vtkm::cont::ArrayHandle< T, StorageT > &keys, vtkm::cont::ArrayHandle< U, StorageU > &values)
Definition: Algorithm.h:993
 
Manages an array-worth of data.
Definition: ArrayHandle.h:283
 
#define VTKM_EXEC
Definition: ExportMacros.h:51
 
Groups connected points that have the same field value.
Definition: Atomic.h:19
 
A control signature tag for output fields.
Definition: WorkletMapField.h:60
 
static VTKM_CONT void UpperBounds(vtkm::cont::DeviceAdapterId devId, const vtkm::cont::ArrayHandle< T, CIn > &input, const vtkm::cont::ArrayHandle< T, CVal > &values, vtkm::cont::ArrayHandle< vtkm::Id, COut > &output)
Definition: Algorithm.h:1091
 
static VTKM_CONT void LowerBounds(vtkm::cont::DeviceAdapterId devId, const vtkm::cont::ArrayHandle< T, CIn > &input, const vtkm::cont::ArrayHandle< T, CVal > &values, vtkm::cont::ArrayHandle< vtkm::Id, COut > &output)
Definition: Algorithm.h:604
 
_1 InputDomain
Definition: InnerJoin.h:34
 
VTKM_EXEC void operator()(KeyType key, ValueType1 value1, vtkm::Id lowerBounds, vtkm::Id visitIndex, const InPortalType &value2, vtkm::Id &keyOut, ValueType1 &value1Out, ValueType2 &value2Out) const
Definition: InnerJoin.h:40
 
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
 
void(FieldIn, FieldIn, FieldIn, WholeArrayIn, FieldOut, FieldOut, FieldOut) ControlSignature
Definition: InnerJoin.h:32
 
A scatter that maps input to some numbers of output.
Definition: ScatterCounting.h:44
 
Dispatcher for worklets that inherit from WorkletMapField.
Definition: DispatcherMapField.h:25
 
Definition: InnerJoin.h:29
 
A control signature tag for input fields.
Definition: WorkletMapField.h:49
 
Definition: InnerJoin.h:85
 
void(_1, _2, _3, VisitIndex, _4, _5, _6, _7) ExecutionSignature
Definition: InnerJoin.h:33
 
Definition: Algorithm.h:385
 
static VTKM_CONT void Transform(vtkm::cont::DeviceAdapterId devId, const vtkm::cont::ArrayHandle< T, StorageT > &input1, const vtkm::cont::ArrayHandle< U, StorageU > &input2, vtkm::cont::ArrayHandle< V, StorageV > &output, BinaryFunctor binaryFunctor)
Definition: Algorithm.h:1037
 
Definition: InnerJoin.h:26
 
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:43
 
static void Run(vtkm::cont::ArrayHandle< Key > &key1, vtkm::cont::ArrayHandle< Value1 > &value1, vtkm::cont::ArrayHandle< Key > &key2, vtkm::cont::ArrayHandle< Value2 > &value2, vtkm::cont::ArrayHandle< Key > &keyOut, vtkm::cont::ArrayHandle< Value1 > &value1Out, vtkm::cont::ArrayHandle< Value2 > &value2Out)
Definition: InnerJoin.h:60
 
An implicit array handle containing the its own indices.
Definition: ArrayHandleIndex.h:54
 
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38