Salome HOME
updated copyright message
[plugins/netgenplugin.git] / src / NETGENPlugin / NETGENPlugin_Mesher.hxx
index 608de2aca98129ceb1d0a1deea48a6078a1cedfd..7f028cb820728ab4df86a4622c3cf02e6871b985 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -84,15 +84,28 @@ struct NETGENPlugin_ngMeshInfo
 
 struct NETGENPLUGIN_EXPORT NETGENPlugin_NetgenLibWrapper
 {
-  bool             _isComputeOk;
-  nglib::Ng_Mesh * _ngMesh;
+  bool           _isComputeOk;
+  netgen::Mesh * _ngMesh;
 
   NETGENPlugin_NetgenLibWrapper();
   ~NETGENPlugin_NetgenLibWrapper();
   void setMesh( nglib::Ng_Mesh* mesh );
+  nglib::Ng_Mesh* ngMesh() { return (nglib::Ng_Mesh*)(void*)_ngMesh; }
+
+
+
+  static int GenerateMesh(netgen::OCCGeometry& occgeo, int startWith, int endWith,
+                          netgen::Mesh* & ngMesh);
+  int GenerateMesh(netgen::OCCGeometry& occgeo, int startWith, int endWith )
+  {
+    return GenerateMesh( occgeo, startWith, endWith, _ngMesh );
+  }
+
+  static void CalcLocalH( netgen::Mesh * ngMesh );
 
   static void RemoveTmpFiles();
   static int& instanceCounter();
+  void setOutputFile(std::string);
 
  private:
   std::string getOutputFileName();
@@ -110,7 +123,7 @@ struct NETGENPLUGIN_EXPORT NETGENPlugin_NetgenLibWrapper
  */
 //=============================================================================
 
-class NETGENPLUGIN_EXPORT NETGENPlugin_Mesher 
+class NETGENPLUGIN_EXPORT NETGENPlugin_Mesher
 {
  public:
   // ---------- PUBLIC METHODS ----------
@@ -263,7 +276,7 @@ public:
   bool isShapeToPrecompute(const TopoDS_Shape& s);
 
   // 2D meshing
-  // edges 
+  // edges
   bool hasInternalEdges() const { return !_e2face.empty(); }
   bool isInternalEdge( int id ) const { return _e2face.count( id ); }
   const std::map<int,int>& getEdgesAndVerticesWithFaces() const { return _e2face; }