35#ifndef NEKTAR_SPATIALDOMAINS_MGIOXML_H
36#define NEKTAR_SPATIALDOMAINS_MGIOXML_H
50 std::string outname, std::vector<std::set<unsigned int>> elements,
51 std::vector<unsigned int> partitions);
70 const std::string &outfilename,
bool defaultExp =
false,
94 void ResolveGeomRef(
const std::string &prevToken,
const std::string &token,
97 const std::string &token,
100 const std::string &token,
103 const std::string &token,
108 TiXmlElement *geomTag,
109 std::vector<int> keysToWrite = std::vector<int>());
111 TiXmlElement *geomTag,
112 std::vector<int> keysToWrite = std::vector<int>());
114 std::vector<int> keysToWrite = std::vector<int>());
116 TiXmlElement *faceTag,
117 std::vector<int> keysToWrite = std::vector<int>());
119 std::vector<int> keysToWrite = std::vector<int>());
121 TiXmlElement *elmtTag,
122 std::vector<int> keysToWrite = std::vector<int>());
124 std::vector<int> keysToWrite = std::vector<int>());
126 std::vector<int> keysToWrite = std::vector<int>());
130 std::map<int, std::string> &compLabels);
132 std::map<int, CompositeMap> &domain);
#define SPATIAL_DOMAINS_EXPORT
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
virtual void v_ReadElements1D()
void ResolveGeomRef2D(const std::string &prevToken, const std::string &token, CompositeSharedPtr &composite)
void ResolveGeomRef3D(const std::string &prevToken, const std::string &token, CompositeSharedPtr &composite)
virtual void v_WritePrisms(TiXmlElement *elmtTag, std::vector< int > keysToWrite=std::vector< int >())
void v_WriteGeometry(const std::string &outfilename, bool defaultExp=false, const LibUtilities::FieldMetaDataMap &metadata=LibUtilities::NullFieldMetaDataMap) override
Write out an XML file containing the GEOMETRY block representing this MeshGraph instance inside a NEK...
virtual void v_ReadElements3D()
virtual void v_WriteEdges(TiXmlElement *geomTag, std::vector< int > keysToWrite=std::vector< int >())
virtual void v_WriteCurves(TiXmlElement *geomTag, CurveMap &edges, CurveMap &faces)
void ResolveGeomRef(const std::string &prevToken, const std::string &token, CompositeSharedPtr &composite)
~MeshGraphIOXml() override=default
virtual void v_WritePyrs(TiXmlElement *elmtTag, std::vector< int > keysToWrite=std::vector< int >())
virtual void v_ReadEdges()
virtual void v_ReadFaces()
void v_PartitionMesh(LibUtilities::SessionReaderSharedPtr session) override
virtual void v_ReadCurves()
void WriteDefaultExpansion(TiXmlElement *root)
virtual void v_ReadElements2D()
void ResolveGeomRef1D(const std::string &prevToken, const std::string &token, CompositeSharedPtr &composite)
virtual void v_WriteTris(TiXmlElement *faceTag, std::vector< int > keysToWrite=std::vector< int >())
virtual void v_WriteVertices(TiXmlElement *geomTag, std::vector< int > keysToWrite=std::vector< int >())
virtual void v_ReadVertices()
void v_ReadGeometry(bool fillGraph) override
virtual void v_WriteQuads(TiXmlElement *faceTag, std::vector< int > keysToWrite=std::vector< int >())
virtual void v_WriteHexs(TiXmlElement *elmtTag, std::vector< int > keysToWrite=std::vector< int >())
void WriteComposites(TiXmlElement *geomTag, CompositeMap &comps, std::map< int, std::string > &compLabels)
static std::string className
void SetupCompositeRange(LibUtilities::DomainRangeShPtr &rng)
void WriteXMLGeometry(std::string outname, std::vector< std::set< unsigned int > > elements, std::vector< unsigned int > partitions)
CompositeOrdering CreateCompositeOrdering()
virtual void v_WriteTets(TiXmlElement *elmtTag, std::vector< int > keysToWrite=std::vector< int >())
void WriteDomain(TiXmlElement *geomTag, std::map< int, CompositeMap > &domain)
static MeshGraphIOSharedPtr create()
std::map< std::string, std::string > FieldMetaDataMap
std::shared_ptr< SessionReader > SessionReaderSharedPtr
static FieldMetaDataMap NullFieldMetaDataMap
std::shared_ptr< DomainRange > DomainRangeShPtr
std::map< int, std::vector< unsigned int > > CompositeOrdering
std::shared_ptr< MeshGraphIO > MeshGraphIOSharedPtr
std::shared_ptr< Composite > CompositeSharedPtr
std::unordered_map< int, CurveSharedPtr > CurveMap
std::map< int, CompositeSharedPtr > CompositeMap