40 #ifndef __vtkDataObject_h
41 #define __vtkDataObject_h
43 #include "vtkCommonDataModelModule.h"
44 #include "vtkObject.h"
46 class vtkAbstractArray;
47 class vtkDataSetAttributes;
50 class vtkInformationDataObjectKey;
51 class vtkInformationDoubleKey;
52 class vtkInformationDoubleVectorKey;
53 class vtkInformationIntegerKey;
54 class vtkInformationIntegerPointerKey;
55 class vtkInformationIntegerVectorKey;
56 class vtkInformationStringKey;
57 class vtkInformationVector;
58 class vtkInformationInformationVectorKey;
60 #define VTK_PIECES_EXTENT 0
61 #define VTK_3D_EXTENT 1
62 #define VTK_TIME_EXTENT 2
70 void PrintSelf(ostream& os, vtkIndent indent);
74 vtkGetObjectMacro(Information, vtkInformation);
75 virtual void SetInformation(vtkInformation*);
80 unsigned long int GetMTime();
83 virtual void Initialize();
93 vtkGetMacro(DataReleased,
int);
100 static void SetGlobalReleaseDataFlag(
int val);
103 static int GetGlobalReleaseDataFlag();
108 virtual void SetFieldData(vtkFieldData*);
109 vtkGetObjectMacro(FieldData,vtkFieldData);
120 unsigned long GetUpdateTime();
127 virtual unsigned long GetActualMemorySize();
142 static vtkInformation *GetActiveFieldInformation(vtkInformation *info,
143 int fieldAssociation,
int attributeType);
150 static vtkInformation *GetNamedFieldInformation(vtkInformation *info,
151 int fieldAssociation,
const char *name);
156 static void RemoveNamedFieldInformation(vtkInformation *info,
157 int fieldAssociation,
167 static vtkInformation *SetActiveAttribute(vtkInformation *info,
168 int fieldAssociation,
const char *attributeName,
int attributeType);
179 static void SetActiveAttributeInfo(vtkInformation *info,
180 int fieldAssociation,
int attributeType,
const char *name,
int arrayType,
181 int numComponents,
int numTuples);
188 static void SetPointDataActiveScalarInfo(vtkInformation *info,
189 int arrayType,
int numComponents);
195 void DataHasBeenGenerated();
219 virtual void Crop(
const int* updateExtent);
233 NUMBER_OF_ASSOCIATIONS
251 NUMBER_OF_ATTRIBUTE_TYPES
264 virtual vtkDataSetAttributes* GetAttributes(
int type);
270 virtual vtkFieldData* GetAttributesAsFieldData(
int type);
275 virtual int GetAttributeTypeForArray(vtkAbstractArray* arr);
279 virtual vtkIdType GetNumberOfElements(
int type);
289 FIELD_OPERATION_REMOVED
296 static const char* GetAssociationTypeAsString(
int associationType);
300 static int GetAssociationTypeFromString(
const char* associationType);
302 static vtkInformationStringKey* DATA_TYPE_NAME();
303 static vtkInformationDataObjectKey* DATA_OBJECT();
304 static vtkInformationIntegerKey* DATA_EXTENT_TYPE();
305 static vtkInformationIntegerPointerKey* DATA_EXTENT();
306 static vtkInformationIntegerKey* DATA_PIECE_NUMBER();
307 static vtkInformationIntegerKey* DATA_NUMBER_OF_PIECES();
308 static vtkInformationIntegerKey* DATA_NUMBER_OF_GHOST_LEVELS();
309 static vtkInformationDoubleKey* DATA_RESOLUTION();
310 static vtkInformationDoubleKey* DATA_TIME_STEP();
311 static vtkInformationInformationVectorKey* POINT_DATA_VECTOR();
312 static vtkInformationInformationVectorKey* CELL_DATA_VECTOR();
313 static vtkInformationInformationVectorKey* VERTEX_DATA_VECTOR();
314 static vtkInformationInformationVectorKey* EDGE_DATA_VECTOR();
315 static vtkInformationIntegerKey* FIELD_ARRAY_TYPE();
316 static vtkInformationIntegerKey* FIELD_ASSOCIATION();
317 static vtkInformationIntegerKey* FIELD_ATTRIBUTE_TYPE();
318 static vtkInformationIntegerKey* FIELD_ACTIVE_ATTRIBUTE();
319 static vtkInformationIntegerKey* FIELD_NUMBER_OF_COMPONENTS();
320 static vtkInformationIntegerKey* FIELD_NUMBER_OF_TUPLES();
321 static vtkInformationIntegerKey* FIELD_OPERATION();
322 static vtkInformationDoubleVectorKey* FIELD_RANGE();
323 static vtkInformationDoubleVectorKey* PIECE_FIELD_RANGE();
324 static vtkInformationStringKey* FIELD_ARRAY_NAME();
325 static vtkInformationIntegerVectorKey* PIECE_EXTENT();
326 static vtkInformationStringKey* FIELD_NAME();
327 static vtkInformationDoubleVectorKey* ORIGIN();
328 static vtkInformationDoubleVectorKey* SPACING();
329 static vtkInformationIntegerKey* DATA_GEOMETRY_UNMODIFIED();
330 static vtkInformationDoubleVectorKey* BOUNDING_BOX();
333 static vtkInformationDataObjectKey* SIL();
339 static vtkDataObject* GetData(vtkInformationVector* v,
int i=0);
void GlobalReleaseDataFlagOn()
virtual void PrepareForNewData()
void GlobalReleaseDataFlagOff()
virtual int GetExtentType()
virtual void CopyInformationFromPipeline(vtkInformation *vtkNotUsed(info))
#define VTK_PIECES_EXTENT
virtual int GetDataObjectType()
general representation of visualization data
vtkInformation * Information