174#ifndef vtkIOSSReader_h
175#define vtkIOSSReader_h
177#include "vtkIOIOSSModule.h"
215 vtkSetStringMacro(DatabaseTypeOverride);
216 vtkGetStringMacro(DatabaseTypeOverride);
234 vtkGetMacro(ScanForRelatedFiles,
bool);
235 vtkBooleanMacro(ScanForRelatedFiles,
bool);
252 vtkSetVector2Macro(FileRange,
int);
253 vtkGetVector2Macro(FileRange,
int);
255 vtkGetMacro(FileStride,
int);
266 vtkSetMacro(GenerateFileId,
bool);
267 vtkGetMacro(GenerateFileId,
bool);
268 vtkBooleanMacro(GenerateFileId,
bool);
276 vtkSetMacro(ReadIds,
bool);
277 vtkGetMacro(ReadIds,
bool);
278 vtkBooleanMacro(ReadIds,
bool);
291 vtkGetMacro(RemoveUnusedPoints,
bool);
292 vtkBooleanMacro(RemoveUnusedPoints,
bool);
300 vtkSetMacro(ApplyDisplacements,
bool);
301 vtkGetMacro(ApplyDisplacements,
bool);
302 vtkBooleanMacro(ApplyDisplacements,
bool);
309 vtkSetMacro(ReadGlobalFields,
bool);
310 vtkGetMacro(ReadGlobalFields,
bool);
311 vtkBooleanMacro(ReadGlobalFields,
bool);
319 vtkSetMacro(ReadQAAndInformationRecords,
bool);
320 vtkGetMacro(ReadQAAndInformationRecords,
bool);
321 vtkBooleanMacro(ReadQAAndInformationRecords,
bool);
369 BLOCK_START = NODEBLOCK,
372 SET_END = NUMBER_OF_ENTITY_TYPES,
373 ENTITY_START = NODEBLOCK,
374 ENTITY_END = NUMBER_OF_ENTITY_TYPES,
387 return this->GetEntitySelection(ELEMENTBLOCK);
391 return this->GetEntitySelection(STRUCTUREDBLOCK);
405 return this->GetFieldSelection(ELEMENTBLOCK);
409 return this->GetFieldSelection(STRUCTUREDBLOCK);
416 return this->GetFieldSelection(ELEMENTSET);
424 this->RemoveAllEntitySelections();
425 this->RemoveAllFieldSelections();
437 return this->GetEntityIdMap(NODEBLOCK);
441 return this->GetEntityIdMap(EDGEBLOCK);
445 return this->GetEntityIdMap(FACEBLOCK);
449 return this->GetEntityIdMap(ELEMENTBLOCK);
453 return this->GetEntityIdMap(STRUCTUREDBLOCK);
457 return this->GetEntityIdMap(NODESET);
461 return this->GetEntityIdMap(EDGESET);
465 return this->GetEntityIdMap(FACESET);
469 return this->GetEntityIdMap(ELEMENTSET);
473 return this->GetEntityIdMap(SIDESET);
486 return this->GetEntityIdMapAsString(NODEBLOCK);
490 return this->GetEntityIdMapAsString(EDGEBLOCK);
494 return this->GetEntityIdMapAsString(FACEBLOCK);
498 return this->GetEntityIdMapAsString(ELEMENTBLOCK);
502 return this->GetEntityIdMapAsString(STRUCTUREDBLOCK);
509 return this->GetEntityIdMapAsString(ELEMENTSET);
536 vtkGetMacro(AssemblyTag,
int);
593 std::map<std::string, vtkTypeInt64> EntityIdMap[NUMBER_OF_ENTITY_TYPES + 1];
598 bool ScanForRelatedFiles;
600 bool RemoveUnusedPoints;
601 bool ApplyDisplacements;
602 bool ReadGlobalFields;
603 bool ReadQAAndInformationRecords;
604 char* DatabaseTypeOverride;
610 vtkInternals* Internals;
Store on/off settings for data arrays, etc.
hierarchical representation to use with vtkPartitionedDataSetCollection
general representation of visualization data
Reader for IOSS (Sierra IO System)
vtkStringArray * GetFaceSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
const std::map< std::string, vtkTypeInt64 > & GetFaceSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
void RemoveAllEntitySelections()
vtkDataArraySelection * GetFaceSetSelection()
vtkStringArray * GetElementBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
static const char * GetDataAssemblyNodeNameForEntityType(int type)
void AddFileName(VTK_FILEPATH const char *fname)
API to set the filenames.
int GetNumberOfSelectors() const
API to access selectors.
int ReadArrays(int, int, int, int, vtkDataObject *) override
Implementation for vtkReaderAlgorithm API.
VTK_FILEPATH const char * GetFileName(int index) const
API to set the filenames.
void RemoveAllFieldSelections()
void RemoveAllSelections()
~vtkIOSSReader() override
vtkStringArray * GetEntityIdMapAsString(int type) const
This API is not really meant for public use and may change without notices.
int ReadPoints(int, int, int, int, vtkDataObject *) override
Implementation for vtkReaderAlgorithm API.
vtkDataArraySelection * GetSideSetFieldSelection()
vtkDataArraySelection * GetNodeBlockFieldSelection()
vtkDataArraySelection * GetEdgeSetFieldSelection()
vtkStringArray * GetStructuredBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
const std::map< std::string, vtkTypeInt64 > & GetEdgeSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkDataArraySelection * GetElementBlockSelection()
vtkStringArray * GetFaceBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
vtkDataArraySelection * GetEntitySelection(int type)
vtkStringArray * GetElementSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
void ClearProperties()
IOSS databases support various properties that affect how the database is read.
static vtkIOSSReader * New()
vtkDataArraySelection * GetFaceSetFieldSelection()
const std::map< std::string, vtkTypeInt64 > & GetElementBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkDataAssembly * GetAssembly()
Assemblies provide yet another way of selection blocks/sets to load, if available in the dataset.
vtkDataArraySelection * GetElementBlockFieldSelection()
const std::map< std::string, vtkTypeInt64 > & GetSideSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
const std::map< std::string, vtkTypeInt64 > & GetEdgeBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
const std::map< std::string, vtkTypeInt64 > & GetNodeBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
static bool GetEntityTypeIsSet(int type)
const std::map< std::string, vtkTypeInt64 > & GetElementSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
void AddProperty(const char *name, int value)
IOSS databases support various properties that affect how the database is read.
vtkDataArraySelection * GetElementSetFieldSelection()
vtkDataArraySelection * GetEdgeBlockFieldSelection()
void SetRemoveUnusedPoints(bool)
Node related data, including point coordinates, point field data etc.
vtkDataArraySelection * GetSideSetSelection()
vtkMTimeType GetMTime() override
Overridden to take into account mtimes for vtkDataArraySelection instances.
int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output) override
Implementation for vtkReaderAlgorithm API.
vtkDataArraySelection * GetFaceBlockSelection()
int ReadMetaData(vtkInformation *metadata) override
Implementation for vtkReaderAlgorithm API.
void SetFileName(VTK_FILEPATH const char *fname)
Set a single filename.
const char * GetSelector(int index) const
API to access selectors.
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo) override
Overridden to release handles at the end of each pass.
void RemoveProperty(const char *name)
IOSS databases support various properties that affect how the database is read.
const std::map< std::string, vtkTypeInt64 > & GetEntityIdMap(int type) const
In IOSS entity blocks/sets may have unique ids.
vtkDataArraySelection * GetNodeBlockSelection()
vtkDataArraySelection * GetNodeSetFieldSelection()
vtkStringArray * GetNodeBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
void ClearFileNames()
API to set the filenames.
void AddProperty(const char *name, const char *value)
IOSS databases support various properties that affect how the database is read.
static bool GetEntityTypeIsBlock(int type)
void SetController(vtkMultiProcessController *controller)
Get/Set the controller to use when working in parallel.
vtkStringArray * GetEdgeSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
int GetNumberOfFileNames() const
API to set the filenames.
const std::map< std::string, vtkTypeInt64 > & GetNodeSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkDataArraySelection * GetStructuredBlockFieldSelection()
bool AddSelector(const char *selector)
API to specify selectors that indicate which branches on the assembly are chosen.
vtkDataArraySelection * GetNodeSetSelection()
void SetDisplacementMagnitude(double magnitude)
When displacements are being applied, they are scaled by this amount.
void SetScanForRelatedFiles(bool value)
When set to true, the reader can automatically locate and load additional files that are part of the ...
const std::map< std::string, vtkTypeInt64 > & GetStructuredBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkDataArraySelection * GetFieldSelection(int type)
double GetDisplacementMagnitude()
When displacements are being applied, they are scaled by this amount.
void AddProperty(const char *name, double value)
IOSS databases support various properties that affect how the database is read.
vtkDataArraySelection * GetFaceBlockFieldSelection()
vtkStringArray * GetSideSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
const std::map< std::string, vtkTypeInt64 > & GetFaceBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkStringArray * GetNodeSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
vtkDataArraySelection * GetEdgeBlockSelection()
vtkDataArraySelection * GetEdgeSetSelection()
void ClearSelectors()
API to specify selectors that indicate which branches on the assembly are chosen.
static bool DoTestFilePatternMatching()
Runs a bunch of tests for file pattern matching.
void AddProperty(const char *name, void *value)
IOSS databases support various properties that affect how the database is read.
void SetSelector(const char *selector)
API to specify selectors that indicate which branches on the assembly are chosen.
vtkDataArraySelection * GetElementSetSelection()
vtkDataArraySelection * GetStructuredBlockSelection()
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
vtkStringArray * GetEdgeBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Multiprocessing communication superclass.
Allocate and hold a VTK object.
Superclass for readers that implement a simplified API.
a vtkAbstractArray subclass for strings
vtkTypeUInt32 vtkMTimeType