Go to the documentation of this file.
53 #ifndef vtk_m_worklet_contourtree_augmented_contourtree_maker_inc_transfer_leaf_chains_init_in_and_outbound_h
54 #define vtk_m_worklet_contourtree_augmented_contourtree_maker_inc_transfer_leaf_chains_init_in_and_outbound_h
63 namespace contourtree_augmented
65 namespace contourtree_maker_inc
74 WholeArrayIn outdegree,
75 WholeArrayIn indegree,
76 WholeArrayOut outbound,
87 template <
typename InFieldPortalType,
typename OutFieldPortalType>
90 const InFieldPortalType& inwardsPortal,
91 const InFieldPortalType& outdegreePortal,
92 const InFieldPortalType& indegreePortal,
93 const OutFieldPortalType& outboundPortal,
94 const OutFieldPortalType& inboundPortal)
const
96 vtkm::Id inNeighbour = inwardsPortal.Get(superID);
99 if ((outdegreePortal.Get(superID) == 0) && (indegreePortal.Get(superID) == 1))
102 inboundPortal.Set(superID, inNeighbour);
104 else if ((outdegreePortal.Get(superID) != 1) || (indegreePortal.Get(superID) != 1))
112 inboundPortal.Set(superID, inNeighbour);
120 if ((outdegreePortal.Get(inNeighbour) == 1) && (indegreePortal.Get(inNeighbour) == 1))
122 outboundPortal.Set(inNeighbour, superID);
#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
Definition: TransferLeafChains_InitInAndOutbound.h:69
constexpr vtkm::Id TERMINAL_ELEMENT
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:74
VTKM_EXEC_CONT TransferLeafChains_InitInAndOutbound()
Definition: TransferLeafChains_InitInAndOutbound.h:85
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
_1 InputDomain
Definition: TransferLeafChains_InitInAndOutbound.h:80
void ControlSignature(FieldIn activeSupernodes, WholeArrayIn inwards, WholeArrayIn outdegree, WholeArrayIn indegree, WholeArrayOut outbound, WholeArrayOut inbound)
Definition: TransferLeafChains_InitInAndOutbound.h:72
VTKM_EXEC_CONT bool NoSuchElement(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:97
VTKM_EXEC void operator()(const vtkm::Id &superID, const vtkm::Id, const InFieldPortalType &inwardsPortal, const InFieldPortalType &outdegreePortal, const InFieldPortalType &indegreePortal, const OutFieldPortalType &outboundPortal, const OutFieldPortalType &inboundPortal) const
Definition: TransferLeafChains_InitInAndOutbound.h:88
A control signature tag for input fields.
Definition: WorkletMapField.h:49
void ExecutionSignature(_1, InputIndex, _2, _3, _4, _5, _6)
Definition: TransferLeafChains_InitInAndOutbound.h:79
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38