import salome
salome.salome_init()
-import GEOM
+
from salome.geom import geomBuilder
geompy = geomBuilder.New(salome.myStudy)
-import SMESH, SALOMEDS
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New(salome.myStudy)
geompy.addToStudy(sphere, "sphere")
# create a mesh on the sphere
-hexoticMesh = smesh.Mesh(sphere,"sphere: BLSurf and Hexotic mesh")
+mghexaMesh = smesh.Mesh(sphere,"sphere: MG-CADSurf and MG-Hexa mesh")
-# create a BLSurf algorithm for faces
-BLSURF = hexoticMesh.Triangle(algo=smeshBuilder.BLSURF)
-BLSURF.SetGeometricMesh( 1 )
+# create a MG-CADSurf algorithm for faces
+MG_CADSurf = mghexaMesh.Triangle(algo=smeshBuilder.MG_CADSurf)
+MG_CADSurf.SetGeometricMesh( 1 )
-# create a Hexotic algorithm for volumes
-HEXOTIC = hexoticMesh.Hexahedron(algo=smeshBuilder.Hexotic)
+# create a MG-Hexa algorithm for volumes
+MG_Hexa = mghexaMesh.Hexahedron(algo=smeshBuilder.MG_Hexa)
## compute the mesh
-#hexoticMesh.Compute()
+#mghexaMesh.Compute()
# Change the level of subdivision
-HEXOTIC.SetMinMaxHexes(4, 8)
+MG_Hexa.SetMinMaxHexes(4, 8)
## compute the mesh
-#hexoticMesh.Compute()
+#mghexaMesh.Compute()
# Local size
faces = geompy.SubShapeAll(sphere, geompy.ShapeType["FACE"])
# Set a local size on the face
-HEXOTIC.SetMinMaxSize(10, 20)
-HEXOTIC.SetSizeMap(faces[0], 10)
+MG_Hexa.SetMinMaxSize(10, 20)
+MG_Hexa.SetSizeMap(faces[0], 10)
# compute the mesh
-hexoticMesh.Compute()
+mghexaMesh.Compute()
# End of script
import salome
salome.salome_init()
-import GEOM
+
from salome.geom import geomBuilder
geompy = geomBuilder.New(salome.myStudy)
# Create filters
# aFilter1: elements inside small sphere
-aFilter1 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_2)])
+aFilter1 = smesh.GetFilter(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_2)
# aFilter2: elements inside big sphere and not inside small sphere
-aFilter2 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_1, SMESH.FT_LogicalAND),
- smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_2, SMESH.FT_LogicalNOT)])
+aFilter2 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_1, SMESH.FT_LogicalAND),
+ smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_2, SMESH.FT_LogicalNOT)])
# aFilter3: elements not inside big sphere
-aFilter3 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_1, SMESH.FT_LogicalNOT)])
+aFilter3 = smesh.GetFilter(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_1, SMESH.FT_LogicalNOT)
# Create mesh of Cut_2 with sd mode 1
print "Create mesh of Cut_2 with sd mode 1"
-Mesh_hexotic_sd1 = smesh.Mesh(Cut_2, "Mesh_hexotic_sd1")
+Mesh_mghexa_sd1 = smesh.Mesh(Cut_2, "Mesh_mghexa_sd1")
-# Create the 2D algo: BlSurf with geometrical mesh
-Mesh_hexotic_sd1.Triangle(algo=smeshBuilder.BLSURF).Parameters().SetGeometricMesh( 1 )
+# Create the 2D algo: MG-CADSurf with geometrical mesh
+Mesh_mghexa_sd1.Triangle(algo=smeshBuilder.MG_CADSurf).SetGeometricMesh( 1 )
-# Create the 3D algo: Hexotic with:
+# Create the 3D algo: MG-Hexa with:
# - minl = 4
# - maxl = 8
# - sd = 1
-Mesh_hexotic_sd1.Hexahedron(algo=smeshBuilder.Hexotic).SetMinMaxHexes(4, 8).SetHexoticSdMode( 1 )
+Mesh_mghexa_sd1.Hexahedron(algo=smeshBuilder.MG_Hexa).SetMinMaxHexes(4, 8).SetHexoticSdMode( 1 )
# Create the groups on filters
-g1 = Mesh_hexotic_sd1.GroupOnFilter(SMESH.VOLUME, 'small sphere', aFilter1 )
+g1 = Mesh_mghexa_sd1.GroupOnFilter(SMESH.VOLUME, 'small sphere', aFilter1 )
g1.SetColor( SALOMEDS.Color( 1, 0, 0 ))
-g2 = Mesh_hexotic_sd1.GroupOnFilter(SMESH.VOLUME, 'big sphere - small sphere', aFilter2 )
+g2 = Mesh_mghexa_sd1.GroupOnFilter(SMESH.VOLUME, 'big sphere - small sphere', aFilter2 )
g2.SetColor( SALOMEDS.Color( 0, 1, 0 ))
-g3 = Mesh_hexotic_sd1.GroupOnFilter(SMESH.VOLUME, 'box - big sphere', aFilter3 )
+g3 = Mesh_mghexa_sd1.GroupOnFilter(SMESH.VOLUME, 'box - big sphere', aFilter3 )
g3.SetColor( SALOMEDS.Color( 0, 0, 1 ))
# Compute
-Mesh_hexotic_sd1.Compute()
+Mesh_mghexa_sd1.Compute()
# End of script
import salome
salome.salome_init()
-import GEOM
+
from salome.geom import geomBuilder
geompy = geomBuilder.New(salome.myStudy)
# Create filters
# aFilter1: elements inside small sphere
-aFilter1 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_2)])
+aFilter1 = smesh.GetFilter(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_2)
# aFilter2: elements inside big sphere and not inside small sphere
-aFilter2 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_1, SMESH.FT_LogicalAND),
- smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_2, SMESH.FT_LogicalNOT)])
+aFilter2 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_1, SMESH.FT_LogicalAND),
+ smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_2, SMESH.FT_LogicalNOT)])
# aFilter3: elements not inside big sphere
-aFilter3 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_1, SMESH.FT_LogicalNOT)])
+aFilter3 = smesh.GetFilter(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_1, SMESH.FT_LogicalNOT)
# Create mesh of Cut_2 with sd mode 2
print "Create mesh of Cut_2 with sd mode 2"
-Mesh_hexotic_sd2 = smesh.Mesh(Cut_2, "Mesh_hexotic_sd2")
+Mesh_mghexa_sd2 = smesh.Mesh(Cut_2, "Mesh_mghexa_sd2")
-# Create the 2D algo: BlSurf with geometrical mesh
-Mesh_hexotic_sd2.Triangle(algo=smeshBuilder.BLSURF).Parameters().SetGeometricMesh( 1 )
+# Create the 2D algo: MG-CADSurf with geometrical mesh
+Mesh_mghexa_sd2.Triangle(algo=smeshBuilder.MG_CADSurf).SetGeometricMesh( 1 )
-# Create the 3D algo: Hexotic with:
+# Create the 3D algo: MG-Hexa with:
# - minl = 4
# - maxl = 8
# - sd = 2
-Mesh_hexotic_sd2.Hexahedron(algo=smeshBuilder.Hexotic).SetMinMaxHexes(4, 8).SetHexoticSdMode( 2 )
+Mesh_mghexa_sd2.Hexahedron(smeshBuilder.MG_Hexa).SetMinMaxHexes(4, 8).SetHexoticSdMode( 2 )
# Create the groups on filters
-g1 = Mesh_hexotic_sd2.GroupOnFilter(SMESH.VOLUME, 'small sphere', aFilter1 )
+g1 = Mesh_mghexa_sd2.GroupOnFilter(SMESH.VOLUME, 'small sphere', aFilter1 )
g1.SetColor( SALOMEDS.Color( 1, 0, 0 ))
-g2 = Mesh_hexotic_sd2.GroupOnFilter(SMESH.VOLUME, 'big sphere - small sphere', aFilter2 )
+g2 = Mesh_mghexa_sd2.GroupOnFilter(SMESH.VOLUME, 'big sphere - small sphere', aFilter2 )
g2.SetColor( SALOMEDS.Color( 0, 1, 0 ))
-g3 = Mesh_hexotic_sd2.GroupOnFilter(SMESH.VOLUME, 'box - big sphere', aFilter3 )
+g3 = Mesh_mghexa_sd2.GroupOnFilter(SMESH.VOLUME, 'box - big sphere', aFilter3 )
g3.SetColor( SALOMEDS.Color( 0, 0, 1 ))
# Compute
-Mesh_hexotic_sd2.Compute()
+Mesh_mghexa_sd2.Compute()
# End of script
import salome
salome.salome_init()
-import GEOM
+
from salome.geom import geomBuilder
geompy = geomBuilder.New(salome.myStudy)
# Create filters
# aFilter1: elements inside small sphere
-aFilter1 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_2)])
+aFilter1 = smesh.GetFilter(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_2)
# aFilter2: elements inside big sphere and not inside small sphere
-aFilter2 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_1, SMESH.FT_LogicalAND),
- smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_2, SMESH.FT_LogicalNOT)])
+aFilter2 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_1, SMESH.FT_LogicalAND),
+ smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_2, SMESH.FT_LogicalNOT)])
# aFilter3: elements not inside big sphere
-aFilter3 = smesh.GetFilterFromCriteria([smesh.GetCriterion(SMESH.VOLUME,SMESH.FT_BelongToGeom,SMESH.FT_Undefined,Sphere_1, SMESH.FT_LogicalNOT)])
+aFilter3 = smesh.GetFilter(SMESH.VOLUME,SMESH.FT_BelongToGeom,'=',Sphere_1, SMESH.FT_LogicalNOT)
# Create mesh of Cut_2 with sd mode 3
print "Create mesh of Cut_2 with sd mode 3"
-Mesh_hexotic_sd3 = smesh.Mesh(Cut_2, "Mesh_hexotic_sd3")
+Mesh_mghexa_sd3 = smesh.Mesh(Cut_2, "Mesh_mghexa_sd3")
-# Create the 2D algo: BlSurf with geometrical mesh
-Mesh_hexotic_sd3.Triangle(algo=smeshBuilder.BLSURF).Parameters().SetGeometricMesh( 1 )
+# Create the 2D algo: MG-CADSurf with geometrical mesh
+Mesh_mghexa_sd3.Triangle(algo=smeshBuilder.MG_CADSurf).SetGeometricMesh( 1 )
-# Create the 3D algo: Hexotic with:
+# Create the 3D algo: MG-Hexa with:
# - minl = 4
# - maxl = 8
# - sd = 3
-Mesh_hexotic_sd3.Hexahedron(algo=smeshBuilder.Hexotic).SetMinMaxHexes(4, 8).SetHexoticSdMode( 3 )
+Mesh_mghexa_sd3.Hexahedron(algo=smeshBuilder.MG_Hexa).SetMinMaxHexes(4, 8).SetHexoticSdMode( 3 )
# Create the groups on filters
-g1 = Mesh_hexotic_sd3.GroupOnFilter(SMESH.VOLUME, 'small sphere', aFilter1 )
+g1 = Mesh_mghexa_sd3.GroupOnFilter(SMESH.VOLUME, 'small sphere', aFilter1 )
g1.SetColor( SALOMEDS.Color( 1, 0, 0 ))
-g2 = Mesh_hexotic_sd3.GroupOnFilter(SMESH.VOLUME, 'big sphere - small sphere', aFilter2 )
+g2 = Mesh_mghexa_sd3.GroupOnFilter(SMESH.VOLUME, 'big sphere - small sphere', aFilter2 )
g2.SetColor( SALOMEDS.Color( 0, 1, 0 ))
-g3 = Mesh_hexotic_sd3.GroupOnFilter(SMESH.VOLUME, 'box - big sphere', aFilter3 )
+g3 = Mesh_mghexa_sd3.GroupOnFilter(SMESH.VOLUME, 'box - big sphere', aFilter3 )
g3.SetColor( SALOMEDS.Color( 0, 0, 1 ))
# Compute
-Mesh_hexotic_sd3.Compute()
+Mesh_mghexa_sd3.Compute()
# End of script
import salome
salome.salome_init()
-import GEOM
+
from salome.geom import geomBuilder
geompy = geomBuilder.New(salome.myStudy)
-import SMESH, SALOMEDS
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New(salome.myStudy)
# Create geometry: a box cut by a plane
Box_1 = geompy.MakeBoxDXDYDZ(200, 200, 200)
Translation_1 = geompy.MakeTranslation(Box_1, 0, 200, 0)
-Partition_1 = geompy.MakePartition([Box_1, Translation_1], [], [], [], geompy.ShapeType["SOLID"], 0, [], 0)
+Partition_1 = geompy.MakePartition([Box_1, Translation_1])
geompy.addToStudy( Box_1, 'Box_1' )
geompy.addToStudy( Translation_1, 'Translation_1' )
geompy.addToStudy( Partition_1, 'Partition_1' )
# Create mesh of Partition_1 with sd mode 4 (default sd mode in SALOME)
-Mesh_hexotic_sd4 = smesh.Mesh(Partition_1, "Mesh_hexotic_sd4")
-Mesh_hexotic_sd4.Triangle(algo=smeshBuilder.BLSURF)
-Mesh_hexotic_sd4.Hexahedron(algo=smeshBuilder.Hexotic).SetMinMaxHexes(4, 8).SetHexoticSdMode( 4 )
+Mesh_mghexa_sd4 = smesh.Mesh(Partition_1, "Mesh_mghexa_sd4")
+Mesh_mghexa_sd4.Triangle(smeshBuilder.MG_CADSurf)
+Mesh_mghexa_sd4.Hexahedron(smeshBuilder.MG_Hexa).SetMinMaxHexes(4, 8).SetHexoticSdMode( 4 )
# Compute
-Mesh_hexotic_sd4.Compute()
+Mesh_mghexa_sd4.Compute()
# End of script
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "SALOME HexoticPLUGIN User's Guide"
+PROJECT_NAME = "SALOME MG-Hexa Plug-in User's Guide"
OUTPUT_DIRECTORY = HexoticPLUGIN
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "SALOME HexoticPLUGIN User's Guide"
+PROJECT_NAME = "SALOME MG-Hexa Plug-in User's Guide"
OUTPUT_DIRECTORY = HexoticPLUGIN
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
\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
+\n To get a license, visit http://www.meshgems.com/meshgems-products.html
\section hexotic_general_parameters General parameters
<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><b>Min size</b> - allows defining the minimal size of the elements (overrides <b>Nb. Hexes Max Level</b> value).</li>
-<li><b>Max size</b> - allows defining the maximal size of the elements (overrides "Nb. Hexes Min Level" value).</li>
+<li><b>Max size</b> - allows defining the maximal size of the elements (overrides <b>Nb. Hexes Min Level</b> value).</li>
<li><b>Nb. Hexes Min Level</b> - allows defining the minimal level of recursive partitioning on the initial octree cube.</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 MG-Hexa will use this file as input.
+\note If MG-CADSurf 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 a MG-Hexa mesh"
\image html hexotic_local_size_parameters.png
<ul>
-<li><b>Selection field (Shape)</b> - Area where the hexaedral mesh has to be refined. You can select any kind of shape (vertex, edge, face, solid, ...). The shape can be a subshape of the main shape or not.</li>
+<li><b>Selection field (Shape)</b> - Area where the hexahedral mesh has to be refined. You can select any kind of shape (vertex, edge, face, solid, ...). The shape can be a sub-shape of the main shape or not.</li>
<li><b>Local size</b> - Expected size of the hexahedral mesh in (Solid) or near the given shape</li>
<li><b>Add button</b> - Add the local size to the list of local sizes (showed on the left)</li>
-<li><b>Remove button</b> - Remove a local size frome the list, select the local size in the list and press <i>Remove</i> </li>
+<li><b>Remove button</b> - Remove a local size from the list, select the local size in the list and press <i>Remove</i> </li>
</ul>
\note The local size will only influence the density towards a locally denser mesh. If the required density is coarser than the one determined automatically by the global size parameters
\page hexoticplugin_python_interface_page Python Interface
-Python package HexoticPLUGINBuilder defines several classes, destined for creation of the 3D meshes.
+\note The former name of MG-Hexa mesher is \a Hexotic and names
+of the corresponding classes and modules still include \a "Hexotic".
-Hexotic meshing plugin dynamically adds several methods to the smeshBuilder.Mesh class to create meshing algorithms.
+Python package HexoticPLUGINBuilder defines
+HexoticPLUGINBuilder.Hexotic_Algorithm class providing access
+to the MG-Hexa meshing algorithm and its parameters.
-Below you can see an example of usage of the HexoticPLUGINBuilder Python API for mesh generation:
+You can get an instance of this class by calling
+smeshBuilder.Mesh.Hexahedron(algo=smeshBuilder.MG_Hexa) or
+smeshBuilder.Mesh.Hexahedron(algo=smeshBuilder.Hexotic). This call
+creates an algorithm (if not yet exist), assigns it to the mesh and
+returns an instance of HexoticPLUGINBuilder.Hexotic_Algorithm to the caller.
+
+The class of algorithm has methods to set up meshing parameters.
+
+Below you can see examples of usage of this class for hexahedral mesh generation.
\anchor tui_hexotic
/*!
-\mainpage Introduction to HexoticPLUGIN
+\mainpage Introduction to MG-Hexa plug-in
-\b HexoticPLUGIN plugin is destined for:
-- Meshing 3D geometric entities.
+\b MG-Hexa plug-in adds MG-Hexa (former Hexotic) meshing
+algorithm to the SALOME Mesh module.
+
+\b MG-Hexa meshing algorithm is destined for:
+- Meshing 3D geometric entities with hexahedra.
- Generating 3D meshes from 2D meshes, working without geometrical objects.
-\note HexoticPLUGIN plugin uses DISTENE MG-Hexa commercial meshing
+\note MG-Hexa plug-in uses DISTENE MG-Hexa commercial meshing
software and requires a license at the run time (to work within the
Mesh module).
+To obtain a license, visit http://www.meshgems.com/meshgems-products.html
-To manage parameters of the HexoticPLUGIN use \subpage hexotic_hypo_page.
+To manage parameters of the MG-Hexa mesher use \subpage hexotic_hypo_page.
-Also all HexoticPLUGIN functionalities are accessible via
-\subpage hexoticplugin_python_interface_page "HexoticPLUGIN Python interface".
+Also all MG-Hexa functionalities are accessible via
+\subpage hexoticplugin_python_interface_page "MG-Hexa Python interface".
*/
<parameter name="plugins" value="NETGENPlugin,GHS3DPlugin,HexoticPLUGIN"/>
</section>
<section name="smesh_help" >
- <parameter name="Plug-ins/Hexotic plugin User's Guide" value="${HexoticPLUGIN_ROOT_DIR}/share/doc/salome/gui/HexoticPLUGIN/index.html"/>
+ <parameter name="Plug-ins/MG-Hexa plugin User's Guide" value="${HexoticPLUGIN_ROOT_DIR}/share/doc/salome/gui/HexoticPLUGIN/index.html"/>
</section>
</document>
</message>
<message>
<source>Hexotic_3D_HYPOTHESIS</source>
- <translation>Hexotic 3D</translation>
+ <translation>MG-Hexa</translation>
</message>
<message>
<source>Hexotic_3D_TITLE</source>
<name>@default</name>
<message>
<source>Hexotic_3D_HYPOTHESIS</source>
- <translation>Hexotic 3D</translation>
+ <translation>MG-Hexa</translation>
</message>
<message>
<source>Hexotic_3D_TITLE</source>
} HexoticHypothesisData;
/*!
- * \brief Class for creation of Hexotic hypotheses
+ * \brief Class for creation of MG-Hexa hypotheses
*/
class HEXOTICPLUGIN_GUI_EXPORT HexoticPluginGUI_HypothesisCreator : public SMESHGUI_GenericHypothesisCreator
{
##
# @package HexoticPLUGINBuilder
-# Python API for the Hexotic meshing plug-in module.
+# Python API for the MG-Hexa meshing plug-in module.
from salome.smesh.smesh_algorithm import Mesh_Algorithm
from salome.smesh.smeshBuilder import AssureGeomPublished
## Defines a hexahedron 3D algorithm
#
-# It is created by calling smeshBuilder.Mesh.Hexahedron( smeshBuilder.Hexotic, geom=0 )
+# It is created by calling smeshBuilder.Mesh.Hexahedron( smeshBuilder.MG_Hexa, geom=0 )
class Hexotic_Algorithm(Mesh_Algorithm):
## name of the dynamic method in smeshBuilder.Mesh class
meshMethod = "Hexahedron"
## type of algorithm used with helper function in smeshBuilder.Mesh class
# @internal
- algoType = Hexotic
+ algoType = MG_Hexa
## doc string of the method in smeshBuilder.Mesh class
# @internal
docHelper = "Creates hexahedron 3D algorithm for volumes"
def __init__(self, mesh, geom=0):
Mesh_Algorithm.__init__(self)
if noHexoticPlugin: print "Warning: HexoticPlugin module unavailable"
- self.Create(mesh, geom, Hexotic, "libHexoticEngine.so")
+ self.Create(mesh, geom, MG_Hexa, "libHexoticEngine.so")
self.params = None
pass
- ## Defines "SetMinMaxHexes" hypothesis to give two hexotic parameters
+ ## Defines "SetMinMaxHexes" hypothesis to give two MG-Hexa parameters
# @param min minimal level of recursive partitioning on the initial octree cube
# @param max maximal level of recursive partitioning on the initial octree cube
# @return hypothesis object
self.Parameters().SetHexesMaxLevel(max)
return self.Parameters()
- ## Defines "SetMinMaxSize" hypothesis to give two hexotic parameters
+ ## Defines "SetMinMaxSize" hypothesis to give two MG-Hexa parameters
# @param min minimal element's size
# @param max maximal element's size
# @return hypothesis object
self.Parameters().UnsetSizeMap(theObject)
return self.Parameters()
- ## (OBSOLETE) Defines "MinMaxQuad" hypothesis to give three hexotic parameters
+ ## (OBSOLETE) Defines "MinMaxQuad" hypothesis to give three MG-Hexa parameters
# @param min minimal level of recursive partitioning on the initial octree cube
# @param max maximal level of recursive partitioning on the initial octree cube
# @param quad not documented
static void printWarning(const int nbExpected, std::string aString, const int nbFound) {
cout << std::endl;
- cout << "WARNING : " << nbExpected << " " << aString << " expected, Hexotic has found " << nbFound << std::endl;
+ cout << "WARNING : " << nbExpected << " " << aString << " expected, MG-Hexa has found " << nbFound << std::endl;
cout << "=======" << std::endl;
cout << std::endl;
return;
//=============================================================================
/*!
- * Pass parameters to Hexotic
+ * Pass parameters to MG-Hexa
*/
//=============================================================================
}
else {
cout << std::endl;
- cout << "WARNING : The Hexotic default parameters are taken into account" << std::endl;
+ cout << "WARNING : The MG-Hexa default parameters are taken into account" << std::endl;
cout << "=======" << std::endl;
_hexesMinLevel = hyp->GetDefaultHexesMinLevel();
_hexesMaxLevel = hyp->GetDefaultHexesMaxLevel();
//================================================================================
/*!
- * \brief Returns a command to run Hexotic mesher
+ * \brief Returns a command to run MG-Hexa mesher
*/
//================================================================================
const TCollection_AsciiString& Hexotic_SizeMap_Prefix) const
{
cout << std::endl;
- cout << "Hexotic execution..." << std::endl;
+ cout << "MG-Hexa execution..." << std::endl;
cout << _name << " parameters :" << std::endl;
cout << " " << _name << " Verbosity = " << _hexoticVerbosity << std::endl;
cout << " " << _name << " Max Memory = " << _hexoticMaxMemory << std::endl;
cout << " " << _name << " Segments Max Level = " << _hexesMaxLevel << std::endl;
cout << " " << _name << " Segments Min Size = " << _hexesMinSize << std::endl;
cout << " " << _name << " Segments Max Size = " << _hexesMaxSize << std::endl;
- cout << " " << "Hexotic can ignore ridges : " << (_hexoticIgnoreRidges ? "yes":"no") << std::endl;
- cout << " " << "Hexotic authorize invalide elements : " << ( _hexoticInvalidElements ? "yes":"no") << std::endl;
+ cout << " " << "MG-Hexa can ignore ridges : " << (_hexoticIgnoreRidges ? "yes":"no") << std::endl;
+ cout << " " << "MG-Hexa authorize invalide elements : " << ( _hexoticInvalidElements ? "yes":"no") << std::endl;
cout << " " << _name << " Sharp angle threshold = " << _hexoticSharpAngleThreshold << " degrees" << std::endl;
cout << " " << _name << " Number of threads = " << _hexoticNbProc << std::endl;
cout << " " << _name << " Working directory = \"" << _hexoticWorkingDirectory << "\"" << std::endl;
//=============================================================================
/*!
- * Here we are going to use the Hexotic mesher
+ * Here we are going to use the MG-Hexa mesher
*/
//=============================================================================
removeHexoticFiles(Hexotic_In, Hexotic_Out);
splitQuads(aMesh); // quadrangles are no longer acceptable as input
cout << std::endl;
- cout << "Creating Hexotic input mesh file : " << Hexotic_In << std::endl;
+ cout << "Creating MG-Hexa input mesh file : " << Hexotic_In << std::endl;
aMesh.ExportGMF(Hexotic_In.ToCString(), meshDS, true);
#ifdef WITH_BLSURFPLUGIN
}
run_Hexotic += std::string(" 1> ") + aLogFileName.ToCString(); // dump into file
cout << std::endl;
- cout << "Hexotic command : " << run_Hexotic << std::endl;
+ cout << "MG-Hexa command : " << run_Hexotic << std::endl;
#ifndef WIN32
modeFile_In += Hexotic_In;
}
else {
hexahedraMessage = "failed";
- cout << "Problem with Hexotic output file " << Hexotic_Out.ToCString() << std::endl;
+ cout << "Problem with MG-Hexa output file " << Hexotic_Out.ToCString() << std::endl;
Ok = false;
// analyse log file
SMESH_File logFile( aLogFileName.ToCString() );
}
#ifndef WIN32
if ( status > 0 && WEXITSTATUS(status) == 127 )
- error("hexotic: command not found");
+ error("mg-hexa.exe: command not found");
#else
int err = errno;
if ( status == 0 && err == ENOENT ) {
- error("hexotic: command not found");
+ error("mg-hexa.exe: command not found");
}
#endif
}
splitQuads(aMesh); // quadrangles are no longer acceptable as input
cout << std::endl;
- cout << "Creating Hexotic input mesh file : " << Hexotic_In << std::endl;
+ cout << "Creating MG-Hexa input mesh file : " << Hexotic_In << std::endl;
aMesh.ExportGMF(Hexotic_In.ToCString(), aHelper->GetMeshDS());
#ifndef WIN32
modeFile_In += Hexotic_In;
MESSAGE("HexoticPlugin_Hexotic::Compute");
cout << std::endl;
- cout << "Hexotic command : " << run_Hexotic << std::endl;
+ cout << "MG-Hexa command : " << run_Hexotic << std::endl;
system( run_Hexotic.data() );
// --------------
myError->myName = COMPERR_EXCEPTION;
*/
hexahedraMessage = "failed";
- cout << "Problem with Hexotic output file " << Hexotic_Out << std::endl;
+ cout << "Problem with MG-Hexa output file " << Hexotic_Out << std::endl;
// analyse log file
SMESH_File logFile( aLogFileName.ToCString() );
if ( !logFile.eof() )
if ( std::search( fileBeg, fileEnd, msgLic, msgLic+strlen(msgLic)) != fileEnd )
return error("Licence problems.");
}
- return error(SMESH_Comment("Problem with Hexotic output file ")<<Hexotic_Out);
+ return error(SMESH_Comment("Problem with MG-Hexa output file ")<<Hexotic_Out);
}
cout << "Hexahedra meshing " << hexahedraMessage << std::endl;
cout << std::endl;
#include "HexoticPlugin_Hexotic.hxx"
// ======================================================
-// Hexotic 3d algorithm
+// MG-Hexa 3d algorithm
// ======================================================
class HEXOTICPLUGIN_EXPORT HexoticPlugin_Hexotic_i:
public virtual POA_HexoticPlugin::HexoticPlugin_Hexotic,
// TopoDS_Shape shape;
// double size;
// }
-// Parameters for work of Hexotic
+// Parameters for work of MG-Hexa
//
class HEXOTICPLUGIN_EXPORT HexoticPlugin_Hypothesis: public SMESH_Hypothesis
##
# @package HexoticPluginBuilder
-# Python API for the Hexotic meshing plug-in module.
+# Python API for the MG-Hexa meshing plug-in module.