*/
void SetLayersOnAllWrap(bool toMesh);
bool GetLayersOnAllWrap(bool checkFreeOption = false) const;
+ /*!
+ * IDs of faces to grow the layers on
+ */
+ bool SetFacesWithLayers(const std::vector<int>& theVal);
+ const std::vector<int>& GetFacesWithLayers() const;
+ /*!
+ * IDs of faces to imprint the layers on
+ */
+ bool SetFacesWithImprinting(const std::vector<int>& theVal);
+ const std::vector<int>& GetFacesWithImprinting() const;
/*!
* To make groups of volumes of different domains when mesh is generated from skin.
* Default is to make groups.
void SetBoundaryLayersGrowth(BoundaryLayersGrowth level);
BoundaryLayersGrowth GetBoundaryLayersGrowth() const;
/*!
- * ElementGeneration: 0-Generation_Tetra_Dominant, 1-Generation_Hexa_Dominant. Default is Generation_Tetra_Dominant
+ * ElementGeneration: 0-Generation_Tetra_Dominant, 1-Generation_Hexa_Dominant, 2-Generation_Cartesian_Core. Default is Generation_Tetra_Dominant
*/
- enum ElementGeneration { Generation_Tetra_Dominant = 0, Generation_Hexa_Dominant };
+ enum ElementGeneration { Generation_Tetra_Dominant = 0, Generation_Hexa_Dominant, Generation_Cartesian_Core };
void SetElementGeneration(ElementGeneration level);
ElementGeneration GetElementGeneration() const;
/*!
*/
void SetBoundaryLayersProgression(double BLP);
double GetBoundaryLayersProgression() const;
+ /*!
+ * Set core elements size.
+ * Default is 0.0
+ */
+ void SetCoreSize(double CS);
+ double GetCoreSize() const;
/*!
* To set multinormals angle threshold at opening ridges.
* Default is 30.0
/*!
* \brief Return command to run hybrid mesher excluding file prefix (-f)
*/
- static std::string CommandToRun(const HYBRIDPlugin_Hypothesis* hyp,
- const bool hasShapeToMesh=true);
+ static std::string CommandToRun(const HYBRIDPlugin_Hypothesis* hyp, SMESH_Mesh& mesh);
/*!
* \brief Return a unique file name
*/
* \brief Return the name of executable
*/
static std::string GetExeName();
+ /*!
+ * \brief Return a tag of enforced triangles
+ */
+ static int EnforcedTag() { return -5; }
/*!
* To set an enforced vertex
static short DefaultNbOfBoundaryLayers();
static double DefaultHeightFirstLayer();
static double DefaultBoundaryLayersProgression();
+ static double DefaultCoreSize();
static double DefaultMultinormalsAngle();
static THYBRIDEnforcedVertex DefaultHYBRIDEnforcedVertex() {return THYBRIDEnforcedVertex();}
private:
- bool myToMeshHoles;
- bool myLayersOnAllWrap;
- bool myToMakeGroupsOfDomains;
- double myMaximumMemory;
- double myInitialMemory;
- short myOptimizationLevel;
- short myCollisionMode;
- short myBoundaryLayersGrowth;
- short myElementGeneration;
- bool myKeepFiles;
- std::string myWorkingDirectory;
- short myVerboseLevel;
- bool myToCreateNewNodes;
- bool myToUseBoundaryRecoveryVersion;
- bool myToUseFemCorrection;
- bool myToRemoveCentralPoint;
- bool myLogInStandardOutput;
- bool myRemoveLogOnSuccess;
- std::string myTextOption;
- double myGradation;
+ bool myToMeshHoles;
+ bool myLayersOnAllWrap;
+ std::vector<int> myFacesWithLayers;
+ std::vector<int> myFacesWithImprinting;
+ bool myToMakeGroupsOfDomains;
+ double myMaximumMemory;
+ double myInitialMemory;
+ short myOptimizationLevel;
+ short myCollisionMode;
+ short myBoundaryLayersGrowth;
+ short myElementGeneration;
+ bool myKeepFiles;
+ std::string myWorkingDirectory;
+ short myVerboseLevel;
+ bool myToCreateNewNodes;
+ bool myToUseBoundaryRecoveryVersion;
+ bool myToUseFemCorrection;
+ bool myToRemoveCentralPoint;
+ bool myLogInStandardOutput;
+ bool myRemoveLogOnSuccess;
+ std::string myTextOption;
+ double myGradation;
- bool myAddMultinormals;
- bool mySmoothNormals;
- double myHeightFirstLayer;
- double myBoundaryLayersProgression;
- double myMultinormalsAngle;
- short myNbOfBoundaryLayers;
+ bool myAddMultinormals;
+ bool mySmoothNormals;
+ double myHeightFirstLayer;
+ double myBoundaryLayersProgression;
+ double myCoreSize;
+ double myMultinormalsAngle;
+ short myNbOfBoundaryLayers;
THYBRIDEnforcedVertexList _enfVertexList;
THYBRIDEnforcedVertexCoordsValues _enfVertexCoordsSizeList;