Viskores  1.0
Boundary.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_OnBoundary_h
19 #define viskores_exec_arg_OnBoundary_h
20 
24 
25 namespace viskores
26 {
27 namespace exec
28 {
29 namespace arg
30 {
31 
38 {
39 };
40 
41 
45 {
46  static constexpr viskores::IdComponent INDEX = 1;
48 };
49 
50 template <typename FetchTag, typename ExecObjectType>
51 struct Fetch<FetchTag, viskores::exec::arg::AspectTagBoundary, ExecObjectType>
52 {
53 
55 
57  template <typename ThreadIndicesType>
58  VISKORES_EXEC ValueType Load(const ThreadIndicesType& indices, const ExecObjectType&) const
59  {
60  return indices.GetBoundaryState();
61  }
62 
63  template <typename ThreadIndicesType>
64  VISKORES_EXEC void Store(const ThreadIndicesType&, const ExecObjectType&, const ValueType&) const
65  {
66  // Store is a no-op.
67  }
68 };
69 }
70 }
71 } // namespace viskores::exec::arg
72 
73 #endif //viskores_exec_arg_OnBoundary_h
viskores::exec::arg::Fetch< FetchTag, viskores::exec::arg::AspectTagBoundary, ExecObjectType >::Store
void Store(const ThreadIndicesType &, const ExecObjectType &, const ValueType &) const
Definition: Boundary.h:64
ThreadIndicesPointNeighborhood.h
viskores::exec::BoundaryState
Provides a neighborhood's placement with respect to the mesh's boundary.
Definition: BoundaryState.h:39
VISKORES_SUPPRESS_EXEC_WARNINGS
#define VISKORES_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:61
viskores::IdComponent
viskores::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:202
viskores::exec::arg::Boundary::INDEX
static constexpr viskores::IdComponent INDEX
Definition: Boundary.h:46
ExecutionSignatureTagBase.h
viskores::exec::arg::AspectTagBoundary
Aspect tag to use for getting if a point is a boundary point.
Definition: Boundary.h:37
viskores::exec::arg::Fetch
Class for loading and storing values in thread instance.
Definition: Fetch.h:57
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
Fetch.h
viskores::exec::arg::ExecutionSignatureTagBase
The base class for all tags used in an ExecutionSignature.
Definition: ExecutionSignatureTagBase.h:45
viskores::exec::arg::Fetch< FetchTag, viskores::exec::arg::AspectTagBoundary, ExecObjectType >::Load
ValueType Load(const ThreadIndicesType &indices, const ExecObjectType &) const
Definition: Boundary.h:58
VISKORES_EXEC
#define VISKORES_EXEC
Definition: ExportMacros.h:59
viskores::exec::arg::Boundary
The ExecutionSignature tag to get if executing on a boundary element.
Definition: Boundary.h:44