23#ifndef vtkExodusIIReaderParser_h
24#define vtkExodusIIReaderParser_h
26#include "vtkIOExodusModule.h"
63 return (this->BlockID_To_VertexID.find(
id) != this->BlockID_To_VertexID.end());
79 std::map<int, vtkIdType>::iterator iter;
80 for (iter = this->BlockID_To_VertexID.begin(); iter != this->BlockID_To_VertexID.end(); ++iter)
82 blockIdsSet.insert(iter->first);
91 void StartElement(
const char* tagName,
const char** attrs)
override;
95 const char*
GetValue(
const char* attr,
const char** attrs)
98 for (i = 0; attrs[i]; i += 2)
100 const char* name = strrchr(attrs[i],
':');
109 if (strcmp(attr, name) == 0)
internal parser used by vtkExodusIIReader.
vtkIdType AddVertexToSIL(const char *name)
vtkIdType AssembliesVertex
std::map< vtkIdType, std::string > PartVertexID_To_Descriptions
std::map< vtkIdType, std::string > MaterialSpecifications
bool HasInformationAboutBlock(int id)
std::map< int, std::string > BlockID_To_Part
std::map< int, std::string > BlockID_To_MaterialName
void Go(VTK_FILEPATH const char *filename)
Trigger parsing of the XML file.
const char * GetValue(const char *attr, const char **attrs)
bool InMaterialAssignments
vtkIdType MaterialsVertex
void StartElement(const char *tagName, const char **attrs) override
vtkIdType GetPartVertex(const char *part_number_instance_string)
Returns the vertex id for the "part" with given part_number_instance_string formed as "{part-number} ...
std::string BlockPartNumberString
std::map< std::string, vtkIdType > Part_To_VertexID
vtkSmartPointer< vtkUnsignedCharArray > CrossEdgesArray
std::vector< vtkIdType > CurrentVertex
std::string GetBlockName(int id)
Given a block "id" return the name as determined from the xml.
vtkMutableDirectedGraph * SIL
vtkIdType AddCrossEdgeToSIL(vtkIdType src, vtkIdType dst)
vtkSmartPointer< vtkStringArray > NamesArray
vtkExodusIIReaderParser()
~vtkExodusIIReaderParser() override
std::map< int, vtkIdType > BlockID_To_VertexID
std::map< std::string, vtkIdType > MaterialName_To_VertexID
vtkIdType AddChildEdgeToSIL(vtkIdType src, vtkIdType dst)
void GetBlockIds(std::set< int > &blockIdsSet)
Fills up the blockIdsSet with the block ids referred to by the XML.
static vtkExodusIIReaderParser * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void EndElement(const char *tagName) override
a simple class to control print indentation
An editable directed graph.
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings
dynamic, self-adjusting array of unsigned char
Parse XML to handle element tags and attributes.