VTK  9.2.6
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 "vtkAcceleratorsVTKmFiltersModule.h" // For export macro
30 
31 #include <memory> // For std::unique_ptr
32 
34 
35 class VTKACCELERATORSVTKMFILTERS_EXPORT vtkmClip : public vtkUnstructuredGridAlgorithm
36 {
37 public:
38  static vtkmClip* New();
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
46  double GetClipValue();
47  void SetClipValue(double);
48 
53  bool GetComputeScalars();
54  void SetComputeScalars(bool);
55 
61  void SetClipFunction(vtkImplicitFunction*);
62  vtkImplicitFunction* GetClipFunction();
63 
64  vtkMTimeType GetMTime() override;
65 
67 
73  vtkGetMacro(ForceVTKm, vtkTypeBool);
74  vtkSetMacro(ForceVTKm, vtkTypeBool);
75  vtkBooleanMacro(ForceVTKm, vtkTypeBool);
77 
78 protected:
79  vtkmClip();
80  ~vtkmClip() override;
81 
84 
85  vtkTypeBool ForceVTKm = false;
86 
87  struct internals;
88  std::unique_ptr<internals> Internals;
89 
90 private:
91  vtkmClip(const vtkmClip&) = delete;
92  void operator=(const vtkmClip&) = delete;
93 };
94 
95 #endif // vtkmClip_h
abstract interface for implicit functions
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
static vtkUnstructuredGridAlgorithm * New()
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Clip a dataset using the accelerated vtk-m Clip filter.
Definition: vtkmClip.h:35
int vtkTypeBool
Definition: vtkABI.h:69
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual vtkMTimeType GetMTime()
Return this object's modified time.
Superclass for algorithms that produce only unstructured grid as output.
std::unique_ptr< internals > Internals
Definition: vtkmClip.h:87
Store zero or more vtkInformation instances.