From: eap Date: Thu, 11 Sep 2014 15:14:59 +0000 (+0400) Subject: COTECH: Update names of DISTENE products X-Git-Tag: V7_5_0a1~1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=932bd9377831fa2900e8b7d751635400ed33583d;p=plugins%2Fhexoticplugin.git COTECH: Update names of DISTENE products Almost full replacement of old names --- diff --git a/doc/salome/examples/hexoticdemo.py b/doc/salome/examples/hexoticdemo.py index c898c6a..de81e9b 100644 --- a/doc/salome/examples/hexoticdemo.py +++ b/doc/salome/examples/hexoticdemo.py @@ -19,11 +19,10 @@ 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) @@ -33,23 +32,23 @@ sphere = geompy.MakeSphereR(100.) 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 @@ -57,10 +56,10 @@ HEXOTIC.SetMinMaxHexes(4, 8) 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 diff --git a/doc/salome/examples/hexoticsubdom1.py b/doc/salome/examples/hexoticsubdom1.py index 8590d61..0d1bf82 100644 --- a/doc/salome/examples/hexoticsubdom1.py +++ b/doc/salome/examples/hexoticsubdom1.py @@ -19,7 +19,7 @@ import salome salome.salome_init() -import GEOM + from salome.geom import geomBuilder geompy = geomBuilder.New(salome.myStudy) @@ -43,35 +43,35 @@ geompy.addToStudy( Cut_2, 'Cut_2' ) # 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 diff --git a/doc/salome/examples/hexoticsubdom2.py b/doc/salome/examples/hexoticsubdom2.py index 6dc63b0..f77c77d 100644 --- a/doc/salome/examples/hexoticsubdom2.py +++ b/doc/salome/examples/hexoticsubdom2.py @@ -19,7 +19,7 @@ import salome salome.salome_init() -import GEOM + from salome.geom import geomBuilder geompy = geomBuilder.New(salome.myStudy) @@ -42,36 +42,36 @@ geompy.addToStudy( Cut_2, 'Cut_2' ) # 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 diff --git a/doc/salome/examples/hexoticsubdom3.py b/doc/salome/examples/hexoticsubdom3.py index f574c95..eba2e0f 100644 --- a/doc/salome/examples/hexoticsubdom3.py +++ b/doc/salome/examples/hexoticsubdom3.py @@ -19,7 +19,7 @@ import salome salome.salome_init() -import GEOM + from salome.geom import geomBuilder geompy = geomBuilder.New(salome.myStudy) @@ -42,36 +42,36 @@ geompy.addToStudy( Cut_2, 'Cut_2' ) # 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 diff --git a/doc/salome/examples/hexoticsubdom4.py b/doc/salome/examples/hexoticsubdom4.py index 73ba92a..3ba135f 100644 --- a/doc/salome/examples/hexoticsubdom4.py +++ b/doc/salome/examples/hexoticsubdom4.py @@ -19,28 +19,27 @@ 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 diff --git a/doc/salome/gui/HexoticPLUGIN/doxyfile.in b/doc/salome/gui/HexoticPLUGIN/doxyfile.in index f0f2408..73e92df 100755 --- a/doc/salome/gui/HexoticPLUGIN/doxyfile.in +++ b/doc/salome/gui/HexoticPLUGIN/doxyfile.in @@ -20,7 +20,7 @@ #--------------------------------------------------------------------------- # 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 diff --git a/doc/salome/gui/HexoticPLUGIN/doxyfile_py.in b/doc/salome/gui/HexoticPLUGIN/doxyfile_py.in index ccd5ad3..3165964 100755 --- a/doc/salome/gui/HexoticPLUGIN/doxyfile_py.in +++ b/doc/salome/gui/HexoticPLUGIN/doxyfile_py.in @@ -20,7 +20,7 @@ #--------------------------------------------------------------------------- # 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 diff --git a/doc/salome/gui/HexoticPLUGIN/images/hexotic_local_size_parameters.png b/doc/salome/gui/HexoticPLUGIN/images/hexotic_local_size_parameters.png index 7ab11e5..15091c8 100644 Binary files a/doc/salome/gui/HexoticPLUGIN/images/hexotic_local_size_parameters.png and b/doc/salome/gui/HexoticPLUGIN/images/hexotic_local_size_parameters.png differ diff --git a/doc/salome/gui/HexoticPLUGIN/images/hexotic_parameters.png b/doc/salome/gui/HexoticPLUGIN/images/hexotic_parameters.png index 7b95e97..b425dc6 100644 Binary files a/doc/salome/gui/HexoticPLUGIN/images/hexotic_parameters.png and b/doc/salome/gui/HexoticPLUGIN/images/hexotic_parameters.png differ diff --git a/doc/salome/gui/HexoticPLUGIN/input/hexotic_hypo.doc b/doc/salome/gui/HexoticPLUGIN/input/hexotic_hypo.doc index 23c33f7..df292c3 100644 --- a/doc/salome/gui/HexoticPLUGIN/input/hexotic_hypo.doc +++ b/doc/salome/gui/HexoticPLUGIN/input/hexotic_hypo.doc @@ -4,7 +4,7 @@ \n MG-Hexa Parameters hypothesis works only with MG-Hexa 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 @@ -14,9 +14,9 @@ algorithm. This algorithm is a commercial software.
  • Name - allows to define the name of the hypothesis (MG-Hexa Parameters by default).
  • -
  • Min size - allows defining the minimal size of the elements (overrides "Nb. Hexes Max Level" value).
  • +
  • Min size - allows defining the minimal size of the elements (overrides Nb. Hexes Max Level value).
  • -
  • Max size - allows defining the maximal size of the elements (overrides "Nb. Hexes Min Level" value).
  • +
  • Max size - allows defining the maximal size of the elements (overrides Nb. Hexes Min Level value).
  • Nb. Hexes Min Level - allows defining the minimal level of recursive partitioning on the initial octree cube.
  • @@ -53,7 +53,7 @@ Parameters by default). -\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.
    See Also a sample TUI Script of the \ref tui_hexotic "creation of a MG-Hexa mesh" @@ -66,10 +66,10 @@ The area where the mesh has to be refined is given as a geometrical shape. \image html hexotic_local_size_parameters.png \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 diff --git a/doc/salome/gui/HexoticPLUGIN/input/hexoticplugin_python_interface.doc b/doc/salome/gui/HexoticPLUGIN/input/hexoticplugin_python_interface.doc index 3d8eb01..96cb32e 100644 --- a/doc/salome/gui/HexoticPLUGIN/input/hexoticplugin_python_interface.doc +++ b/doc/salome/gui/HexoticPLUGIN/input/hexoticplugin_python_interface.doc @@ -2,11 +2,22 @@ \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 diff --git a/doc/salome/gui/HexoticPLUGIN/input/index.doc b/doc/salome/gui/HexoticPLUGIN/input/index.doc index 38f9089..248b834 100644 --- a/doc/salome/gui/HexoticPLUGIN/input/index.doc +++ b/doc/salome/gui/HexoticPLUGIN/input/index.doc @@ -1,19 +1,23 @@ /*! -\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". */ diff --git a/resources/SalomeApp.xml b/resources/SalomeApp.xml index 6044eb8..642fac9 100644 --- a/resources/SalomeApp.xml +++ b/resources/SalomeApp.xml @@ -27,6 +27,6 @@
    - +
    diff --git a/src/GUI/HexoticPLUGIN_msg_fr.ts b/src/GUI/HexoticPLUGIN_msg_fr.ts index feee3c0..c33c9cd 100755 --- a/src/GUI/HexoticPLUGIN_msg_fr.ts +++ b/src/GUI/HexoticPLUGIN_msg_fr.ts @@ -9,7 +9,7 @@ Hexotic_3D_HYPOTHESIS - Hexotic 3D + MG-Hexa Hexotic_3D_TITLE diff --git a/src/GUI/HexoticPLUGIN_msg_ja.ts b/src/GUI/HexoticPLUGIN_msg_ja.ts index f172649..a31833b 100644 --- a/src/GUI/HexoticPLUGIN_msg_ja.ts +++ b/src/GUI/HexoticPLUGIN_msg_ja.ts @@ -5,7 +5,7 @@ @default Hexotic_3D_HYPOTHESIS - Hexotic 3D + MG-Hexa Hexotic_3D_TITLE diff --git a/src/GUI/HexoticPluginGUI_HypothesisCreator.h b/src/GUI/HexoticPluginGUI_HypothesisCreator.h index a0ae3bb..c01c8f3 100644 --- a/src/GUI/HexoticPluginGUI_HypothesisCreator.h +++ b/src/GUI/HexoticPluginGUI_HypothesisCreator.h @@ -58,7 +58,7 @@ typedef struct } 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 { diff --git a/src/HexoticPlugin/HexoticPLUGINBuilder.py b/src/HexoticPlugin/HexoticPLUGINBuilder.py index eef51a1..100ca08 100644 --- a/src/HexoticPlugin/HexoticPLUGINBuilder.py +++ b/src/HexoticPlugin/HexoticPLUGINBuilder.py @@ -19,7 +19,7 @@ ## # @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 @@ -46,7 +46,7 @@ Hexotic = MG_Hexa ## 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 @@ -54,7 +54,7 @@ class Hexotic_Algorithm(Mesh_Algorithm): 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" @@ -66,11 +66,11 @@ class Hexotic_Algorithm(Mesh_Algorithm): 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 @@ -79,7 +79,7 @@ class Hexotic_Algorithm(Mesh_Algorithm): 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 @@ -107,7 +107,7 @@ class Hexotic_Algorithm(Mesh_Algorithm): 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 diff --git a/src/HexoticPlugin/HexoticPlugin_Hexotic.cxx b/src/HexoticPlugin/HexoticPlugin_Hexotic.cxx index 4f74c1f..fd3a573 100644 --- a/src/HexoticPlugin/HexoticPlugin_Hexotic.cxx +++ b/src/HexoticPlugin/HexoticPlugin_Hexotic.cxx @@ -353,7 +353,7 @@ void getShape(Mesh* mesh, Shape shape, Tab *t_Shape) { 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; @@ -835,7 +835,7 @@ static bool readResult(std::string theFile, //============================================================================= /*! - * Pass parameters to Hexotic + * Pass parameters to MG-Hexa */ //============================================================================= @@ -859,7 +859,7 @@ void HexoticPlugin_Hexotic::SetParameters(const HexoticPlugin_Hypothesis* hyp) { } 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(); @@ -941,7 +941,7 @@ static TCollection_AsciiString getSuffix() //================================================================================ /*! - * \brief Returns a command to run Hexotic mesher + * \brief Returns a command to run MG-Hexa mesher */ //================================================================================ @@ -950,7 +950,7 @@ std::string HexoticPlugin_Hexotic::getHexoticCommand(const TCollection_AsciiStri 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; @@ -958,8 +958,8 @@ std::string HexoticPlugin_Hexotic::getHexoticCommand(const TCollection_AsciiStri 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; @@ -1430,7 +1430,7 @@ gp_Pnt HexoticPlugin_Hexotic::tangencyPoint(const gp_Pnt& p1, //============================================================================= /*! - * Here we are going to use the Hexotic mesher + * Here we are going to use the MG-Hexa mesher */ //============================================================================= @@ -1523,7 +1523,7 @@ bool HexoticPlugin_Hexotic::Compute(SMESH_Mesh& aMesh, 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 } @@ -1539,7 +1539,7 @@ bool HexoticPlugin_Hexotic::Compute(SMESH_Mesh& aMesh, 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; @@ -1595,7 +1595,7 @@ bool HexoticPlugin_Hexotic::Compute(SMESH_Mesh& aMesh, } 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() ); @@ -1608,11 +1608,11 @@ bool HexoticPlugin_Hexotic::Compute(SMESH_Mesh& aMesh, } #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 } @@ -1680,7 +1680,7 @@ bool HexoticPlugin_Hexotic::Compute(SMESH_Mesh & aMesh, SMESH_MesherHelper* aHel 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; @@ -1692,7 +1692,7 @@ bool HexoticPlugin_Hexotic::Compute(SMESH_Mesh & aMesh, SMESH_MesherHelper* aHel 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() ); // -------------- @@ -1740,7 +1740,7 @@ bool HexoticPlugin_Hexotic::Compute(SMESH_Mesh & aMesh, SMESH_MesherHelper* aHel 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() ) @@ -1750,7 +1750,7 @@ bool HexoticPlugin_Hexotic::Compute(SMESH_Mesh & aMesh, SMESH_MesherHelper* aHel if ( std::search( fileBeg, fileEnd, msgLic, msgLic+strlen(msgLic)) != fileEnd ) return error("Licence problems."); } - return error(SMESH_Comment("Problem with Hexotic output file ")<