Go to the documentation of this file.
   53 #ifndef vtk_m_worklet_contourtree_augmented_active_graph_initialize_active_edges_h 
   54 #define vtk_m_worklet_contourtree_augmented_active_graph_initialize_active_edges_h 
   64 namespace contourtree_augmented
 
   66 namespace active_graph_inc
 
   71 template <
class MeshClassType>
 
   81     ExecObject meshStructure,        
 
   85     WholeArrayIn neighbourhoodMasks, 
 
   86     WholeArrayOut edgeNear,          
 
   87     WholeArrayOut edgeFar,           
 
   88     WholeArrayOut activeEdges);      
 
   97   template <
typename MeshStructureType, 
typename InFieldPortalType, 
typename OutFieldPortalType>
 
  100                             const MeshStructureType& meshStructure,
 
  103                             const InFieldPortalType& extrema,
 
  104                             const InFieldPortalType& neighbourhoodMasks,
 
  105                             const OutFieldPortalType& edgeNear,
 
  106                             const OutFieldPortalType& edgeFar,
 
  107                             const OutFieldPortalType& activeEdges)
 const 
  114       for (
vtkm::Id nbrNo = 0; nbrNo < meshStructure.GetMaxNumberOfNeighbours(); ++nbrNo)
 
  115         if (neighbourhoodMasks.Get(sortIndex) & (
static_cast<vtkm::Id>(1) << nbrNo))
 
  117           neigbourComponents[currNbrNo++] = meshStructure.GetNeighbourIndex(sortIndex, nbrNo);
 
  131       for (
vtkm::Id edge = 0; edge < outdegree; edge++)
 
  134         vtkm::Id edgeID = firstEdgeIndex + edge;
 
  137         edgeNear.Set(edgeID, activeIndex);
 
  138         edgeFar.Set(edgeID, 
MaskedIndex(extrema.Get(neigbourComponents[edge])));
 
  141         activeEdges.Set(edgeID, edgeID);
 
  
VTKM_EXEC void operator()(const vtkm::Id &outdegree, const vtkm::Id activeIndex, const MeshStructureType &meshStructure, const vtkm::Id &firstEdgeIndex, const vtkm::Id &sortIndex, const InFieldPortalType &extrema, const InFieldPortalType &neighbourhoodMasks, const OutFieldPortalType &edgeNear, const OutFieldPortalType &edgeFar, const OutFieldPortalType &activeEdges) const
Definition: InitializeActiveEdges.h:98
 
#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
 
_1 InputDomain
Definition: InitializeActiveEdges.h:91
 
VTKM_EXEC_CONT InitializeActiveEdges()
Definition: InitializeActiveEdges.h:95
 
VTKM_EXEC_CONT vtkm::Id MaskedIndex(vtkm::Id flaggedIndex)
Definition: filter/scalar_topology/worklet/contourtree_augmented/Types.h:127
 
void ExecutionSignature(_1, InputIndex, _2, _3, _4, _5, _6, _7, _8, _9)
Definition: InitializeActiveEdges.h:89
 
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
 
#define MAX_OUTDEGREE
Definition: Mesh2D_DEM_Triangulation_Macros.h:76
 
A control signature tag for input fields.
Definition: WorkletMapField.h:49
 
Definition: InitializeActiveEdges.h:72
 
void ControlSignature(FieldIn outdegree, ExecObject meshStructure, FieldIn firstEdge, FieldIn globalIndex, WholeArrayIn extrema, WholeArrayIn neighbourhoodMasks, WholeArrayOut edgeNear, WholeArrayOut edgeFar, WholeArrayOut activeEdges)
Additional basic execution argument tags.
Definition: InitializeActiveEdges.h:79
 
Base class for worklets that do a simple mapping of field arrays.
Definition: WorkletMapField.h:38