VTK
ImplicitFunctionConverter.h
Go to the documentation of this file.
1 //=============================================================================
2 //
3 // Copyright (c) Kitware, Inc.
4 // All rights reserved.
5 // See LICENSE.txt for details.
6 //
7 // This software is distributed WITHOUT ANY WARRANTY; without even
8 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9 // PURPOSE. See the above copyright notice for more information.
10 //
11 // Copyright 2012 Sandia Corporation.
12 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
13 // the U.S. Government retains certain rights in this software.
14 //
15 //=============================================================================
16 #ifndef vtkmlib_ImplicitFunctionConverter_h
17 #define vtkmlib_ImplicitFunctionConverter_h
18 
19 #include "vtkAcceleratorsVTKmModule.h"
20 #include "vtkType.h" // For vtkMTimeType
21 
22 #include <memory> // For std::shared_ptr
23 
24 
26 
27 namespace vtkm {
28 namespace cont {
29 
30 class ImplicitFunction;
31 
32 }} // vtkm::cont
33 
34 namespace tovtkm {
35 
36 class VTKACCELERATORSVTKM_EXPORT ImplicitFunctionConverter
37 {
38 public:
40 
41  void Set(vtkImplicitFunction *);
42  const std::shared_ptr<vtkm::cont::ImplicitFunction>& Get() const;
43 
44 private:
45  vtkImplicitFunction *InFunction;
46  std::shared_ptr<vtkm::cont::ImplicitFunction> OutFunction;
47  mutable vtkMTimeType MTime;
48 };
49 
50 }
51 
52 #endif // vtkmlib_ImplicitFunctionConverter_h
abstract interface for implicit functions
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300