VTK
vtkmClip.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 //=============================================================================
25 #ifndef vtkmClip_h
26 #define vtkmClip_h
27 
28 #include "vtkAcceleratorsVTKmModule.h" // For export macro
30 
31 #include <memory> // For std::unique_ptr
32 
34 
35 namespace tovtkm {
36 
38 
39 } // namespace tovtkm
40 
41 class VTKACCELERATORSVTKM_EXPORT vtkmClip : public vtkUnstructuredGridAlgorithm
42 {
43 public:
44  static vtkmClip* New();
46  void PrintSelf(ostream &os, vtkIndent indent) override;
47 
52  vtkGetMacro(ClipValue, double)
53  vtkSetMacro(ClipValue, double)
54 
59  vtkGetMacro(ComputeScalars, bool)
60  vtkSetMacro(ComputeScalars, bool)
61 
67  void SetClipFunction(vtkImplicitFunction *);
68  vtkGetObjectMacro(ClipFunction, vtkImplicitFunction);
69 
70  vtkMTimeType GetMTime() override;
71 
72 protected:
73  vtkmClip();
74  ~vtkmClip();
75 
76  int RequestData(vtkInformation*, vtkInformationVector**,
77  vtkInformationVector*) override;
78 
79  int FillInputPortInformation(int port, vtkInformation* info) override;
80 
81  double ClipValue;
82  bool ComputeScalars;
83 
84  vtkImplicitFunction *ClipFunction;
85  std::unique_ptr<tovtkm::ImplicitFunctionConverter> ClipFunctionConverter;
86 
87 private:
88  vtkmClip(const vtkmClip&) = delete;
89  void operator=(const vtkmClip&) = delete;
90 };
91 
92 #endif // vtkmClip_h
93 // VTK-HeaderTest-Exclude: vtkmClip.h
abstract interface for implicit functions
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
Clip a dataset using the accelerated vtk-m Clip filter.
Definition: vtkmClip.h:41
a simple class to control print indentation
Definition: vtkIndent.h:39
Superclass for algorithms that produce only unstructured grid as output.
Store zero or more vtkInformation instances.