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::SRV::NucMeshConf Struct Reference

Detailed Description

Definition at line 47 of file NucMeshSrv.H.

Public Member Functions

template<typename Shape >
std::add_lvalue_reference< Shape >::type insertShape (Shape &&shape)
 Helper to insert shapes into geometryAndMesh. More...
 
template<typename Shape , typename... Args>
Shape & makeShape (Args &&...args)
 Helper to construct and insert shapes into geometryAndMesh. More...
 

Public Attributes

std::vector< std::shared_ptr< NEM::NUCMESH::ShapeBase > > geometryAndMesh
 Geometry and mesh. More...
 
std::vector< double > extrudeSteps
 Extrude the final 2d mesh along the z-axis. More...
 
std::shared_ptr< SMESH_Gen > generator {new SMESH_Gen{}}
 

Member Function Documentation

◆ insertShape()

template<typename Shape >
std::add_lvalue_reference<Shape>::type NEM::SRV::NucMeshConf::insertShape ( Shape &&  shape)
inline
Template Parameters
Shapetype derived from NEM::NUCMESH::ShapeBase
Parameters
shapeobject to copy or move
Returns
reference to inserted shape (note not the same object passed in)

Definition at line 69 of file NucMeshSrv.H.

69  {
70  geometryAndMesh.emplace_back(std::shared_ptr<NEM::NUCMESH::ShapeBase>{
71  new typename std::decay<Shape>::type(std::forward<Shape>(shape))});
72  return dynamic_cast<Shape &>(*geometryAndMesh.back());
73  }
std::vector< std::shared_ptr< NEM::NUCMESH::ShapeBase > > geometryAndMesh
Geometry and mesh.
Definition: NucMeshSrv.H:54

◆ makeShape()

template<typename Shape , typename... Args>
Shape& NEM::SRV::NucMeshConf::makeShape ( Args &&...  args)
inline
Template Parameters
Shapetype derived from NEM::NUCMESH::ShapeBase
Argstypes of a constructor of Shape
Parameters
argsarguments to pass to constructor of Shape
Returns
reference to inserted shape

Definition at line 83 of file NucMeshSrv.H.

83  {
84  geometryAndMesh.emplace_back(std::shared_ptr<NEM::NUCMESH::ShapeBase>{
85  new Shape(std::forward<Args>(args)...)});
86  return dynamic_cast<Shape &>(*geometryAndMesh.back());
87  }
std::vector< std::shared_ptr< NEM::NUCMESH::ShapeBase > > geometryAndMesh
Geometry and mesh.
Definition: NucMeshSrv.H:54

Member Data Documentation

◆ extrudeSteps

std::vector<double> NEM::SRV::NucMeshConf::extrudeSteps

Each entry in extrudeSteps denotes a layer with that height. Empty array means that final mesh will be 2d (lying in xy plane)

Definition at line 60 of file NucMeshSrv.H.

Referenced by NEM::SRV::NucMeshSrv::FillOutputPortInformation().

◆ generator

std::shared_ptr<SMESH_Gen> NEM::SRV::NucMeshConf::generator {new SMESH_Gen{}}

Definition at line 89 of file NucMeshSrv.H.

Referenced by NEM::SRV::NucMeshSrv::FillOutputPortInformation().

◆ geometryAndMesh

std::vector<std::shared_ptr<NEM::NUCMESH::ShapeBase> > NEM::SRV::NucMeshConf::geometryAndMesh

Shapes in the list are successively overlaid on previous shapes.

Using shared_ptr instead of unique_ptr because SWIG does not deal well with move-only types

Definition at line 54 of file NucMeshSrv.H.

Referenced by NEM::SRV::NucMeshSrv::FillOutputPortInformation().


The documentation for this struct was generated from the following file: