5 #ifndef vtkIOSSReader_h
6 #define vtkIOSSReader_h
166 #include "vtkIOIOSSModule.h"
172 VTK_ABI_NAMESPACE_BEGIN
191 void ClearFileNames();
193 int GetNumberOfFileNames()
const;
206 vtkSetStringMacro(DatabaseTypeOverride);
207 vtkGetStringMacro(DatabaseTypeOverride);
215 void SetCatalystConduitChannelName(
const std::string& newString);
224 void SetDisplacementMagnitude(
double magnitude);
225 double GetDisplacementMagnitude();
238 void SetGroupNumericVectorFieldComponents(
bool value);
239 bool GetGroupNumericVectorFieldComponents();
240 vtkBooleanMacro(GroupNumericVectorFieldComponents,
bool);
251 void SetGroupAlphabeticVectorFieldComponents(
bool value);
252 bool GetGroupAlphabeticVectorFieldComponents();
253 vtkBooleanMacro(GroupAlphabeticVectorFieldComponents,
bool);
260 void SetFieldSuffixSeparator(
const char*
value);
269 void SetScanForRelatedFiles(
bool value);
270 vtkGetMacro(ScanForRelatedFiles,
bool);
271 vtkBooleanMacro(ScanForRelatedFiles,
bool);
288 vtkSetVector2Macro(FileRange,
int);
289 vtkGetVector2Macro(FileRange,
int);
291 vtkGetMacro(FileStride,
int);
300 void SetCaching(
bool value);
301 vtkGetMacro(Caching,
bool);
302 vtkBooleanMacro(Caching,
bool);
311 void SetMergeExodusEntityBlocks(
bool value);
312 vtkGetMacro(MergeExodusEntityBlocks,
bool);
313 vtkBooleanMacro(MergeExodusEntityBlocks,
bool);
327 void SetElementAndSideIds(
bool value);
328 vtkGetMacro(ElementAndSideIds,
bool);
329 vtkBooleanMacro(ElementAndSideIds,
bool);
340 vtkSetMacro(GenerateFileId,
bool);
341 vtkGetMacro(GenerateFileId,
bool);
342 vtkBooleanMacro(GenerateFileId,
bool);
350 vtkSetMacro(ReadIds,
bool);
351 vtkGetMacro(ReadIds,
bool);
352 vtkBooleanMacro(ReadIds,
bool);
360 vtkSetMacro(IncludeGhostNodes,
bool);
361 vtkGetMacro(IncludeGhostNodes,
bool);
362 vtkBooleanMacro(IncludeGhostNodes,
bool);
374 void SetRemoveUnusedPoints(
bool);
375 vtkGetMacro(RemoveUnusedPoints,
bool);
376 vtkBooleanMacro(RemoveUnusedPoints,
bool);
384 vtkSetMacro(ApplyDisplacements,
bool);
385 vtkGetMacro(ApplyDisplacements,
bool);
386 vtkBooleanMacro(ApplyDisplacements,
bool);
394 virtual
void SetReadGlobalFields(
bool value);
396 virtual
bool GetReadGlobalFields();
398 virtual
void ReadGlobalFieldsOn();
400 virtual
void ReadGlobalFieldsOff();
414 void SetReadAllFilesToDetermineStructure(
bool);
415 vtkGetMacro(ReadAllFilesToDetermineStructure,
bool);
416 vtkBooleanMacro(ReadAllFilesToDetermineStructure,
bool);
424 vtkSetMacro(ReadQAAndInformationRecords,
bool);
425 vtkGetMacro(ReadQAAndInformationRecords,
bool);
426 vtkBooleanMacro(ReadQAAndInformationRecords,
bool);
452 void AddProperty(const
char*
name,
int value);
453 void AddProperty(const
char* name,
double value);
454 void AddProperty(const
char* name,
void* value);
455 void AddProperty(const
char* name, const
char* value);
456 void RemoveProperty(const
char* name);
457 void ClearProperties();
472 NUMBER_OF_ENTITY_TYPES = 10,
474 BLOCK_START = NODEBLOCK,
477 SET_END = NUMBER_OF_ENTITY_TYPES,
478 ENTITY_START = NODEBLOCK,
479 ENTITY_END = NUMBER_OF_ENTITY_TYPES,
484 static const char* GetDataAssemblyNodeNameForEntityType(
int type);
485 static const char* GetMergedEntityNameForEntityType(
int type);
493 return this->GetEntitySelection(ELEMENTBLOCK);
497 return this->GetEntitySelection(STRUCTUREDBLOCK);
511 return this->GetFieldSelection(ELEMENTBLOCK);
515 return this->GetFieldSelection(STRUCTUREDBLOCK);
522 return this->GetFieldSelection(ELEMENTSET);
527 void RemoveAllEntitySelections();
528 void RemoveAllFieldSelections();
531 this->RemoveAllEntitySelections();
532 this->RemoveAllFieldSelections();
541 const std::map<std::string, vtkTypeInt64>& GetEntityIdMap(
int type)
const;
544 return this->GetEntityIdMap(NODEBLOCK);
548 return this->GetEntityIdMap(EDGEBLOCK);
552 return this->GetEntityIdMap(FACEBLOCK);
556 return this->GetEntityIdMap(ELEMENTBLOCK);
560 return this->GetEntityIdMap(STRUCTUREDBLOCK);
564 return this->GetEntityIdMap(NODESET);
568 return this->GetEntityIdMap(EDGESET);
572 return this->GetEntityIdMap(FACESET);
576 return this->GetEntityIdMap(ELEMENTSET);
580 return this->GetEntityIdMap(SIDESET);
593 return this->GetEntityIdMapAsString(NODEBLOCK);
597 return this->GetEntityIdMapAsString(EDGEBLOCK);
601 return this->GetEntityIdMapAsString(FACEBLOCK);
605 return this->GetEntityIdMapAsString(ELEMENTBLOCK);
609 return this->GetEntityIdMapAsString(STRUCTUREDBLOCK);
616 return this->GetEntityIdMapAsString(ELEMENTSET);
643 vtkGetMacro(AssemblyTag,
int);
650 bool AddSelector(
const char* selector);
651 void ClearSelectors();
652 void SetSelector(
const char* selector);
659 int GetNumberOfSelectors()
const;
660 const char* GetSelector(
int index)
const;
681 static bool DoTestFilePatternMatching();
698 std::map<std::string, vtkTypeInt64>& GetEntityIdMap(
int type);
713 std::map<std::string, vtkTypeInt64> EntityIdMap[NUMBER_OF_ENTITY_TYPES + 1];
718 bool MergeExodusEntityBlocks;
719 bool ElementAndSideIds;
721 bool ScanForRelatedFiles;
723 bool RemoveUnusedPoints;
725 bool ReadAllFilesToDetermineStructure;
726 bool ReadQAAndInformationRecords;
727 char* DatabaseTypeOverride;
730 bool IncludeGhostNodes;
733 VTK_ABI_NAMESPACE_END
std::string GetFileName(const std::string &fileName) noexcept
Set the appropriate file name based on recognized user input.
static bool GetEntityTypeIsSet(int type)
vtkTypeUInt32 vtkMTimeType
bool GenerateFileId(vtkDataSetAttributes *cellData, vtkIdType numberOfCells, Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle)
Adds 'file_id' array to indicate which file the dataset was read from.
vtkDataArraySelection * GetEdgeSetFieldSelection()
vtkDataArraySelection * GetElementSetSelection()
a vtkAbstractArray subclass for strings
vtkDataArraySelection * GetNodeBlockFieldSelection()
Internal methods and state for the IOSS reader.
vtkDataArraySelection * GetFaceSetSelection()
vtkDataArraySelection * GetFaceSetFieldSelection()
const std::map< std::string, vtkTypeInt64 > & GetElementSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkStringArray * GetFaceBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
vtkDataArraySelection * GetEdgeSetSelection()
vtkDataArraySelection * GetElementBlockSelection()
vtkDataArraySelection * GetNodeBlockSelection()
vtkDataArraySelection * GetNodeSetSelection()
vtkStringArray * GetElementBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
#define VTK_DEPRECATED_IN_9_6_0(reason)
vtkStringArray * GetSideSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
vtkDataArraySelection * GetSideSetFieldSelection()
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
const std::map< std::string, vtkTypeInt64 > & GetFaceBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
a simple class to control print indentation
vtkStringArray * GetEdgeSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
Store on/off settings for data arrays, etc.
vtkStringArray * GetFaceSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkDataArraySelection * GetElementSetFieldSelection()
const std::map< std::string, vtkTypeInt64 > & GetSideSetIdMap() 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.
vtkDataArraySelection * GetEdgeBlockFieldSelection()
vtkStringArray * GetElementSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
vtkDataArraySelection * GetNodeSetFieldSelection()
int ReadArrays(int, int, int, int, vtkDataObject *) override
Implementation for vtkReaderAlgorithm API.
vtkDataArraySelection * GetFaceBlockSelection()
virtual int ReadMesh(int piece, int npieces, int nghosts, int timestep, vtkDataObject *output)=0
Read the mesh (connectivity) for a given set of data partitioning, number of ghost levels and time st...
Reader for IOSS (Sierra IO System)
int ReadPoints(int, int, int, int, vtkDataObject *) override
Implementation for vtkReaderAlgorithm API.
vtkDataArraySelection * GetElementBlockFieldSelection()
vtkDataArraySelection * GetEdgeBlockSelection()
vtkIOSSReaderInternal * Internals
const std::map< std::string, vtkTypeInt64 > & GetEdgeBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkDataArraySelection * GetFaceBlockFieldSelection()
const std::map< std::string, vtkTypeInt64 > & GetEdgeSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
virtual int ReadMetaData(vtkInformation *metadata)=0
Provide meta-data for the pipeline.
static vtkAlgorithm * New()
const std::map< std::string, vtkTypeInt64 > & GetElementBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
static bool GetEntityTypeIsBlock(int type)
hierarchical representation to use with vtkPartitionedDataSetCollection
bool ApplyDisplacements(vtkPointSet *grid, Ioss::Region *region, Ioss::GroupingEntity *group_entity, const DatabaseHandle &handle, int timestep, bool mergeExodusEntityBlocks=false)
Reads node block array with displacements and then transforms the points in the grid using those disp...
vtkStringArray * GetStructuredBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
vtkDataArraySelection * GetSideSetSelection()
vtkStringArray * GetNodeBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
general representation of visualization data
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const std::map< std::string, vtkTypeInt64 > & GetStructuredBlockIdMap() const
In IOSS entity blocks/sets may have unique ids.
const std::map< std::string, vtkTypeInt64 > & GetNodeSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo) override
Overridden to call appropriate handle pipeline request from executive.
vtkStringArray * GetEdgeBlockIdMapAsString() const
This API is not really meant for public use and may change without notices.
vtkDataArraySelection * GetStructuredBlockFieldSelection()
const std::map< std::string, vtkTypeInt64 > & GetFaceSetIdMap() const
In IOSS entity blocks/sets may have unique ids.
vtkDataArraySelection * GetStructuredBlockSelection()
Superclass for readers that implement a simplified API.
void RemoveAllSelections()
vtkStringArray * GetNodeSetIdMapAsString() const
This API is not really meant for public use and may change without notices.
Multiprocessing communication superclass.