36 #ifndef NEKTAR_SPATIALDOMAINS_MESHGRAPH3D_H
37 #define NEKTAR_SPATIALDOMAINS_MESHGRAPH3D_H
42 #include <boost/unordered_map.hpp>
46 namespace SpatialDomains
91 const int vert,
const int elmt)
const
96 "eid is out of range");
98 return m_triGeoms.find(elmt)->second->GetVid(vert);
103 "eid is out of range");
105 return m_quadGeoms.find(elmt)->second->GetVid(vert);
110 const int edge,
const int elmt)
const
115 "eid is out of range");
117 return m_triGeoms.find(elmt)->second->GetEid(edge);
122 "eid is out of range");
124 return m_quadGeoms.find(elmt)->second->GetEid(edge);
133 "eid is out of range");
135 return m_triGeoms.find(elmt)->second->GetEorient(edge);
140 "eid is out of range");
142 return m_quadGeoms.find(elmt)->second->GetEorient(edge);
154 "eid is out of range");
156 returnval =
m_triGeoms.find(elmt)->second->GetEorient(edge);
161 "eid is out of range");
163 returnval =
m_quadGeoms.find(elmt)->second->GetEorient(edge);
196 std::ostringstream errStream;
197 errStream <<
"Unable to access composite item [" << whichComposite <<
"].";
215 void ResolveGeomRef(
const std::string &prevToken,
const std::string &token,
229 #endif //NEKTAR_SPATIALDOMAINS_MESHGRAPH3D_H
boost::shared_ptr< MeshGraph3D > MeshGraph3DSharedPtr
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
int GetSpaceDimension() const
Dimension of the space (can be a 1D curve in 3D space).
boost::shared_ptr< ElementFaceVector > ElementFaceVectorSharedPtr
int GetVidFromElmt(LibUtilities::ShapeType shape, const int vert, const int elmt) const
void ReadFaces(TiXmlDocument &doc)
CompositeMap m_meshComposites
void PopulateFaceToElMap(Geometry3DSharedPtr element, int kNfaces)
Given a 3D geometry object #element, populate the face to element map m_faceToElMap which maps faces ...
void ReadGeometry(const std::string &infilename)
Read will read the meshgraph vertices given a filename.
const QuadGeomMap & GetQuadgeoms(void) const
boost::unordered_map< int, ElementFaceVectorSharedPtr > m_faceToElMap
Geometry2DSharedPtr GetGeometry2D(int gID)
void ResolveGeomRef(const std::string &prevToken, const std::string &token, Composite &composite)
SegGeomSharedPtr GetSegGeom(int eID)
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
ElementFaceVectorSharedPtr GetElementsFromFace(Geometry2DSharedPtr face)
Return the elements (shared ptrs) that have this face.
std::map< int, TriGeomSharedPtr > TriGeomMap
void ReadComposites(TiXmlDocument &doc)
StdRegions::Orientation GetEorientFromElmt(LibUtilities::ShapeType shape, const int edge, const int elmt) const
boost::shared_ptr< SegGeom > SegGeomSharedPtr
boost::shared_ptr< DomainRange > DomainRangeShPtr
void ReadElements(TiXmlDocument &doc)
boost::shared_ptr< GeometryVector > Composite
int GetNumCompositeItems(int whichComposite)
boost::shared_ptr< Geometry2D > Geometry2DSharedPtr
LibUtilities::BasisKey GetFaceBasisKey(Geometry2DSharedPtr face, const int flag, const std::string variable="DefaultVar")
Return the BasisKey corresponding to a face of an element.
std::map< int, QuadGeomSharedPtr > QuadGeomMap
void ReadEdges(TiXmlDocument &doc)
static DomainRangeShPtr NullDomainRangeShPtr
#define ASSERTL2(condition, msg)
Assert Level 2 – Debugging which is used FULLDEBUG compilation mode. This level assert is designed t...
int GetEidFromElmt(LibUtilities::ShapeType shape, const int edge, const int elmt) const
Base class for a spectral/hp element mesh.
int GetNumComposites(void)
StdRegions::Orientation GetCartesianEorientFromElmt(LibUtilities::ShapeType shape, const int edge, const int elmt) const
const TriGeomMap & GetTrigeoms(void) const
Describes the specification for a Basis.
#define SPATIAL_DOMAINS_EXPORT
boost::shared_ptr< Geometry3D > Geometry3DSharedPtr