VTK  9.2.5
vtkMaskFields.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMaskFields.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 =========================================================================*/
65 #ifndef vtkMaskFields_h
66 #define vtkMaskFields_h
67 
68 #include "vtkDataSetAlgorithm.h"
69 #include "vtkFiltersCoreModule.h" // For export macro
70 
71 #include "vtkDataSetAttributes.h" // Needed for NUM_ATTRIBUTES
72 
73 class vtkDataSet;
74 
75 class VTKFILTERSCORE_EXPORT vtkMaskFields : public vtkDataSetAlgorithm
76 {
77 public:
79  void PrintSelf(ostream& os, vtkIndent indent) override;
80 
84  static vtkMaskFields* New();
85 
101  void CopyFieldOn(int fieldLocation, const char* name)
102  {
103  this->CopyFieldOnOff(fieldLocation, name, 1);
104  }
105  void CopyFieldOff(int fieldLocation, const char* name)
106  {
107  this->CopyFieldOnOff(fieldLocation, name, 0);
108  }
109 
125  void CopyAttributeOn(int attributeLocation, int attributeType)
126  {
127  this->CopyAttributeOnOff(attributeLocation, attributeType, 1);
128  }
129  void CopyAttributeOff(int attributeLocation, int attributeType)
130  {
131  this->CopyAttributeOnOff(attributeLocation, attributeType, 0);
132  }
133 
138  void CopyFieldsOff() { this->CopyFields = 0; }
139  void CopyAttributesOff() { this->CopyAttributes = 0; }
140 
141  void CopyFieldsOn() { this->CopyFields = 1; }
142  void CopyAttributesOn() { this->CopyAttributes = 1; }
143 
145 
149  void CopyAttributeOn(const char* attributeLoc, const char* attributeType);
150  void CopyAttributeOff(const char* attributeLoc, const char* attributeType);
151  void CopyFieldOn(const char* fieldLoc, const char* name);
152  void CopyFieldOff(const char* fieldLoc, const char* name);
154 
164  virtual void CopyAllOn();
165 
175  virtual void CopyAllOff();
176 
178  {
179  OBJECT_DATA = 0,
180  POINT_DATA = 1,
181  CELL_DATA = 2
182  };
183 
184 protected:
186  ~vtkMaskFields() override;
187 
189 
191  {
192  char* Name;
193  int Type;
194  int Location;
195  int IsCopied;
196  };
197 
198  CopyFieldFlag* CopyFieldFlags; // the names of fields not to be copied
199  int NumberOfFieldFlags; // the number of fields not to be copied
200  void CopyFieldOnOff(int fieldLocation, const char* name, int onOff);
201  void CopyAttributeOnOff(int attributeLocation, int attributeType, int onOff);
203  int FindFlag(const char* field, int location);
204  int FindFlag(int arrayType, int location);
205  int GetFlag(const char* field, int location);
206  int GetFlag(int arrayType, int location);
207  int GetAttributeLocation(const char* loc);
208  int GetAttributeType(const char* type);
209 
212 
213  static char FieldLocationNames[3][12];
214  static char AttributeNames[vtkDataSetAttributes::NUM_ATTRIBUTES][10];
215 
216 private:
217  vtkMaskFields(const vtkMaskFields&) = delete;
218  void operator=(const vtkMaskFields&) = delete;
219 };
220 
221 #endif
Superclass for algorithms that produce output of the same type as input.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:172
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Allow control of which fields get passed to the output.
Definition: vtkMaskFields.h:76
virtual void CopyAllOff()
Turn off copying of all data.
static vtkMaskFields * New()
Create a new vtkMaskFields.
~vtkMaskFields() override
void CopyFieldOff(int fieldLocation, const char *name)
void CopyFieldsOn()
int GetAttributeType(const char *type)
void CopyFieldOff(const char *fieldLoc, const char *name)
Helper methods used by other language bindings.
void CopyAttributeOff(int attributeLocation, int attributeType)
int GetFlag(int arrayType, int location)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void CopyAttributesOn()
virtual void CopyAllOn()
Turn on copying of all data.
void CopyAttributeOn(int attributeLocation, int attributeType)
Turn on/off the copying of the attribute or specified by vtkDataSetAttributes:AttributeTypes.
void CopyAttributeOff(const char *attributeLoc, const char *attributeType)
Helper methods used by other language bindings.
void ClearFieldFlags()
int GetFlag(const char *field, int location)
void CopyFieldOnOff(int fieldLocation, const char *name, int onOff)
void CopyAttributeOn(const char *attributeLoc, const char *attributeType)
Helper methods used by other language bindings.
void CopyAttributeOnOff(int attributeLocation, int attributeType, int onOff)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
CopyFieldFlag * CopyFieldFlags
int GetAttributeLocation(const char *loc)
void CopyFieldOn(const char *fieldLoc, const char *name)
Helper methods used by other language bindings.
void CopyFieldsOff()
Convenience methods which operate on all field data or attribute data.
int FindFlag(int arrayType, int location)
int FindFlag(const char *field, int location)
void CopyFieldOn(int fieldLocation, const char *name)
Turn on/off the copying of the field or specified by name.
void CopyAttributesOff()
@ field
Definition: vtkX3D.h:183
@ location
Definition: vtkX3D.h:412
@ type
Definition: vtkX3D.h:522
@ name
Definition: vtkX3D.h:225