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 
18 class VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT vtkPVMetaClipDataSet
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
SetValue
void SetValue(vtkIdType valueIdx, ValueType value)
vtkPVMetaClipDataSet::SetClipFunction
void SetClipFunction(vtkImplicitFunction *func)
Expose method from vtkCutter.
Definition: vtkPVMetaClipDataSet.h:44
vtkPVDataSetAlgorithmSelectorFilter::ProcessRequest
int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo) override
Forward those methods to the underneath filters.
vtkInformationVector
vtkPVDataSetAlgorithmSelectorFilter::RequestDataObject
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *outputVector)
vtkImplicitFunction
vtkPVDataSetAlgorithmSelectorFilter::New
static vtkPVDataSetAlgorithmSelectorFilter * New()
vtkCollection
vtkPVMetaClipDataSet
Definition: vtkPVMetaClipDataSet.h:18
vtkIndent
vtkInformation
vtkPVDataSetAlgorithmSelectorFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkPVDataSetAlgorithmSelectorFilter
Definition: vtkPVDataSetAlgorithmSelectorFilter.h:23
vtkPVDataSetAlgorithmSelectorFilter.h
vtkAlgorithm::SetInputArrayToProcess
virtual void SetInputArrayToProcess(int idx, int port, int connection, int fieldAssociation, const char *name)