29 #ifndef NEMOSYS_OSHGEOMESH_H_ 30 #define NEMOSYS_OSHGEOMESH_H_ 65 static std::shared_ptr<Omega_h::Library> GetLibrary();
71 static std::shared_ptr<OmegaHInterface>
instance;
72 std::shared_ptr<Omega_h::Library>
library;
93 Omega_h::Library *lib =
nullptr);
107 explicit oshGeoMesh(Omega_h::Mesh *oshMesh, Omega_h::Library *lib =
nullptr);
112 void write(
const std::string &fileName)
override;
113 void report(std::ostream &out)
const override;
114 void takeGeoMesh(
geoMeshBase *otherGeoMesh)
override;
115 void reconstructGeo()
override;
118 static GeoMesh osh2GM(Omega_h::Mesh *oshMesh,
const std::string &geo =
"",
119 const std::string &link =
"");
120 static Omega_h::Mesh *GM2osh(
const GeoMesh &geoMesh,
121 Omega_h::Library *lib =
nullptr);
128 const Omega_h::Mesh &
getOshMesh()
const {
return *_oshMesh; }
134 void setOshMesh(Omega_h::Mesh *oshMesh);
137 void resetNative()
override;
146 #endif // NEMOSYS_OSHGEOMESH_H_ A concrete implementation of geoMeshBase representing a Omega_h::Mesh.
geoMeshBase * Read(const std::string &fileName)
Read a mesh from file.
std::unique_ptr< Omega_h::Mesh > _oshMesh
geoMeshBase * New(MeshType meshType)
Create a new mesh object.
static std::shared_ptr< OmegaHInterface > instance
const Omega_h::Mesh & getOshMesh() const
Get the Omega_h::Mesh.
std::shared_ptr< Omega_h::Library > library
management class for Omega_h::Library
abstract class to specify geometry and mesh data