NEMoSys  0.63.0
A modular, extensible resource with robust automated mesh generation, mesh quality analysis, adaptive mesh refinement, and data transfer between arbitrary meshes.
NEM::MSH::OmegaHInterface Class Reference

management class for Omega_h::Library More...

Detailed Description

To avoid initializing Kokkos multiple times, use this OmegaHInterface::GetLibrary() to get an Omega_h::Library object

Definition at line 49 of file oshGeoMesh.H.

Public Member Functions

 ~OmegaHInterface ()=default
 
 OmegaHInterface (const OmegaHInterface &)=delete
 
OmegaHInterfaceoperator= (const OmegaHInterface &)=delete
 
 OmegaHInterface (OmegaHInterface &&)=delete
 
OmegaHInterfaceoperator= (OmegaHInterface &&)=delete
 

Static Public Member Functions

static std::shared_ptr< Omega_h::Library > GetLibrary ()
 Initialize Omega_h. More...
 

Private Member Functions

 OmegaHInterface ()
 

Private Attributes

std::shared_ptr< Omega_h::Library > library
 

Static Private Attributes

static std::shared_ptr< OmegaHInterfaceinstance {new OmegaHInterface}
 

Constructor & Destructor Documentation

◆ ~OmegaHInterface()

NEM::MSH::OmegaHInterface::~OmegaHInterface ( )
default

◆ OmegaHInterface() [1/3]

NEM::MSH::OmegaHInterface::OmegaHInterface ( const OmegaHInterface )
delete

◆ OmegaHInterface() [2/3]

NEM::MSH::OmegaHInterface::OmegaHInterface ( OmegaHInterface &&  )
delete

◆ OmegaHInterface() [3/3]

NEM::MSH::OmegaHInterface::OmegaHInterface ( )
private

Definition at line 68 of file oshGeoMesh.C.

References instance.

69  : library(std::make_shared<Omega_h::Library>()) {}
std::shared_ptr< Omega_h::Library > library
Definition: oshGeoMesh.H:72

Member Function Documentation

◆ GetLibrary()

std::shared_ptr< Omega_h::Library > NEM::MSH::OmegaHInterface::GetLibrary ( )
static

Will only create an Omega_h::Library on first call to method.

Definition at line 64 of file oshGeoMesh.C.

References instance.

Referenced by NEM::MSH::oshGeoMesh::GM2osh(), NEM::MSH::oshGeoMesh::oshGeoMesh(), and NEM::MSH::vtkStandardNewMacro().

64  {
65  return instance->library;
66 }
static std::shared_ptr< OmegaHInterface > instance
Definition: oshGeoMesh.H:71

◆ operator=() [1/2]

OmegaHInterface& NEM::MSH::OmegaHInterface::operator= ( const OmegaHInterface )
delete

◆ operator=() [2/2]

OmegaHInterface& NEM::MSH::OmegaHInterface::operator= ( OmegaHInterface &&  )
delete

Member Data Documentation

◆ instance

std::shared_ptr< OmegaHInterface > NEM::MSH::OmegaHInterface::instance {new OmegaHInterface}
staticprivate

Definition at line 71 of file oshGeoMesh.H.

Referenced by GetLibrary(), and OmegaHInterface().

◆ library

std::shared_ptr<Omega_h::Library> NEM::MSH::OmegaHInterface::library
private

Definition at line 72 of file oshGeoMesh.H.


The documentation for this class was generated from the following files: