162#ifndef vtkIOSSReader_h
163#define vtkIOSSReader_h
165#include "vtkIOIOSSModule.h"
171VTK_ABI_NAMESPACE_BEGIN
205 vtkSetStringMacro(DatabaseTypeOverride);
206 vtkGetStringMacro(DatabaseTypeOverride);
246 vtkGetMacro(ScanForRelatedFiles,
bool);
247 vtkBooleanMacro(ScanForRelatedFiles,
bool);
264 vtkSetVector2Macro(FileRange,
int);
265 vtkGetVector2Macro(FileRange,
int);
267 vtkGetMacro(FileStride,
int);
277 vtkGetMacro(Caching,
bool);
278 vtkBooleanMacro(Caching,
bool);
288 vtkGetMacro(MergeExodusEntityBlocks,
bool);
289 vtkBooleanMacro(MergeExodusEntityBlocks,
bool);
304 vtkGetMacro(ElementAndSideIds,
bool);
305 vtkBooleanMacro(ElementAndSideIds,
bool);
316 vtkSetMacro(GenerateFileId,
bool);
317 vtkGetMacro(GenerateFileId,
bool);
318 vtkBooleanMacro(GenerateFileId,
bool);
326 vtkSetMacro(ReadIds,
bool);
327 vtkGetMacro(ReadIds,
bool);
328 vtkBooleanMacro(ReadIds,
bool);
341 vtkGetMacro(RemoveUnusedPoints,
bool);
342 vtkBooleanMacro(RemoveUnusedPoints,
bool);
350 vtkSetMacro(ApplyDisplacements,
bool);
351 vtkGetMacro(ApplyDisplacements,
bool);
352 vtkBooleanMacro(ApplyDisplacements,
bool);
359 vtkSetMacro(ReadGlobalFields,
bool);
360 vtkGetMacro(ReadGlobalFields,
bool);
361 vtkBooleanMacro(ReadGlobalFields,
bool);
374 vtkGetMacro(ReadAllFilesToDetermineStructure,
bool);
375 vtkBooleanMacro(ReadAllFilesToDetermineStructure,
bool);
383 vtkSetMacro(ReadQAAndInformationRecords,
bool);
384 vtkGetMacro(ReadQAAndInformationRecords,
bool);
385 vtkBooleanMacro(ReadQAAndInformationRecords,
bool);
433 BLOCK_START = NODEBLOCK,
436 SET_END = NUMBER_OF_ENTITY_TYPES,
437 ENTITY_START = NODEBLOCK,
438 ENTITY_END = NUMBER_OF_ENTITY_TYPES,
452 return this->GetEntitySelection(ELEMENTBLOCK);
456 return this->GetEntitySelection(STRUCTUREDBLOCK);
470 return this->GetFieldSelection(ELEMENTBLOCK);
474 return this->GetFieldSelection(STRUCTUREDBLOCK);
481 return this->GetFieldSelection(ELEMENTSET);
489 this->RemoveAllEntitySelections();
490 this->RemoveAllFieldSelections();
502 return this->GetEntityIdMap(NODEBLOCK);
506 return this->GetEntityIdMap(EDGEBLOCK);
510 return this->GetEntityIdMap(FACEBLOCK);
514 return this->GetEntityIdMap(ELEMENTBLOCK);
518 return this->GetEntityIdMap(STRUCTUREDBLOCK);
522 return this->GetEntityIdMap(NODESET);
526 return this->GetEntityIdMap(EDGESET);
530 return this->GetEntityIdMap(FACESET);
534 return this->GetEntityIdMap(ELEMENTSET);
538 return this->GetEntityIdMap(SIDESET);
551 return this->GetEntityIdMapAsString(NODEBLOCK);
555 return this->GetEntityIdMapAsString(EDGEBLOCK);
559 return this->GetEntityIdMapAsString(FACEBLOCK);
563 return this->GetEntityIdMapAsString(ELEMENTBLOCK);
567 return this->GetEntityIdMapAsString(STRUCTUREDBLOCK);
574 return this->GetEntityIdMapAsString(ELEMENTSET);
601 vtkGetMacro(AssemblyTag,
int);
670 std::map<std::string, vtkTypeInt64> EntityIdMap[NUMBER_OF_ENTITY_TYPES + 1];
675 bool MergeExodusEntityBlocks;
676 bool ElementAndSideIds;
678 bool ScanForRelatedFiles;
680 bool RemoveUnusedPoints;
681 bool ApplyDisplacements;
682 bool ReadAllFilesToDetermineStructure;
683 bool ReadGlobalFields;
684 bool ReadQAAndInformationRecords;
685 char* DatabaseTypeOverride;
Store on/off settings for data arrays, etc.
hierarchical representation to use with vtkPartitionedDataSetCollection
general representation of visualization data
Internal methods and state for the IOSS reader.
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()
void SetMergeExodusEntityBlocks(bool value)
When this flag is on, blocks/sets of exodus like types will be merged.
~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.
std::string GetFieldSuffixSeparator()
Set the character used to separate suffix from the field.
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 const char * GetMergedEntityNameForEntityType(int type)
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 SetFieldSuffixSeparator(const char *value)
Set the character used to separate suffix from the field.
static vtkInformationIntegerKey * ENTITY_TYPE()
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()
void SetCaching(bool value)
When this flag is on, caching of data across time-steps is enabled.
int ReadMetaData(vtkInformation *metadata) override
Implementation for vtkReaderAlgorithm API.
std::map< std::string, vtkTypeInt64 > & GetEntityIdMap(int type)
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.
static vtkInformationIntegerKey * ENTITY_ID()
void SetElementAndSideIds(bool value)
When this flag is on and MergeExodusEntityBlocks is off, side sets of exodus data will be annotated w...
bool GetGroupNumericVectorFieldComponents()
Set whether the reader should treat numeric suffixes for a vector field as vector components.
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)
vtkIOSSReaderInternal * Internals
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 SetGroupNumericVectorFieldComponents(bool value)
Set whether the reader should treat numeric suffixes for a vector field as vector components.
void SetSelector(const char *selector)
API to specify selectors that indicate which branches on the assembly are chosen.
vtkDataArraySelection * GetElementSetSelection()
vtkDataArraySelection * GetStructuredBlockSelection()
void SetReadAllFilesToDetermineStructure(bool)
When set to true (default), the reader will read all files to determine structure of the dataset beca...
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