54 #ifndef vtk_m_worklet_contourtree_augmented_contourtree_maker_inc_augment_merge_tree_init_new_join_splot_id_and_superparents_h
55 #define vtk_m_worklet_contourtree_augmented_contourtree_maker_inc_augment_merge_tree_init_new_join_splot_id_and_superparents_h
64 namespace contourtree_augmented
66 namespace contourtree_maker_inc
75 WholeArrayIn joinTreeSuperparents,
76 WholeArrayIn splitTreeSuperparents,
77 WholeArrayIn joinTreeSupernodes,
78 WholeArrayIn splitTreeSupernodes,
79 WholeArrayOut joinSuperparent,
80 WholeArrayOut splitSuperparent,
81 WholeArrayOut newJoinID,
82 WholeArrayOut newSplitID);
90 template <
typename InFieldPortalType,
typename OutFieldPortalType>
93 const InFieldPortalType& joinTreeSuperparentsPortal,
94 const InFieldPortalType& splitTreeSuperparentsPortal,
95 const InFieldPortalType& joinTreeSupernodesPortal,
96 const InFieldPortalType& splitTreeSupernodesPortal,
97 const OutFieldPortalType& joinSuperparentPortal,
98 const OutFieldPortalType& splitSuperparentPortal,
99 const OutFieldPortalType& newJoinIDPortal,
100 const OutFieldPortalType& newSplitIDPortal)
const
104 vtkm::Id joinSuperparent = joinTreeSuperparentsPortal.Get(nodeID);
106 joinSuperparentPortal.Set(supernode, joinSuperparent);
108 if (joinTreeSupernodesPortal.Get(joinSuperparent) == nodeID)
109 newJoinIDPortal.Set(joinSuperparent, supernode);
113 vtkm::Id splitSuperparent = splitTreeSuperparentsPortal.Get(nodeID);
115 splitSuperparentPortal.Set(supernode, splitSuperparent);
117 if (splitTreeSupernodesPortal.Get(splitSuperparent) == nodeID)
118 newSplitIDPortal.Set(splitSuperparent, supernode);