vtkPVMetaClipDataSet.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
3 // SPDX-License-Identifier: BSD-3-Clause
10 #ifndef vtkPVMetaClipDataSet_h
11 #define vtkPVMetaClipDataSet_h
12 
14 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" //needed for exports
15 
17 
20 {
21 public:
23  void PrintSelf(ostream& os, vtkIndent indent) override;
24 
25  static vtkPVMetaClipDataSet* New();
26 
27  static const unsigned METACLIP_DATASET = 0;
28  static const unsigned METACLIP_HYPERTREEGRID = 1;
29 
33  void PreserveInputCells(int keepCellAsIs);
34 
35  void SetImplicitFunction(vtkImplicitFunction* func);
36 
37  void SetInsideOut(int insideOut);
38 
39  // Only available for cut -------------
40 
44  void SetClipFunction(vtkImplicitFunction* func) { this->SetImplicitFunction(func); };
45 
49  void SetDataSetClipFunction(vtkImplicitFunction* func);
50 
54  void SetHyperTreeGridClipFunction(vtkImplicitFunction* func);
55 
59  void SetValue(double value);
60 
62  int idx, int port, int connection, int fieldAssociation, const char* name) override;
64  int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) override;
65  void SetInputArrayToProcess(int idx, vtkInformation* info) override;
66 
68  int idx, int port, int connection, const char* fieldName, const char* fieldType) override;
69 
71 
77  vtkSetMacro(ExactBoxClip, bool);
78  vtkGetMacro(ExactBoxClip, bool);
79  vtkBooleanMacro(ExactBoxClip, bool);
81 
85  void SetUseValueAsOffset(int);
86 
91  int ProcessRequest(
92  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
93 
94  // Add validation for active filter so that the vtkExtractGeometry
95  // won't be used without ImplicifFuntion being set.
96  int ProcessRequest(
97  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo) override;
98 
99  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
100  vtkInformationVector* outputVector) override;
101 
102 protected:
104  ~vtkPVMetaClipDataSet() override;
105 
106  // Check to see if this filter can do crinkle, return true if
107  // we need to switch active filter, so that we can switch back after.
108  bool SwitchFilterForCrinkle();
109 
110  vtkImplicitFunction* ImplicitFunctions[2];
111 
112 private:
114  void operator=(const vtkPVMetaClipDataSet&) = delete;
115 
116  bool ExactBoxClip;
117 
118  class vtkInternals;
119  vtkInternals* Internal;
120 };
121 
122 #endif
Meta class for clip filter that will allow the user to switch between a regular clip filter or an ext...
void SetValue(vtkIdType valueIdx, ValueType value)
int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo) override
Forward those methods to the underneath filters.
static vtkPVDataSetAlgorithmSelectorFilter * New()
info
void SetClipFunction(vtkImplicitFunction *func)
Expose method from vtkCutter.
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *outputVector)
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, const char *name)
name
is a generic vtkAlgorithm that allow the user to register several vtkAlgorithm to it and be able to s...
void PrintSelf(ostream &os, vtkIndent indent) override
#define VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT
value
port