57 #ifndef __vtkFieldDataToAttributeDataFilter_h
58 #define __vtkFieldDataToAttributeDataFilter_h
60 #include "vtkFiltersCoreModule.h"
63 #define VTK_DATA_OBJECT_FIELD 0
64 #define VTK_POINT_DATA_FIELD 1
65 #define VTK_CELL_DATA_FIELD 2
67 #define VTK_CELL_DATA 0
68 #define VTK_POINT_DATA 1
71 class vtkDataSetAttributes;
77 void PrintSelf(ostream& os, vtkIndent indent);
89 vtkSetMacro(InputField,
int);
90 vtkGetMacro(InputField,
int);
102 vtkSetMacro(OutputAttributeData,
int);
103 vtkGetMacro(OutputAttributeData,
int);
116 void SetScalarComponent(
int comp,
const char *arrayName,
int arrayComp,
117 int min,
int max,
int normalize);
119 {this->SetScalarComponent(comp, arrayName, arrayComp, -1, -1, this->DefaultNormalize);};
120 const char *GetScalarComponentArrayName(
int comp);
121 int GetScalarComponentArrayComponent(
int comp);
122 int GetScalarComponentMinRange(
int comp);
123 int GetScalarComponentMaxRange(
int comp);
124 int GetScalarComponentNormalizeFlag(
int comp);
133 void SetVectorComponent(
int comp,
const char *arrayName,
int arrayComp,
134 int min,
int max,
int normalize);
136 {this->SetVectorComponent(comp, arrayName, arrayComp, -1, -1, this->DefaultNormalize);};
137 const char *GetVectorComponentArrayName(
int comp);
138 int GetVectorComponentArrayComponent(
int comp);
139 int GetVectorComponentMinRange(
int comp);
140 int GetVectorComponentMaxRange(
int comp);
141 int GetVectorComponentNormalizeFlag(
int comp);
150 void SetNormalComponent(
int comp,
const char *arrayName,
int arrayComp,
151 int min,
int max,
int normalize);
153 {this->SetNormalComponent(comp, arrayName, arrayComp, -1, -1, this->DefaultNormalize);};
154 const char *GetNormalComponentArrayName(
int comp);
155 int GetNormalComponentArrayComponent(
int comp);
156 int GetNormalComponentMinRange(
int comp);
157 int GetNormalComponentMaxRange(
int comp);
158 int GetNormalComponentNormalizeFlag(
int comp);
167 void SetTensorComponent(
int comp,
const char *arrayName,
int arrayComp,
168 int min,
int max,
int normalize);
170 {this->SetTensorComponent(comp, arrayName, arrayComp, -1, -1, this->DefaultNormalize);};
171 const char *GetTensorComponentArrayName(
int comp);
172 int GetTensorComponentArrayComponent(
int comp);
173 int GetTensorComponentMinRange(
int comp);
174 int GetTensorComponentMaxRange(
int comp);
175 int GetTensorComponentNormalizeFlag(
int comp);
184 void SetTCoordComponent(
int comp,
const char *arrayName,
int arrayComp,
185 int min,
int max,
int normalize);
187 {this->SetTCoordComponent(comp, arrayName, arrayComp, -1, -1, this->DefaultNormalize);};
188 const char *GetTCoordComponentArrayName(
int comp);
189 int GetTCoordComponentArrayComponent(
int comp);
190 int GetTCoordComponentMinRange(
int comp);
191 int GetTCoordComponentMaxRange(
int comp);
192 int GetTCoordComponentNormalizeFlag(
int comp);
198 vtkSetMacro(DefaultNormalize,
int);
199 vtkGetMacro(DefaultNormalize,
int);
200 vtkBooleanMacro(DefaultNormalize,
int);
208 static int GetComponentsType(
int numComp, vtkDataArray **arrays);
215 static int ConstructArray(vtkDataArray *da,
int comp, vtkDataArray *frray,
216 int fieldComp, vtkIdType min, vtkIdType max,
222 static vtkDataArray *GetFieldArray(vtkFieldData *fd,
char *name,
int comp);
225 static void SetArrayName(vtkObject *
self,
char* &name,
const char *newName);
231 static int UpdateComponentRange(vtkDataArray *da, vtkIdType compRange[2]);
236 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
242 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
248 char *ScalarArrays[4];
249 int ScalarArrayComponents[4];
250 vtkIdType ScalarComponentRange[4][2];
251 int ScalarNormalize[4];
253 char *VectorArrays[3];
254 int VectorArrayComponents[3];
255 vtkIdType VectorComponentRange[3][2];
256 int VectorNormalize[3];
260 vtkIdType GhostLevelComponentRange[2];
263 char *NormalArrays[3];
264 int NormalArrayComponents[3];
265 vtkIdType NormalComponentRange[3][2];
266 int NormalNormalize[3];
268 char *TensorArrays[9];
269 int TensorArrayComponents[9];
270 vtkIdType TensorComponentRange[9][2];
271 int TensorNormalize[9];
274 char *TCoordArrays[3];
275 int TCoordArrayComponents[3];
276 vtkIdType TCoordComponentRange[3][2];
277 int TCoordNormalize[3];
281 void ConstructScalars(
int num, vtkFieldData *fd, vtkDataSetAttributes *attr,
282 vtkIdType componentRange[4][2],
char *arrays[4],
283 int arrayComponents[4],
int normalize[4],
int numComp);
284 void ConstructVectors(
int num, vtkFieldData *fd, vtkDataSetAttributes *attr,
285 vtkIdType componentRange[3][2],
char *arrays[3],
286 int arrayComponents[3],
int normalize[3]);
287 void ConstructGhostLevels(
int num, vtkFieldData *fd,
288 vtkDataSetAttributes *attr,
289 vtkIdType componentRange[2],
290 char *array,
int arrayComponent,
int normalize);
291 void ConstructNormals(
int num, vtkFieldData *fd, vtkDataSetAttributes *attr,
292 vtkIdType componentRange[3][2],
char *arrays[3],
293 int arrayComponents[3],
int normalize[3]);
294 void ConstructTCoords(
int num, vtkFieldData *fd, vtkDataSetAttributes *attr,
295 vtkIdType componentRange[3][2],
char *arrays[3],
296 int arrayComponents[3],
int normalize[3],
int numComp);
297 void ConstructTensors(
int num, vtkFieldData *fd, vtkDataSetAttributes *attr,
298 vtkIdType componentRange[9][2],
char *arrays[9],
299 int arrayComponents[9],
int normalize[9]);
300 void ConstructFieldData(
int num, vtkDataSetAttributes *attr);
int NumberOfScalarComponents
#define VTK_POINT_DATA_FIELD
void SetTCoordComponent(int comp, const char *arrayName, int arrayComp)
int GhostLevelArrayComponent
void SetVectorComponent(int comp, const char *arrayName, int arrayComp)
map field data to dataset attribute data
void SetInputFieldToCellDataField()
void SetOutputAttributeDataToPointData()
void SetScalarComponent(int comp, const char *arrayName, int arrayComp)
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetInputFieldToPointDataField()
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetNormalComponent(int comp, const char *arrayName, int arrayComp)
#define VTK_DATA_OBJECT_FIELD
void SetTensorComponent(int comp, const char *arrayName, int arrayComp)
void SetOutputAttributeDataToCellData()
int NumberOfTCoordComponents
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce output of the same type as input.
void SetInputFieldToDataObjectField()
#define VTK_CELL_DATA_FIELD
static vtkDataSetAlgorithm * New()