Go to the documentation of this file.
53 #ifndef vtk_m_worklet_contourtree_distributed_bract_maker_boundary_vertices_per_superarc_worklets_h
54 #define vtk_m_worklet_contourtree_distributed_bract_maker_boundary_vertices_per_superarc_worklets_h
63 namespace contourtree_distributed
73 WholeArrayOut superarcIntrinsicBoundaryCount);
84 template <
typename InFieldPortalType,
typename OutFieldPortalType>
87 const OutFieldPortalType& superarcIntrinsicBoundaryCountPortal)
const
89 if (boundaryVertex == 0)
94 vtkm::Id superarcId = boundarySuperparentsPortal.Get(boundaryVertex);
95 vtkm::Id prevSuperarcId = boundarySuperparentsPortal.Get(boundaryVertex - 1);
99 if (superarcId != prevSuperarcId)
101 superarcIntrinsicBoundaryCountPortal.Set(prevSuperarcId, boundaryVertex);
106 superarcIntrinsicBoundaryCountPortal.Set(superarcId, this->
NumBoundary);
135 WholeArrayOut superarcIntrinsicBoundaryCount);
143 template <
typename InFieldPortalType,
typename OutFieldPortalType>
146 const OutFieldPortalType& superarcIntrinsicBoundaryCountPortal)
const
148 if (boundaryVertex == 0)
153 vtkm::Id superarcId = boundarySuperparentsPortal.Get(boundaryVertex);
154 vtkm::Id prevSuperarcId = boundarySuperparentsPortal.Get(boundaryVertex - 1);
158 if (superarcId != prevSuperarcId)
160 superarcIntrinsicBoundaryCountPortal.Set(
161 superarcId, superarcIntrinsicBoundaryCountPortal.Get(superarcId) - boundaryVertex);
_1 InputDomain
Definition: BoundaryVerticesPerSuperArcWorklets.h:75
VTKM_EXEC void operator()(const InFieldPortalType &boundarySuperparentsPortal, const vtkm::Id &boundaryVertex, const OutFieldPortalType &superarcIntrinsicBoundaryCountPortal) const
Definition: BoundaryVerticesPerSuperArcWorklets.h:144
#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
void(WholeArrayIn boundarySuperparents, WholeArrayOut superarcIntrinsicBoundaryCount) ControlSignature
Definition: BoundaryVerticesPerSuperArcWorklets.h:135
Definition: BoundaryVerticesPerSuperArcWorklets.h:131
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
void(_1, InputIndex, _2) ExecutionSignature
Definition: BoundaryVerticesPerSuperArcWorklets.h:136
void(_1, InputIndex, _2) ExecutionSignature
Definition: BoundaryVerticesPerSuperArcWorklets.h:74
VTKM_EXEC void operator()(const InFieldPortalType &boundarySuperparentsPortal, const vtkm::Id &boundaryVertex, const OutFieldPortalType &superarcIntrinsicBoundaryCountPortal) const
Definition: BoundaryVerticesPerSuperArcWorklets.h:85
VTKM_EXEC_CONT BoundaryVerticiesPerSuperArcStepOneWorklet(vtkm::Id numBoundary)
Definition: BoundaryVerticesPerSuperArcWorklets.h:79
void(WholeArrayIn boundarySuperparents, WholeArrayOut superarcIntrinsicBoundaryCount) ControlSignature
Definition: BoundaryVerticesPerSuperArcWorklets.h:73
Definition: BoundaryVerticesPerSuperArcWorklets.h:69
_1 InputDomain
Definition: BoundaryVerticesPerSuperArcWorklets.h:137
vtkm::Id NumBoundary
Definition: BoundaryVerticesPerSuperArcWorklets.h:124
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38
VTKM_EXEC_CONT BoundaryVerticiesPerSuperArcStepTwoWorklet()
Definition: BoundaryVerticesPerSuperArcWorklets.h:141