Viskores  1.0
ThreadIndicesPointNeighborhood.h
Go to the documentation of this file.
1 //============================================================================
2 // The contents of this file are covered by the Viskores license. See
3 // LICENSE.txt for details.
4 //
5 // By contributing to this file, all contributors agree to the Developer
6 // Certificate of Origin Version 1.1 (DCO 1.1) as stated in DCO.txt.
7 //============================================================================
8 
9 //============================================================================
10 // Copyright (c) Kitware, Inc.
11 // All rights reserved.
12 // See LICENSE.txt for details.
13 //
14 // This software is distributed WITHOUT ANY WARRANTY; without even
15 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16 // PURPOSE. See the above copyright notice for more information.
17 //============================================================================
18 #ifndef viskores_exec_arg_ThreadIndicesPointNeighborhood_h
19 #define viskores_exec_arg_ThreadIndicesPointNeighborhood_h
20 
22 
23 namespace viskores
24 {
25 namespace exec
26 {
27 namespace arg
28 {
33 {
35 
36 public:
37  template <viskores::IdComponent Dimension>
39  const viskores::Id3& threadIndex3D,
40  viskores::Id threadIndex1D,
43  Dimension>& connectivity)
44  : Superclass(threadIndex1D,
45  viskores::exec::BoundaryState{ threadIndex3D,
46  detail::To3D(connectivity.GetPointDimensions()) })
47  {
48  }
49 
50  template <viskores::IdComponent Dimension>
52  const viskores::Id3& threadIndex3D,
53  viskores::Id threadIndex1D,
54  viskores::Id inputIndex,
55  viskores::IdComponent visitIndex,
56  viskores::Id outputIndex,
59  Dimension>& connectivity)
60  : Superclass(threadIndex1D,
61  inputIndex,
62  visitIndex,
63  outputIndex,
64  viskores::exec::BoundaryState{ threadIndex3D,
65  detail::To3D(connectivity.GetPointDimensions()) })
66  {
67  }
68 
69  template <viskores::IdComponent Dimension>
71  viskores::Id threadIndex,
72  viskores::Id inputIndex,
73  viskores::IdComponent visitIndex,
74  viskores::Id outputIndex,
77  Dimension>& connectivity)
78  : Superclass(threadIndex,
79  inputIndex,
80  visitIndex,
81  outputIndex,
82  viskores::exec::BoundaryState{
83  detail::To3D(connectivity.FlatToLogicalVisitIndex(inputIndex)),
84  detail::To3D(connectivity.GetPointDimensions()) })
85  {
86  }
87 };
88 } // arg
89 } // exec
90 } // viskores
91 #endif //viskores_exec_arg_ThreadIndicesPointNeighborhood_h
viskores::TopologyElementTagCell
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:32
viskores::exec::BoundaryState
Provides a neighborhood's placement with respect to the mesh's boundary.
Definition: BoundaryState.h:39
viskores::IdComponent
viskores::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:202
viskores::TopologyElementTagPoint
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:42
viskores::exec::arg::ThreadIndicesPointNeighborhood::ThreadIndicesPointNeighborhood
ThreadIndicesPointNeighborhood(const viskores::Id3 &threadIndex3D, viskores::Id threadIndex1D, viskores::Id inputIndex, viskores::IdComponent visitIndex, viskores::Id outputIndex, const viskores::exec::ConnectivityStructured< viskores::TopologyElementTagPoint, viskores::TopologyElementTagCell, Dimension > &connectivity)
Definition: ThreadIndicesPointNeighborhood.h:51
viskores::Id
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
ThreadIndicesNeighborhood.h
viskores::exec::arg::ThreadIndicesPointNeighborhood::ThreadIndicesPointNeighborhood
ThreadIndicesPointNeighborhood(viskores::Id threadIndex, viskores::Id inputIndex, viskores::IdComponent visitIndex, viskores::Id outputIndex, const viskores::exec::ConnectivityStructured< viskores::TopologyElementTagPoint, viskores::TopologyElementTagCell, Dimension > &connectivity)
Definition: ThreadIndicesPointNeighborhood.h:70
viskores::exec::arg::ThreadIndicesPointNeighborhood::ThreadIndicesPointNeighborhood
ThreadIndicesPointNeighborhood(const viskores::Id3 &threadIndex3D, viskores::Id threadIndex1D, const viskores::exec::ConnectivityStructured< viskores::TopologyElementTagPoint, viskores::TopologyElementTagCell, Dimension > &connectivity)
Definition: ThreadIndicesPointNeighborhood.h:38
viskores::exec::arg::ThreadIndicesPointNeighborhood
Container for thread information in a WorkletPointNeighborhood.
Definition: ThreadIndicesPointNeighborhood.h:32
viskores::exec::arg::ThreadIndicesNeighborhood
Definition: ThreadIndicesNeighborhood.h:67
viskores::Vec< viskores::Id, 3 >
viskores::exec::ConnectivityStructured
A class holding information about topology connections.
Definition: ConnectivityStructured.h:38
VISKORES_EXEC
#define VISKORES_EXEC
Definition: ExportMacros.h:59