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 
63  int idx, int port, int connection, int fieldAssociation, const char* name) override;
65  int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) override;
66  void SetInputArrayToProcess(int idx, vtkInformation* info) override;
67 
69  int idx, int port, int connection, const char* fieldName, const char* fieldType) override;
70 
72 
78  vtkSetMacro(ExactBoxClip, bool);
79  vtkGetMacro(ExactBoxClip, bool);
80  vtkBooleanMacro(ExactBoxClip, bool);
82 
86  void SetUseValueAsOffset(int);
87 
92  int ProcessRequest(
93  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
94 
95  // Add validation for active filter so that the vtkExtractGeometry
96  // won't be used without ImplicifFuntion being set.
97  int ProcessRequest(
98  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo) override;
99 
100  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
101  vtkInformationVector* outputVector) override;
102 
107  vtkMTimeType GetMTime() override;
108 
109 protected:
111  ~vtkPVMetaClipDataSet() override;
112 
113  // Check to see if this filter can do crinkle, return true if
114  // we need to switch active filter, so that we can switch back after.
115  bool SwitchFilterForCrinkle();
116 
117  vtkImplicitFunction* ImplicitFunctions[2];
118 
119 private:
121  void operator=(const vtkPVMetaClipDataSet&) = delete;
122 
123  bool ExactBoxClip;
124 
125  class vtkInternals;
126  vtkInternals* Internal;
127 };
128 
129 #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)
vtkTypeUInt64 vtkMTimeType
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
vtkMTimeType GetMTime() override
Override GetMTime because we delegate to other filters to do the real work.
port