Salome HOME
Copyright update: 2016
[plugins/netgenplugin.git] / src / NETGENPlugin / NETGENPlugin_Mesher.hxx
old mode 100755 (executable)
new mode 100644 (file)
index f228594..a378aeb
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -44,9 +44,10 @@ namespace nglib {
 #include <vector>
 #include <set>
 
-class SMESH_Mesh;
-class SMESH_Comment;
 class SMESHDS_Mesh;
+class SMESH_Comment;
+class SMESH_Mesh;
+class SMESH_MesherHelper;
 class TopoDS_Shape;
 class TopTools_IndexedMapOfShape;
 class NETGENPlugin_Hypothesis;
@@ -132,25 +133,34 @@ class NETGENPLUGIN_EXPORT NETGENPlugin_Mesher
   static double GetDefaultMinSize(const TopoDS_Shape& shape,
                                   const double        maxSize);
 
-  static void RestrictLocalSize(netgen::Mesh& ngMesh, const gp_XYZ& p, const double  size);
+  static void RestrictLocalSize(netgen::Mesh& ngMesh,
+                                const gp_XYZ& p,
+                                double        size,
+                                const bool    overrideMinH=true);
 
   static int FillSMesh(const netgen::OCCGeometry&          occgeom,
                        netgen::Mesh&                       ngMesh,
                        const NETGENPlugin_ngMeshInfo&      initState,
                        SMESH_Mesh&                         sMesh,
                        std::vector<const SMDS_MeshNode*>&  nodeVec,
-                       SMESH_Comment&                      comment);
+                       SMESH_Comment&                      comment,
+                       SMESH_MesherHelper*                 quadHelper=0);
 
   bool FillNgMesh(netgen::OCCGeometry&                occgeom,
                   netgen::Mesh&                       ngMesh,
                   std::vector<const SMDS_MeshNode*>&  nodeVec,
                   const std::list< SMESH_subMesh* > & meshedSM,
+                  SMESH_MesherHelper*                 quadHelper=0,
                   SMESH_ProxyMesh::Ptr                proxyMesh=SMESH_ProxyMesh::Ptr());
 
   static void FixIntFaces(const netgen::OCCGeometry& occgeom,
                           netgen::Mesh&              ngMesh,
                           NETGENPlugin_Internals&    internalShapes);
 
+  static bool FixFaceMesh(const netgen::OCCGeometry& occgeom,
+                          netgen::Mesh&              ngMesh,
+                          const int                  faceID);
+
   static void AddIntVerticesInFaces(const netgen::OCCGeometry&          occgeom,
                                     netgen::Mesh&                       ngMesh,
                                     std::vector<const SMDS_MeshNode*>&  nodeVec,
@@ -166,7 +176,8 @@ class NETGENPLUGIN_EXPORT NETGENPlugin_Mesher
                       netgen::OCCGeometry&                  geom,
                       const TSideVector&                    wires,
                       SMESH_MesherHelper&                   helper,
-                      std::vector< const SMDS_MeshNode* > & nodeVec);
+                      std::vector< const SMDS_MeshNode* > & nodeVec,
+                      const bool                            overrideMinH=true);
 
   void SetDefaultParameters();