Go to the documentation of this file.
57 #ifndef vtkm_worklet_contourtree_copy_join_split_h
58 #define vtkm_worklet_contourtree_copy_join_split_h
76 WholeArrayIn indegree,
77 WholeArrayIn outdegree,
78 WholeArrayOut outbound);
86 template <
typename InFieldPortalType,
typename OutFieldPortalType>
88 const InFieldPortalType& inbound,
89 const InFieldPortalType& indegree,
90 const InFieldPortalType& outdegree,
91 const OutFieldPortalType& outbound)
const
94 if ((outdegree.Get(superID) != 1) || (indegree.Get(superID) != 1))
99 vtkm::Id inNeighbour = inbound.Get(superID);
102 if ((outdegree.Get(inNeighbour) == 1) && (indegree.Get(inNeighbour) == 1))
103 outbound.Set(inNeighbour, superID);
VTKM_EXEC_CONT CopyJoinSplit()
Definition: CopyJoinSplit.h:84
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
Definition: CopyJoinSplit.h:71
#define VTKM_EXEC_CONT
Definition: ExportMacros.h:52
_1 InputDomain
Definition: CopyJoinSplit.h:80
void(_1, _2, _3, _4, _5) ExecutionSignature
Definition: CopyJoinSplit.h:79
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
A control signature tag for input fields.
Definition: WorkletMapField.h:49
#define NO_VERTEX_ASSIGNED
Definition: filter/scalar_topology/worklet/contourtree/Types.h:77
void(FieldIn superID, WholeArrayIn inbound, WholeArrayIn indegree, WholeArrayIn outdegree, WholeArrayOut outbound) ControlSignature
Definition: CopyJoinSplit.h:78
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38
VTKM_EXEC void operator()(const vtkm::Id &superID, const InFieldPortalType &inbound, const InFieldPortalType &indegree, const InFieldPortalType &outdegree, const OutFieldPortalType &outbound) const
Definition: CopyJoinSplit.h:87