Salome HOME
23352: [CEA] Order and naming of meshing algorithms
[modules/smesh.git] / resources / StdMeshers.xml.in
index 39307c745007b263334c44499999934d3b6f9ceb..3a4e607b14ca79466c2344687ad9c3adbcab3849 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version='1.0' encoding='us-ascii'?>
 <!DOCTYPE meshers PUBLIC "" "desktop.dtd">
 <!--
-  Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+  Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 
   Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
   CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -9,7 +9,7 @@
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
-  version 2.1 of the License.
+  version 2.1 of the License, or (at your option) any later version.
 
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
 <meshers>
 
-<meshers-group name="Standard Meshers"
-               resources="StdMeshers"
+<meshers-group name      ="Standard Meshers"
+               resources ="StdMeshers"
                idl-module="StdMeshers"
                server-lib="StdMeshersEngine"
-               gui-lib="StdMeshersGUI">
+               gui-lib   ="StdMeshersGUI">
   <hypotheses>
 
     <hypothesis type     ="SegmentLengthAroundVertex"
     <hypothesis type     ="LocalLength"
                 label-id ="Local Length"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="0"
+                priority ="20"
                 dim      ="1"/>
 
     <hypothesis type     ="MaxLength"
                 label-id ="Max Size"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="2"
+                priority ="50"
                 dim      ="1"/>
 
     <hypothesis type     ="Arithmetic1D"
-                label-id ="Arithmetic 1D"
+                label-id ="Arithmetic Progression"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="1"
+                priority ="10"
                 dim      ="1"/>
 
     <hypothesis type     ="GeometricProgression"
                 label-id ="Geometric Progression"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="1"
+                priority ="20"
                 dim      ="1"/>
 
     <hypothesis type     ="FixedPoints1D"
-                label-id ="Fixed Points 1D"
+                label-id ="Fixed Points"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="2"
+                priority ="10"
                 dim      ="1"/>
 
     <hypothesis type     ="StartEndLength"
                 label-id ="Start and End Length"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="1"
+                priority ="30"
                 dim      ="1"/>
 
     <hypothesis type     ="NumberOfSegments"
-                label-id ="Nb. Segments"
+                label-id ="Number of Segments"
                 icon-id  ="mesh_hypo_segment.png"
+                group-id ="0"
+                priority ="10"
                 dim      ="1"/>
 
     <hypothesis type     ="Deflection1D"
-                label-id ="Deflection 1D"
+                label-id ="Deflection"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="2"
+                priority ="20"
                 dim      ="1"/>
 
     <hypothesis type     ="Adaptive1D"
                 label-id ="Adaptive"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="2"
+                priority ="30"
                 dim      ="1"/>
 
     <hypothesis type     ="Propagation"
     <hypothesis type     ="AutomaticLength"
                 label-id ="Automatic Length"
                 icon-id  ="mesh_hypo_length.png"
+                group-id ="2"
+                priority ="40"
                 dim      ="1"/>
 
     <hypothesis type     ="LengthFromEdges"
     <algorithm type     ="Regular_1D"
               label-id ="Wire Discretisation"
               icon-id  ="mesh_algo_regular.png"
+               group-id ="0"
+               priority ="10"
                hypos    ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
                opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
                input    ="VERTEX"
     <algorithm type     ="CompositeSegment_1D"
               label-id ="Composite Side Discretisation"
               icon-id  ="mesh_algo_regular.png"
+               group-id ="0"
+               priority ="20"
                hypos    ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
                opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
                input    ="VERTEX"
     </algorithm>
 
     <algorithm type      ="@MEFISTO2D_NAME@"
-              label-id  ="Triangle (Mefisto)"
+              label-id  ="Triangle: Mefisto"
               icon-id   ="mesh_algo_mefisto.png"
+               group-id ="1"
+               priority ="40"
                hypos     ="LengthFromEdges,MaxElementArea"
                opt-hypos ="ViscousLayers2D"
                input     ="EDGE"
     </algorithm>
 
     <algorithm type     ="Quadrangle_2D"
-               label-id ="Quadrangle (Mapping)"
+               label-id ="Quadrangle: Mapping"
                icon-id  ="mesh_algo_quad.png"
+               group-id ="0"
+               priority ="10"
                hypos    ="QuadrangleParams"
                opt-hypos="ViscousLayers2D"
                input    ="EDGE"
       </python-wrap>
     </algorithm>
 
+    <algorithm type     ="QuadFromMedialAxis_1D2D"
+               label-id ="Quadrangle: Medial Axis Projection"
+               icon-id  ="mesh_algo_quad.png"
+               group-id ="0"
+               priority ="20"
+               hypos    ="NumberOfLayers2D, LayerDistribution2D"
+               opt-hypos="ViscousLayers2D"
+               input    ="EDGE"
+               output   ="QUAD"
+               dim      ="2">
+      <python-wrap>
+        <algo>QuadFromMedialAxis_1D2D=Quadrangle(algo=smeshBuilder.QUAD_MA_PROJ)</algo>
+        <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
+        <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
+      </python-wrap>
+    </algorithm>
+
+    <algorithm type     ="PolygonPerFace_2D"
+               label-id ="Polygon per Face"
+               icon-id  ="mesh_algo_polygon.png"
+               group-id ="2"
+               priority ="40"
+               opt-hypos="ViscousLayers2D"
+               input    ="EDGE"
+               output   ="POLYGON,QUAD,TRIA"
+               dim      ="2">
+      <python-wrap>
+        <algo>PolygonPerFace_2D=Polygon()</algo>
+        <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
+      </python-wrap>
+    </algorithm>
+
     <algorithm type     ="Hexa_3D"
                label-id ="Hexahedron (i,j,k)"
                icon-id  ="mesh_algo_hexa.png"
+               group-id ="0"
+               priority ="10"
                input    ="QUAD"
                output   ="HEXA,PENTA"
               need-geom="false"
                dim      ="3">
       <python-wrap>
         <algo>Hexa_3D=Hexahedron(algo=smeshBuilder.Hexa)</algo>
-        <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreFaces())</hypo>
+        <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetFaces(1),SetFaces(2),SetMethod())</hypo>
       </python-wrap>
     </algorithm>
 
     <algorithm type    ="Projection_1D"
                label-id="Projection 1D"
                icon-id ="mesh_algo_regular.png"
+               group-id="1"
+               priority="10"
                hypos   ="ProjectionSource1D"
                output  ="EDGE"
                need-hyp="true"
     <algorithm type    ="Projection_2D"
                label-id="Projection 2D"
                icon-id ="mesh_algo_quad.png"
+               group-id="2"
+               priority="30"
                input   ="EDGE"
                hypos   ="ProjectionSource2D"
                output  ="QUAD,TRIA"
     <algorithm type    ="Projection_1D2D"
                label-id="Projection 1D-2D"
                icon-id ="mesh_algo_quad.png"
+               group-id="2"
+               priority="20"
                hypos   ="ProjectionSource2D"
                output  ="QUAD,TRIA"
                need-hyp="true"
     <algorithm type    ="Projection_3D"
                label-id="Projection 3D"
                icon-id ="mesh_algo_hexa.png"
+               group-id="2"
+               priority="20"
                hypos   ="ProjectionSource3D"
                input   ="QUAD,TRIA"
                need-hyp="true"
     </algorithm>
 
     <algorithm type    ="Import_1D"
-               label-id="Use Existing 1D Elements"
+               label-id="Import 1D Elements from Another Mesh"
                icon-id ="mesh_algo_regular.png"
+               group-id="1"
+               priority="20"
                hypos   ="ImportSource1D"
                output  ="EDGE"
                need-hyp="true"
     </algorithm>
 
     <algorithm type             ="Import_1D2D"
-               label-id         ="Use Existing 2D Elements"
+               label-id         ="Import 1D-2D Elements from Another Mesh"
                icon-id          ="mesh_algo_quad.png"
+               group-id         ="2"
+               priority         ="50"
                hypos            ="ImportSource2D"
                output           ="QUAD,TRIA"
                support-submeshes="false"
     </algorithm>
 
     <algorithm type    ="Prism_3D"
-               label-id="3D Extrusion"
+               label-id="Extrusion 3D"
                icon-id ="mesh_algo_hexa.png"
+               group-id="2"
+               priority="10"
                input   ="QUAD,TRIA"
                output  ="HEXA,PENTA,OCTA,POLYHEDRON"
                dim     ="3">
     </algorithm>
 
     <algorithm type    ="RadialPrism_3D"
-               label-id="Radial Prism 3D"
+               label-id="Radial Prism"
                icon-id ="mesh_algo_hexa.png"
+               group-id="2"
+               priority="30"
                hypos   ="NumberOfLayers, LayerDistribution"
                input   ="QUAD,TRIA"
                output  ="HEXA,PENTA,OCTA,POLYHEDRON"
     </algorithm>
 
     <algorithm type    ="UseExisting_1D"
-               label-id="Use Existing Edges"
+               label-id="Use Edges to be Created Manually"
                icon-id ="mesh_algo_regular.png"
+               group-id="1"
+               priority="30"
                input   ="VERTEX"
                output  ="EDGE"
                dim     ="1">
     </algorithm>
 
     <algorithm type    ="UseExisting_2D"
-               label-id="Use Existing Faces"
+               label-id="Use Faces to be Created Manually"
                icon-id ="mesh_algo_quad.png"
+               group-id="2"
+               priority="60"
                input   ="EDGE"
                output  ="QUAD,TRIA"
                dim     ="2">
     </algorithm>
 
     <algorithm type    ="RadialQuadrangle_1D2D"
-               label-id="Radial Quadrangle 1D2D"
+               label-id="Radial Quadrangle 1D-2D"
                icon-id ="mesh_algo_quad.png"
+               group-id="2"
+               priority="10"
                hypos   ="NumberOfLayers2D, LayerDistribution2D"
                input   ="EDGE"
                output  ="QUAD"
     <algorithm type             ="Cartesian_3D"
                label-id         ="Body Fitting"
                icon-id          ="mesh_algo_hexa.png"
+               group-id         ="0"
+               priority         ="20"
                hypos            ="CartesianParameters3D"
                support-submeshes="false"
                output           ="HEXA"