14 #ifndef vtkPVDataInformation_h 15 #define vtkPVDataInformation_h 29 class vtkDataAssembly;
37 class vtkPVDataInformationHelper;
56 vtkSetMacro(PortNumber,
int);
57 vtkGetMacro(PortNumber,
int);
66 vtkSetMacro(InspectCells,
bool);
73 vtkSetClampMacro(Rank,
int, -1, VTK_INT_MAX);
74 vtkGetMacro(Rank,
int);
83 vtkGetStringMacro(SubsetSelector);
84 vtkSetStringMacro(SubsetSelector);
93 vtkSetStringMacro(SubsetAssemblyName);
94 vtkGetStringMacro(SubsetAssemblyName);
95 void SetSubsetAssemblyNameToHierarchy();
144 vtkGetMacro(DataSetType,
int);
150 vtkGetMacro(CompositeDataSetType,
int);
160 bool IsNull()
const {
return this->DataSetType == -1 && this->CompositeDataSetType == -1; }
173 return static_cast<unsigned int>(this->UniqueBlockTypes.size());
175 int GetUniqueBlockType(
unsigned int index)
const;
185 static const char* GetDataSetTypeAsString(
int type);
192 return this->DataSetType != -1 ? this->GetDataSetTypeAsString() :
nullptr;
196 return this->CompositeDataSetType != -1
206 const char* GetPrettyDataTypeString()
const;
207 static const char* GetPrettyDataTypeString(
int dtype);
222 bool DataSetTypeIsA(
const char* classname)
const;
223 bool DataSetTypeIsA(
int typeId)
const;
233 bool HasDataSetType(
const char* classname)
const;
234 bool HasDataSetType(
int typeId)
const;
244 vtkTypeInt64 GetNumberOfElements(
int elementType)
const;
265 vtkGetMacro(NumberOfTrees, vtkTypeInt64);
266 vtkGetMacro(NumberOfLeaves, vtkTypeInt64);
273 vtkGetMacro(NumberOfAMRLevels, vtkTypeInt64);
279 vtkTypeInt64 GetNumberOfAMRDataSets(vtkTypeInt64
level)
const;
293 vtkGetMacro(NumberOfDataSets, vtkTypeInt64);
301 vtkGetMacro(MemorySize, vtkTypeInt64);
308 vtkGetVector6Macro(Bounds,
double);
316 vtkGetVector6Macro(Extent,
int);
330 int GetNumberOfAttributeTypes()
const;
331 std::vector<int> GetAttributeTypes()
const;
332 std::vector<std::string> GetAttributeNames()
const;
333 std::string GetAttributeName(
int attributeType)
const;
380 vtkGetMacro(HasTime,
bool);
381 vtkGetMacro(Time,
double);
390 vtkGetVector2Macro(TimeRange,
double);
391 vtkGetMacro(TimeLabel, std::string);
392 const std::set<double>&
GetTimeSteps()
const {
return this->TimeSteps; }
395 return static_cast<unsigned int>(this->TimeSteps.size());
403 bool IsDataStructured()
const;
409 bool HasStructuredData()
const;
415 bool HasUnstructuredData()
const;
422 bool IsAttributeValid(
int attributeType)
const;
427 static int GetExtentType(
int dataType);
437 vtkDataAssembly* GetHierarchy()
const;
438 vtkDataAssembly* GetDataAssembly()
const;
439 vtkDataAssembly* GetDataAssembly(
const char* assemblyName)
const;
448 vtkGetMacro(FirstLeafCompositeIndex, vtkTypeUInt64);
463 std::string GetBlockName(vtkTypeUInt64 cid)
const;
468 std::vector<std::string> GetBlockNames(
469 const std::vector<std::string>& selectors,
const char* assemblyName)
const;
477 unsigned int ComputeCompositeIndexForAMR(
unsigned int level,
unsigned int index)
const;
496 friend class vtkPVDataInformationHelper;
515 char* SubsetSelector =
nullptr;
516 char* SubsetAssemblyName =
nullptr;
518 int DataSetType = -1;
519 int CompositeDataSetType = -1;
520 vtkTypeUInt64 FirstLeafCompositeIndex = 0;
521 vtkTypeInt64 NumberOfTrees = 0;
522 vtkTypeInt64 NumberOfLeaves = 0;
523 vtkTypeInt64 NumberOfAMRLevels = 0;
524 vtkTypeInt64 NumberOfDataSets = 0;
525 vtkTypeInt64 MemorySize = 0;
527 VTK_DOUBLE_MAX, -VTK_DOUBLE_MAX };
530 bool HasTime =
false;
532 double TimeRange[2] = { VTK_DOUBLE_MAX, -VTK_DOUBLE_MAX };
533 std::set<double> TimeSteps;
534 std::string TimeLabel;
535 std::vector<vtkTypeInt64> AMRNumberOfDataSets;
537 std::vector<int> UniqueBlockTypes;
538 struct AttributeMetadata
541 vtkTypeInt64 NumberOfElements;
544 std::map<int, AttributeMetadata> AttributeMetadata;
550 bool InspectCells =
false;
551 std::vector<unsigned char> UniqueCellTypes;
553 friend class vtkPVDataInformationAccumulator;
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
Store messages for the interpreter.
#define VTKREMOTINGCORE_EXPORT