Go to the documentation of this file.
53 #ifndef vtk_m_worklet_contourtree_augmented_contourtree_maker_inc_transfer_leaf_chains_transfer_to_contour_tree_h
54 #define vtk_m_worklet_contourtree_augmented_contourtree_maker_inc_transfer_leaf_chains_transfer_to_contour_tree_h
63 namespace contourtree_augmented
65 namespace contourtree_maker_inc
82 WholeArrayOut contourTreeHyperparents,
83 WholeArrayOut contourTreeHyperarcs,
84 WholeArrayOut contourTreeSuperarcs,
85 WholeArrayOut contourTreeWhenTransferred
123 template <
typename OutFieldPortalType>
126 const OutFieldPortalType& contourTreeHyperparentsPortal,
127 const OutFieldPortalType& contourTreeHyperarcsPortal,
128 const OutFieldPortalType& contourTreeSuperarcsPortal,
129 const OutFieldPortalType& contourTreeWhenTransferredPortal)
const
131 if ((this->OutdegreePortal.Get(superID) == 0) && (this->IndegreePortal.Get(superID) == 1))
133 contourTreeHyperparentsPortal.Set(superID, superID | (this->isJoin ? 0 :
IS_ASCENDING));
134 contourTreeHyperarcsPortal.Set(
136 contourTreeSuperarcsPortal.Set(
138 contourTreeWhenTransferredPortal.Set(superID, this->NumIterations |
IS_HYPERNODE);
146 if ((this->OutdegreePortal.Get(outNeighbour) != 0) ||
147 (this->IndegreePortal.Get(outNeighbour) != 1))
153 contourTreeSuperarcsPortal.Set(superID,
156 contourTreeHyperparentsPortal.Set(superID,
158 contourTreeWhenTransferredPortal.Set(superID, this->NumIterations |
IS_SUPERNODE);
IdPortalType OutboundPortal
Definition: TransferLeafChains_TransferToContourTree.h:95
bool isJoin
Definition: TransferLeafChains_TransferToContourTree.h:99
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
VTKM_CONT ReadPortalType PrepareForInput(vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const
Prepares this array to be used as an input to an operation in the execution environment.
Definition: ArrayHandle.h:574
void ExecutionSignature(_1, InputIndex, _2, _3, _4, _5)
Definition: TransferLeafChains_TransferToContourTree.h:88
vtkm::Id NumIterations
Definition: TransferLeafChains_TransferToContourTree.h:98
_1 InputDomain
Definition: TransferLeafChains_TransferToContourTree.h:89
VTKM_EXEC void operator()(const vtkm::Id &superID, const vtkm::Id, const OutFieldPortalType &contourTreeHyperparentsPortal, const OutFieldPortalType &contourTreeHyperarcsPortal, const OutFieldPortalType &contourTreeSuperarcsPortal, const OutFieldPortalType &contourTreeWhenTransferredPortal) const
Definition: TransferLeafChains_TransferToContourTree.h:124
IdPortalType IndegreePortal
Definition: TransferLeafChains_TransferToContourTree.h:94
VTKM_EXEC_CONT vtkm::Id MaskedIndex(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:127
typename StorageType::ReadPortalType ReadPortalType
Definition: ArrayHandle.h:294
void ControlSignature(FieldIn activeSupernodes, WholeArrayOut contourTreeHyperparents, WholeArrayOut contourTreeHyperarcs, WholeArrayOut contourTreeSuperarcs, WholeArrayOut contourTreeWhenTransferred)
Definition: TransferLeafChains_TransferToContourTree.h:81
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
A token to hold the scope of an ArrayHandle or other object.
Definition: Token.h:35
IdPortalType InwardsPortal
Definition: TransferLeafChains_TransferToContourTree.h:97
Definition: TransferLeafChains_TransferToContourTree.h:78
IdPortalType InboundPortal
Definition: TransferLeafChains_TransferToContourTree.h:96
A control signature tag for input fields.
Definition: WorkletMapField.h:49
TransferLeafChains_TransferToContourTree(const vtkm::Id nIterations, const bool IsJoin, const IdArrayType &outdegree, const IdArrayType &indegree, const IdArrayType &outbound, const IdArrayType &inbound, const IdArrayType &inwards, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token)
Definition: TransferLeafChains_TransferToContourTree.h:103
constexpr vtkm::Id IS_SUPERNODE
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:75
constexpr vtkm::Id IS_ASCENDING
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:77
vtkm::cont::ArrayHandle< vtkm::Id >::ReadPortalType IdPortalType
Definition: TransferLeafChains_TransferToContourTree.h:92
Definition: DeviceAdapterTag.h:52
IdPortalType OutdegreePortal
Definition: TransferLeafChains_TransferToContourTree.h:93
constexpr vtkm::Id IS_HYPERNODE
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:76
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38