Viskores  1.0
SliceMultiple.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_filter_contour_Slice_Multi_h
19 #define viskores_filter_contour_Slice_Multi_h
20 
23 
25 
26 namespace viskores
27 {
28 namespace filter
29 {
30 namespace contour
31 {
34 class VISKORES_FILTER_CONTOUR_EXPORT SliceMultiple : public viskores::filter::contour::Contour
35 {
36 public:
41  {
42  FunctionList.push_back(func);
43  }
46  {
47  VISKORES_ASSERT(id < static_cast<viskores::Id>(FunctionList.size()));
48  return FunctionList[id];
49  }
50 
51 private:
52  VISKORES_CONT viskores::cont::DataSet DoExecute(const viskores::cont::DataSet& input) override;
53 
54  std::vector<viskores::ImplicitFunctionGeneral> FunctionList;
55 };
56 } // namespace contour
57 } // namespace filter
58 } // namespace viskores
59 
60 #endif // viskores_filter_contour_Slice_Multi_h
viskores::ImplicitFunctionGeneral
Implicit function that can switch among known implicit function types.
Definition: ImplicitFunction.h:985
viskores::cont::DataSet
Contains and manages the geometric data structures that Viskores operates on.
Definition: DataSet.h:66
viskores::filter::contour::SliceMultiple::GetImplicitFunction
const viskores::ImplicitFunctionGeneral & GetImplicitFunction(viskores::Id id) const
Definition: SliceMultiple.h:45
viskores::Id
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
VISKORES_CONT
#define VISKORES_CONT
Definition: ExportMacros.h:65
viskores
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores_filter_contour_export.h
VISKORES_ASSERT
#define VISKORES_ASSERT(condition)
Definition: Assert.h:51
viskores::filter::contour::SliceMultiple::FunctionList
std::vector< viskores::ImplicitFunctionGeneral > FunctionList
Definition: SliceMultiple.h:54
ImplicitFunction.h
viskores::filter::contour::SliceMultiple::AddImplicitFunction
void AddImplicitFunction(const viskores::ImplicitFunctionGeneral &func)
Set/Get the implicit function that is used to perform the slicing.
Definition: SliceMultiple.h:40
Contour.h
viskores::filter::contour::Contour
Generate contours or isosurfaces from a region of space.
Definition: Contour.h:43
viskores::filter::contour::SliceMultiple
This filter can accept multiple implicit functions used by the slice filter.
Definition: SliceMultiple.h:34