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::GEO Namespace Reference

Classes

class  convexContainer
 An implementation of convex container object for point The class implements methods to generate a convex hull for a point cloud, perform point location, and output to STL format. More...
 
struct  Face
 
class  GeoManager
 Class to manage TopoDS_Shapes along with metadata. More...
 
class  hmxShape
 This class wraps around abstract class rocPackShape. More...
 
class  icosidodecahedronShape
 This class wraps around abstract class rocPackShape. More...
 
class  petnShape
 This class wraps around abstract class rocPackShape. More...
 
class  rocPack
 This class converts Rockpack output file into periodic geometry and writes into STL, VTK, .MSH, and ExodusII file format. More...
 
class  rocPackShape
 This is an abstract class for all shapes supported by RocPack utility. More...
 
struct  rocQuaternion
 A struct to respresent quaternion. More...
 
class  ShapeData
 Data stored in an instance of GeoManager. More...
 

Functions

template<typename Op , typename T , typename F >
std::vector< TopoDS_Shape > modifyTempl (Op &&op, T &&shapes, const std::vector< TopAbs_ShapeEnum > &typesToTraverse, F &&modifyFunc)
 

Function Documentation

◆ modifyTempl()

template<typename Op , typename T , typename F >
std::vector<TopoDS_Shape> NEM::GEO::modifyTempl ( Op &&  op,
T &&  shapes,
const std::vector< TopAbs_ShapeEnum > &  typesToTraverse,
F &&  modifyFunc 
)

Definition at line 55 of file GeoManager.C.

References NEM::DRV::JSON::shapeType.

Referenced by NEM::GEO::GeoManager::modify().

57  {
58  std::vector<TopoDS_Shape> shapesToRemove;
59  for (auto &shape : shapes) {
60  if (typesToTraverse.empty()) {
61  modifyFunc(shape, shapesToRemove);
62  } else {
63  for (auto &shapeType : typesToTraverse) {
64  for (TopExp_Explorer explorer{shape, shapeType}; explorer.More();
65  explorer.Next()) {
66  modifyFunc(explorer.Current(), shapesToRemove);
67  }
68  }
69  }
70  }
71  return shapesToRemove;
72 }
static constexpr auto shapeType
Definition: NucMeshJson.H:81