/*!
-\page hexotic_hypo_page Hexotic Parameters hypothesis
+\page hexotic_hypo_page MG-Hexa Parameters hypothesis
-\n Hexotic Parameters hypothesis works only with <b>Hexotic</b>
+\n MG-Hexa Parameters hypothesis works only with <b>MG-Hexa</b>
algorithm. This algorithm is a commercial software.
\n To get a licence, visit http://www.distene.com/en/corp/eval-distene.html
\image html hexotic_parameters.png
<ul>
-<li><b>Name</b> - allows to define the name of the hypothesis (Hexotic
+<li><b>Name</b> - allows to define the name of the hypothesis (MG-Hexa
Parameters by default).</li>
<li><b>Min size</b> - allows defining the minimal size of the elements (overrides "Nb. Hexes Max Level" value).</li>
</li>
</ul>
-\note If BLSURF is used as 2D algo, and if a GMF file is defined as output file (using SetGMFFile(my2Dmesh.mesh)), then Hexotic will use this file as input.
+\note If BLSURF is used as 2D algo, and if a GMF file is defined as output file (using SetGMFFile(my2Dmesh.mesh)), then MG-Hexa will use this file as input.
This allows to avoid the reconstruction of the GMF file from the SMESH structure and can improve the global computation time.
-<br><b>See Also</b> a sample TUI Script of the \ref tui_hexotic "creation of an Hexotic mesh"
+<br><b>See Also</b> a sample TUI Script of the \ref tui_hexotic "creation of a MG-Hexa mesh"
\section hexotic_local_size_parameters Local size
-# \ref tui_hexotic_sd_mode3
-# \ref tui_hexotic_sd_mode4
-\section tui_hexotic_basic Construction of Mesh using Hexotic algorithm
+\section tui_hexotic_basic Construction of Mesh using MG-Hexa algorithm
-<h2>Example of mesh generation with Hexotic algorithm:</h2>
+<h2>Example of mesh generation with MG-Hexa algorithm:</h2>
\tui_script{hexoticdemo.py}
-\image html hexotic_basic_subdivisions_4_8.png Left: Hexotic mesh without hypothesis, right: Hexotic mesh with an hypothesis defined by minl=4 and maxl=8
+\image html hexotic_basic_subdivisions_4_8.png Left: MG-Hexa mesh without hypothesis, right: MG-Hexa mesh with an hypothesis defined by minl=4 and maxl=8
\subsection tui_local_size Local size
\section tui_hexotic_sd_mode Effect of the sub-domain mode
-This example illustrates the sub-domain mode of Hexotic.
+This example illustrates the sub-domain mode of MG-Hexa.
\subsection tui_hexotic_sd_mode1 Sub-domain mode = 1
-<h2>Example of sub-domain mode 1 with Hexotic algorithm:</h2>
+<h2>Example of sub-domain mode 1 with MG-Hexa algorithm:</h2>
\tui_script{hexoticsubdom1.py}
-\image html hexotic_sd_mode_1.png Hexotic mesh of a box cut by a holed sphere ( sd = 1 )
+\image html hexotic_sd_mode_1.png MG-Hexa mesh of a box cut by a holed sphere ( sd = 1 )
\ref tui_hexotic "Back to top"
\subsection tui_hexotic_sd_mode2 Sub-domain mode = 2
-<h2>Example of sub-domain mode 2 with Hexotic algorithm:</h2>
+<h2>Example of sub-domain mode 2 with MG-Hexa algorithm:</h2>
\tui_script{hexoticsubdom2.py}
-\image html hexotic_sd_mode_2.png Hexotic mesh of a box cut by a holed sphere ( sd = 2 )
+\image html hexotic_sd_mode_2.png MG-Hexa mesh of a box cut by a holed sphere ( sd = 2 )
\ref tui_hexotic "Back to top"
\subsection tui_hexotic_sd_mode3 Sub-domain mode = 3
-<h2>Example of sub-domain mode 3 with Hexotic algorithm:</h2>
+<h2>Example of sub-domain mode 3 with MG-Hexa algorithm:</h2>
\tui_script{hexoticsubdom3.py}
-\image html hexotic_sd_mode_3.png Hexotic mesh of a box cut by a holed sphere ( sd = 3 )
+\image html hexotic_sd_mode_3.png MG-Hexa mesh of a box cut by a holed sphere ( sd = 3 )
\ref tui_hexotic "Back to top"
\subsection tui_hexotic_sd_mode4 Sub-domain mode = 4
-<h2>Example of sub-domain mode 4 with Hexotic algorithm:</h2>
+<h2>Example of sub-domain mode 4 with MG-Hexa algorithm:</h2>
\tui_script{hexoticsubdom4.py}
-\image html hexotic_sd_mode_4.png Hexotic mesh of a box cut by a plane ( On the left, sd = 3: the internal surface is ignored ; on the right sd = 4: all sub-domains are meshed )
+\image html hexotic_sd_mode_4.png MG-Hexa mesh of a box cut by a plane ( On the left, sd = 3: the internal surface is ignored ; on the right sd = 4: all sub-domains are meshed )
\ref tui_hexotic "Back to top"
- Meshing 3D geometric entities.
- Generating 3D meshes from 2D meshes, working without geometrical objects.
-\note HexoticPLUGIN plugin uses DISTENE Hexotic commercial meshing
+\note HexoticPLUGIN plugin uses DISTENE MG-Hexa commercial meshing
software and requires a license at the run time (to work within the
Mesh module).
server-lib="HexoticEngine"
gui-lib="HexoticPluginGUI">
<hypotheses>
- <hypothesis type="Hexotic_Parameters"
- label-id="Hexotic Parameters"
+ <hypothesis type="MG-Hexa Parameters"
+ label-id="MG-Hexa Parameters"
icon-id="mesh_hypo_Hexotic.png"
dim="3">
<python-wrap>
</hypotheses>
<algorithms>
- <algorithm type="Hexotic_3D"
- label-id="Hexahedron (Hexotic)"
+ <algorithm type="MG-Hexa"
+ label-id="MG-Hexa"
icon-id="mesh_algo_Hexotic.png"
- hypos="Hexotic_Parameters"
+ hypos="MG-Hexa Parameters"
input="TRIA,QUAD"
output="HEXA"
need-geom="false"
dim="3">
<python-wrap>
- <algo>Hexotic_3D=Hexahedron(algo=smeshBuilder.Hexotic)</algo>
+ <algo>Hexotic_3D=Hexahedron(algo=smeshBuilder.MG_Hexa)</algo>
<hypo>Hexotic_Parameters=Parameters()</hypo>
</python-wrap>
</algorithm>
<translation>mesh_hypo_Hexotic.png</translation>
</message>
<message>
- <source>ICON_SMESH_TREE_ALGO_Hexotic_2D3D</source>
+ <source>ICON_SMESH_TREE_ALGO_MG-Hexa</source>
<translation>mesh_tree_algo_Hexotic.png</translation>
</message>
<message>
<translation>mesh_tree_algo_Hexotic.png</translation>
</message>
<message>
- <source>ICON_SMESH_TREE_HYPO_Hexotic_Parameters</source>
+ <source>ICON_SMESH_TREE_HYPO_MG-Hexa Parameters</source>
<translation>mesh_tree_hypo_Hexotic.png</translation>
</message>
<message>
<name>@default</name>
<message>
<source>Hexotic_3D_HYPOTHESIS</source>
- <translation>Hexotic 3D</translation>
+ <translation>MG-Hexa</translation>
</message>
<message>
<source>Hexotic_3D_TITLE</source>
SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator( const QString& aHypType )
{
SMESHGUI_GenericHypothesisCreator* aCreator = NULL;
- if( aHypType=="Hexotic_Parameters" )
- aCreator = new HexoticPluginGUI_HypothesisCreator( aHypType );
+ if( aHypType=="Hexotic_Parameters" ||
+ aHypType=="MG-Hexa Parameters")
+ aCreator = new HexoticPluginGUI_HypothesisCreator( "MG-Hexa Parameters" );
return aCreator;
}
}
# Mesh algo type identifiers
#----------------------------
-## Algorithm type: Hexotic hexahedron 3D algorithm, see Hexotic_Algorithm
-Hexotic = "Hexotic_3D"
+## Algorithm type: MG-Hexa hexahedron 3D algorithm, see Hexotic_Algorithm
+MG_Hexa = "MG-Hexa"
+Hexotic = MG_Hexa
#----------------------------
# Algorithms
# @return hypothesis object
def Parameters(self):
if not self.params:
- self.params = self.Hypothesis("Hexotic_Parameters", [],
+ self.params = self.Hypothesis("MG-Hexa Parameters", [],
"libHexoticEngine.so", UseExisting=0)
pass
return self.params
: SMESH_3D_Algo(hypId, studyId, gen)
{
MESSAGE("HexoticPlugin_Hexotic::HexoticPlugin_Hexotic");
- _name = "Hexotic_3D";
+ _name = "MG-Hexa";
_shapeType = (1 << TopAbs_SHELL) | (1 << TopAbs_SOLID);// 1 bit /shape type
// _onlyUnaryInput = false;
_requireShape = false;
_iShape=0;
_nbShape=0;
_hexoticFilesKept=false;
- _compatibleHypothesis.push_back("Hexotic_Parameters");
+ _compatibleHypothesis.push_back( HexoticPlugin_Hypothesis::GetHypType() );
#ifdef WITH_BLSURFPLUGIN
_blsurfHypo = NULL;
#endif
// If a BLSURF hypothesis is applied, get it
SMESH_HypoFilter blsurfFilter;
- blsurfFilter.Init( blsurfFilter.HasName( "BLSURF_Parameters" ));
+ blsurfFilter.Init( blsurfFilter.HasName( BLSURFPlugin_Hypothesis::GetHypType() ));
std::list<const SMESHDS_Hypothesis *> appliedHyps;
aMesh.GetHypotheses( aShape, blsurfFilter, appliedHyps, false );
itl = appliedHyps.begin();
theHyp = (*itl); // use only the first hypothesis
std::string hypName = theHyp->GetName();
- if (hypName == "BLSURF_Parameters") {
+ if (hypName == BLSURFPlugin_Hypothesis::GetHypType()) {
_blsurfHypo = static_cast<const BLSURFPlugin_Hypothesis*> (theHyp);
ASSERT(_blsurfHypo);
return true;
theHyp = (*itl); // use only the first hypothesis
std::string hypName = theHyp->GetName();
- if (hypName == "Hexotic_Parameters") {
+ if (hypName == HexoticPlugin_Hypothesis::GetHypType() ) {
_hypothesis = static_cast<const HexoticPlugin_Hypothesis*> (theHyp);
ASSERT(_hypothesis);
aStatus = SMESH_Hypothesis::HYP_OK;
_sizeMaps(GetDefaultHexoticSizeMaps())
{
MESSAGE("HexoticPlugin_Hypothesis::HexoticPlugin_Hypothesis");
- _name = "Hexotic_Parameters";
+ _name = GetHypType();
_param_algo_dim = 3;
}
HexoticPlugin_Hypothesis(int hypId, int studyId, SMESH_Gen* gen);
+ static const char* GetHypType() { return "MG-Hexa Parameters"; }
+
void SetHexesMinLevel(int theVal);
int GetHexesMinLevel() const { return _hexesMinLevel; }
GenericHypothesisCreator_i* aCreator = 0;
// Algorithms
- if (strcmp(aHypName, "Hexotic_3D") == 0)
+ if (strcmp(aHypName, "Hexotic_3D") == 0 ||
+ strcmp(aHypName, "MG-Hexa") == 0)
aCreator = new HexoticPlugin_Creator_i<HexoticPlugin_Hexotic_i>;
// Hypotheses
- else if (strcmp(aHypName, "Hexotic_Parameters") == 0)
+ else if (strcmp(aHypName, "Hexotic_Parameters") == 0 ||
+ strcmp(aHypName, "MG-Hexa Parameters") == 0)
aCreator = new HexoticPlugin_Creator_i<HexoticPlugin_Hypothesis_i>;
else ;