Salome HOME
Merge multi-study removal branch.
[plugins/blsurfplugin.git] / src / BLSURFPlugin / BLSURFPlugin_Hypothesis.hxx
index 1d8c200aa747922b1b61259a28a4f384936bdb2e..4153e56b2e31c72b579061d2e65a7ea325c80aa8 100644 (file)
@@ -43,7 +43,7 @@
 class BLSURFPlugin_Hypothesis: public SMESH_Hypothesis
 {
 public:
-  BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen);
+  BLSURFPlugin_Hypothesis(int hypId, SMESH_Gen * gen, bool hasgeom);
 
   enum Topology {
     FromCAD,
@@ -64,8 +64,9 @@ public:
     GeometricalLocalSize
   };
 
-  static const char* GetHypType() { return "MG-CADSurf Parameters"; }
-  
+  static const char* GetHypType(bool hasgeom)
+  { return hasgeom ? "MG-CADSurf Parameters" : "MG-CADSurf Parameters_NOGEOM"; }
+
   TopoDS_Shape entryToShape(std::string entry);
 
   void SetPhysicalMesh(PhysicalMesh thePhysicalMesh);
@@ -156,12 +157,18 @@ public:
   void SetJacobianRectificationRespectGeometry( bool allowRectification );
   bool GetJacobianRectificationRespectGeometry();
     
+  void SetUseDeprecatedPatchMesher( bool useDeprecatedPatchMesher );
+  bool GetUseDeprecatedPatchMesher();
+
   void SetJacobianRectification( bool allowRectification );
   bool GetJacobianRectification();
 
   void SetMaxNumberOfPointsPerPatch( int nb ) throw (std::invalid_argument);
   int  GetMaxNumberOfPointsPerPatch();
 
+  void SetMaxNumberOfThreads( int nb ) throw (std::invalid_argument);
+  int  GetMaxNumberOfThreads();
+
   void SetRespectGeometry( bool toRespect );
   bool GetRespectGeometry();
 
@@ -186,12 +193,17 @@ public:
   void SetTags( const std::string& howToTreat ) throw (std::invalid_argument);
   std::string GetTags();
 
+  // Hyper-patches
+  typedef std::set< int > THyperPatchTags;
+  typedef std::vector< THyperPatchTags > THyperPatchList;
+
+  void SetHyperPatches(const THyperPatchList& hpl);
+  const THyperPatchList& GetHyperPatches() const { return _hyperPatchList; }
+  static int GetHyperPatchTag( int faceTag, const BLSURFPlugin_Hypothesis* hyp, int* iPatch=0 );
+
   void SetPreCADMergeEdges(bool theVal);
   bool GetPreCADMergeEdges() const { return _preCADMergeEdges; }
 
-  void SetPreCADRemoveTinyUVEdges(bool theVal);
-  bool GetPreCADRemoveTinyUVEdges() const { return _preCADRemoveTinyUVEdges; }
-
   void SetPreCADRemoveDuplicateCADFaces(bool theVal);
   bool GetPreCADRemoveDuplicateCADFaces() const { return _preCADRemoveDuplicateCADFaces; }
 
@@ -231,7 +243,7 @@ public:
  */
   
   typedef std::multimap< std::string, BLSURFPlugin_Attractor* > TAttractorMap;
-  typedef std::map< std::string, std::vector<double> > TParamsMap; //TODO à finir 
+  typedef std::map< std::string, std::vector<double> > TParamsMap; //TODO ?? finir 
   
   void SetClassAttractorEntry(const std::string& entry, const std::string& att_entry, double StartSize, double EndSize, double ActionRadius, double ConstantRadius);
   std::string  GetClassAttractorEntry(const std::string& entry);
@@ -437,7 +449,6 @@ public:
   static Topology        GetDefaultTopology() { return FromCAD; }
   // PreCAD
   static bool            GetDefaultPreCADMergeEdges() { return false; }
-  static bool            GetDefaultPreCADRemoveTinyUVEdges() { return false; }
   static bool            GetDefaultPreCADRemoveDuplicateCADFaces() { return false; }
   static bool            GetDefaultPreCADProcess3DTopology() { return false; }
   static bool            GetDefaultPreCADDiscardInput() { return false; }
@@ -575,7 +586,6 @@ private:
   Topology        _topology;
   
   bool            _preCADMergeEdges;
-  bool            _preCADRemoveTinyUVEdges;
   bool            _preCADRemoveDuplicateCADFaces;
   bool            _preCADProcess3DTopology;
   bool            _preCADDiscardInput;
@@ -614,6 +624,8 @@ private:
   TEdgesPeriodicityVector _edgesPeriodicityVector;
   TVerticesPeriodicityVector _verticesPeriodicityVector;
 
+  THyperPatchList _hyperPatchList;
+
   // Called by SaveTo to store content of _preCadFacesPeriodicityVector and _preCadEdgesPeriodicityVector
   void SavePreCADPeriodicity(std::ostream & save, const char* shapeType);