Viskores  1.0
MaskSelect.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_worklet_MaskSelect_h
19 #define viskores_worklet_MaskSelect_h
20 
23 
25 
26 namespace viskores
27 {
28 namespace worklet
29 {
30 
41 class VISKORES_WORKLET_EXPORT MaskSelect : public internal::MaskBase
42 {
49  char>;
50 
51 public:
53 
56  {
57  this->ThreadToOutputMap = this->Build(maskArray, device);
58  }
59 
60  template <typename RangeType>
61  viskores::Id GetThreadRange(RangeType viskoresNotUsed(outputRange)) const
62  {
63  return this->ThreadToOutputMap.GetNumberOfValues();
64  }
65 
66  template <typename RangeType>
68  {
69  return this->ThreadToOutputMap;
70  }
71 
72 private:
74 
77 };
78 }
79 } // namespace viskores::worklet
80 
81 #endif //viskores_worklet_MaskSelect_h
MaskBase.h
viskores::Int8
int8_t Int8
Base type to use for 8-bit signed integer numbers.
Definition: Types.h:173
viskoresNotUsed
#define viskoresNotUsed(parameter_name)
Simple macro to identify a parameter as unused.
Definition: ExportMacros.h:136
viskores::cont::ArrayHandle< viskores::Id >
viskores::cont::DeviceAdapterTagAny
Tag for a device adapter used to specify that any device may be used for an operation.
Definition: DeviceAdapterTag.h:194
viskores::worklet::MaskSelect::ThreadToOutputMap
ThreadToOutputMapType ThreadToOutputMap
Definition: MaskSelect.h:73
viskores_worklet_export.h
viskores::List
A template used to hold a list of types.
Definition: List.h:47
viskores::Int64
signed long long Int64
Base type to use for 64-bit signed integer numbers.
Definition: Types.h:212
viskores::worklet::MaskSelect::GetThreadRange
viskores::Id GetThreadRange(RangeType) const
Definition: MaskSelect.h:61
viskores::Id
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
viskores::worklet::MaskSelect
Mask using arrays to select specific elements to suppress.
Definition: MaskSelect.h:41
VISKORES_CONT
#define VISKORES_CONT
Definition: ExportMacros.h:65
viskores::worklet::MaskSelect::MaskSelect
MaskSelect(const viskores::cont::UnknownArrayHandle &maskArray, viskores::cont::DeviceAdapterId device=viskores::cont::DeviceAdapterTagAny())
Definition: MaskSelect.h:54
UnknownArrayHandle.h
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores::UInt64
unsigned long long UInt64
Base type to use for 64-bit signed integer numbers.
Definition: Types.h:215
viskores::UInt8
uint8_t UInt8
Base type to use for 8-bit unsigned integer numbers.
Definition: Types.h:177
viskores::cont::DeviceAdapterId
An object used to specify a device.
Definition: DeviceAdapterTag.h:66
viskores::Int32
int32_t Int32
Base type to use for 32-bit signed integer numbers.
Definition: Types.h:189
viskores::worklet::MaskSelect::GetThreadToOutputMap
ThreadToOutputMapType GetThreadToOutputMap(RangeType) const
Definition: MaskSelect.h:67
viskores::cont::UnknownArrayHandle
An ArrayHandle of an unknown value type and storage.
Definition: UnknownArrayHandle.h:451
viskores::UInt32
uint32_t UInt32
Base type to use for 32-bit unsigned integer numbers.
Definition: Types.h:193