vtkPVMetaClipDataSet.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPVMetaClipDataSet.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
21 #ifndef vtkPVMetaClipDataSet_h
22 #define vtkPVMetaClipDataSet_h
23 
25 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" //needed for exports
26 
28 
31 {
32 public:
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
36  static vtkPVMetaClipDataSet* New();
37 
38  static const unsigned METACLIP_DATASET = 0;
39  static const unsigned METACLIP_HYPERTREEGRID = 1;
40 
44  void PreserveInputCells(int keepCellAsIs);
45 
46  void SetImplicitFunction(vtkImplicitFunction* func);
47 
48  void SetInsideOut(int insideOut);
49 
50  // Only available for cut -------------
51 
55  void SetClipFunction(vtkImplicitFunction* func) { this->SetImplicitFunction(func); };
56 
60  void SetDataSetClipFunction(vtkImplicitFunction* func);
61 
65  void SetHyperTreeGridClipFunction(vtkImplicitFunction* func);
66 
70  void SetValue(double value);
71 
73  int idx, int port, int connection, int fieldAssociation, const char* name) override;
75  int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) override;
76  void SetInputArrayToProcess(int idx, vtkInformation* info) override;
77 
79  int idx, int port, int connection, const char* fieldName, const char* fieldType) override;
80 
82 
88  vtkSetMacro(ExactBoxClip, bool);
89  vtkGetMacro(ExactBoxClip, bool);
90  vtkBooleanMacro(ExactBoxClip, bool);
92 
96  void SetUseValueAsOffset(int);
97 
102  int ProcessRequest(
103  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
104 
105  // Add validation for active filter so that the vtkExtractGeometry
106  // won't be used without ImplicifFuntion being set.
107  int ProcessRequest(
108  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo) override;
109 
110  virtual int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
111  vtkInformationVector* outputVector) override;
112 
113 protected:
115  ~vtkPVMetaClipDataSet() override;
116 
117  // Check to see if this filter can do crinkle, return true if
118  // we need to switch active filter, so that we can switch back after.
119  bool SwitchFilterForCrinkle();
120 
121  vtkImplicitFunction* ImplicitFunctions[2];
122 
123 private:
125  void operator=(const vtkPVMetaClipDataSet&) = delete;
126 
127  bool ExactBoxClip;
128 
129  class vtkInternals;
130  vtkInternals* Internal;
131 };
132 
133 #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