Salome HOME
Fix remarks related to the "0021709: [CEA 583] Toolbar preferences" issue.
[modules/smesh.git] / resources / StdMeshers.xml
1 <?xml version='1.0' encoding='us-ascii'?>
2 <!DOCTYPE meshers PUBLIC "" "desktop.dtd">
3 <!--
4   Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
5
6   Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
7   CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
8
9   This library is free software; you can redistribute it and/or
10   modify it under the terms of the GNU Lesser General Public
11   License as published by the Free Software Foundation; either
12   version 2.1 of the License.
13
14   This library is distributed in the hope that it will be useful,
15   but WITHOUT ANY WARRANTY; without even the implied warranty of
16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17   Lesser General Public License for more details.
18
19   You should have received a copy of the GNU Lesser General Public
20   License along with this library; if not, write to the Free Software
21   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
22
23   See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
24
25 -->
26
27 <!--  GUI customization for MESH component  -->
28
29 <meshers>
30
31 <meshers-group name="Standard Meshers"
32                resources="StdMeshers"
33                idl-module="StdMeshers"
34                server-lib="StdMeshersEngine"
35                gui-lib="StdMeshersGUI">
36   <hypotheses>
37
38     <hypothesis type     ="SegmentLengthAroundVertex"
39                 label-id ="Length Near Vertex"
40                 icon-id  ="mesh_hypo_length.png"
41                 dim      ="0"/>
42
43     <hypothesis type     ="LocalLength"
44                 label-id ="Local Length"
45                 icon-id  ="mesh_hypo_length.png"
46                 dim      ="1"/>
47
48     <hypothesis type     ="MaxLength"
49                 label-id ="Max Size"
50                 icon-id  ="mesh_hypo_length.png"
51                 dim      ="1"/>
52
53     <hypothesis type     ="Arithmetic1D"
54                 label-id ="Arithmetic 1D"
55                 icon-id  ="mesh_hypo_length.png"
56                 dim      ="1"/>
57
58     <hypothesis type     ="FixedPoints1D"
59                 label-id ="Fixed Points 1D"
60                 icon-id  ="mesh_hypo_length.png"
61                 dim      ="1"/>
62
63     <hypothesis type     ="StartEndLength"
64                 label-id ="Start and End Length"
65                 icon-id  ="mesh_hypo_length.png"
66                 dim      ="1"/>
67
68     <hypothesis type     ="NumberOfSegments"
69                 label-id ="Nb. Segments"
70                 icon-id  ="mesh_hypo_segment.png"
71                 dim      ="1"/>
72
73     <hypothesis type     ="Deflection1D"
74                 label-id ="Deflection 1D"
75                 icon-id  ="mesh_hypo_length.png"
76                 dim      ="1"/>
77
78     <hypothesis type     ="Propagation"
79                 label-id ="Propagation of 1D Hyp. on Opposite Edges"
80                 icon-id  ="mesh_hypo_length.png"
81                 dim      ="1"
82                 auxiliary="true"/>
83
84     <hypothesis type     ="AutomaticLength"
85                 label-id ="Automatic Length"
86                 icon-id  ="mesh_hypo_length.png"
87                 dim      ="1"/>
88
89     <hypothesis type     ="LengthFromEdges"
90                 label-id ="Length From Edges"
91                 icon-id  ="mesh_hypo_length.png"
92                 dim      ="2"/>
93
94     <hypothesis type     ="QuadranglePreference"
95                 label-id ="Quadrangle Preference"
96                 icon-id  ="mesh_algo_quad.png"
97                 auxiliary="true"
98                 dim      ="2"/>
99
100     <hypothesis type     ="QuadraticMesh"
101                 label-id ="Quadratic Mesh"
102                 icon-id  ="mesh_algo_quad.png"
103                 dim      ="1"
104                 auxiliary="true"/>                
105
106     <hypothesis type     ="MaxElementArea"
107                 label-id ="Max. Element Area"
108                 icon-id  ="mesh_hypo_area.png"
109                 dim      ="2"/>
110                 
111     <hypothesis type     ="NotConformAllowed"
112                 label-id ="Not Conform Mesh Allowed"
113                 icon-id  ="mesh_hypo_length.png"
114                 dim      ="1,2,3"
115                 auxiliary="true"/>                
116
117     <hypothesis type     ="MaxElementVolume"
118                 label-id ="Max. Element Volume"
119                 icon-id  ="mesh_hypo_volume.png"
120                 dim      ="3"/>
121
122     <hypothesis type     ="ProjectionSource3D"
123                 label-id ="Source Shape 3D"
124                 icon-id  ="mesh_hypo_volume.png"
125                 dim      ="3"/>
126
127     <hypothesis type     ="ProjectionSource2D"
128                 label-id ="Source Face"
129                 icon-id  ="mesh_hypo_area.png"
130                 dim      ="2"/>
131
132     <hypothesis type     ="ProjectionSource1D"
133                 label-id ="Source Edge"
134                 icon-id  ="mesh_hypo_length.png"
135                 dim      ="1"/>
136
137     <hypothesis type     ="ImportSource2D"
138                 label-id ="Source Faces"
139                 icon-id  ="mesh_hypo_area.png"
140                 dim      ="2"/>
141
142     <hypothesis type     ="ImportSource1D"
143                 label-id ="Source Edges"
144                 icon-id  ="mesh_hypo_length.png"
145                 dim      ="1"/>
146
147     <hypothesis type     ="NumberOfLayers"
148                 label-id ="Number of Layers"
149                 icon-id  ="mesh_hypo_length.png"
150                 dim      ="3"/>
151
152     <hypothesis type     ="LayerDistribution"
153                 label-id ="Distribution of Layers"
154                 icon-id  ="mesh_hypo_length.png"
155                 dim      ="3"/>
156
157     <hypothesis type     ="ViscousLayers2D"
158                 label-id ="Viscous Layers 2D"
159                 icon-id  ="mesh_algo_quad.png"
160                 auxiliary="true"
161                 dim      ="2"/>
162
163     <hypothesis type     ="ViscousLayers"
164                 label-id ="Viscous Layers"
165                 icon-id  ="mesh_algo_quad.png"
166                 auxiliary="true"
167                 dim      ="3"/>
168
169     <hypothesis type     ="NumberOfLayers2D"
170                 label-id ="Number of Layers"
171                 icon-id  ="mesh_hypo_length.png"
172                 dim      ="2"/>
173
174     <hypothesis type     ="LayerDistribution2D"
175                 label-id ="Distribution of Layers"
176                 icon-id  ="mesh_hypo_length.png"
177                 dim      ="2"/>
178
179     <hypothesis type     ="QuadrangleParams"
180                 label-id ="Quadrangle Parameters"
181                 icon-id  ="mesh_hypo_length.png"
182                 dim      ="2"/>
183
184     <hypothesis type     ="CartesianParameters3D"
185                 label-id ="Body Fitting Parameters"
186                 icon-id  ="mesh_hypo_length.png"
187                 dim      ="3"/>
188
189   </hypotheses>
190
191   <algorithms>
192
193     <algorithm type     ="SegmentAroundVertex_0D"
194                label-id ="Segments around Vertex"
195                icon-id  ="mesh_algo_regular.png"
196                hypos    ="SegmentLengthAroundVertex"
197                output   ="VERTEX"
198                dim      ="0"/>
199
200     <algorithm type     ="Regular_1D"
201                label-id ="Wire Discretisation"
202                icon-id  ="mesh_algo_regular.png"
203                hypos    ="LocalLength,MaxLength,Arithmetic1D,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
204                opt-hypos="Propagation,QuadraticMesh"
205                input    ="VERTEX"
206                output   ="EDGE"
207                dim      ="1">
208       <python-wrap>
209         <algo>Regular_1D=Segment()</algo>
210         <hypo>LocalLength=LocalLength(SetLength(1),,SetPrecision(1))</hypo>
211         <hypo>MaxLength=MaxSize(SetLength(1))</hypo>
212         <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
213         <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
214         <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
215         <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
216         <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
217         <hypo>Propagation=Propagation()</hypo>
218         <hypo>QuadraticMesh=QuadraticMesh()</hypo>
219       </python-wrap>
220     </algorithm>
221
222     <algorithm type     ="CompositeSegment_1D"
223                label-id ="Composite Side Discretisation"
224                icon-id  ="mesh_algo_regular.png"
225                hypos    ="LocalLength,MaxLength,Arithmetic1D,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
226                opt-hypos="Propagation,QuadraticMesh"
227                input    ="VERTEX"
228                output   ="EDGE"
229                dim      ="1">
230       <python-wrap>
231         <algo>CompositeSegment_1D=Segment(algo=smeshBuilder.COMPOSITE)</algo>
232         <hypo>LocalLength=LocalLength(SetLength(), ,SetPrecision())</hypo>
233         <hypo>MaxLength=MaxSize(SetLength())</hypo>
234         <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
235         <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
236         <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
237         <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
238         <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
239         <hypo>Propagation=Propagation()</hypo>
240         <hypo>QuadraticMesh=QuadraticMesh()</hypo>
241       </python-wrap>
242     </algorithm>
243
244     <algorithm type="Python_1D"
245                output="EDGE"
246                dim="1">
247       <python-wrap>
248         <algo>Python_1D=Segment(algo=smeshBuilder.PYTHON)</algo>
249         <hypo>PythonSplit1D=PythonSplit1D(SetNumberOfSegments(),SetPythonLog10RatioFunction())</hypo>
250       </python-wrap>
251     </algorithm>
252
253     <algorithm type      ="MEFISTO_2D"
254                label-id  ="Triangle (Mefisto)"
255                icon-id   ="mesh_algo_mefisto.png"
256                hypos     ="LengthFromEdges,MaxElementArea"
257                opt-hypos ="ViscousLayers2D"
258                input     ="EDGE"
259                output    ="TRIA"
260                dim       ="2">
261       <python-wrap>
262         <algo>MEFISTO_2D=Triangle(algo=smeshBuilder.MEFISTO)</algo>
263         <hypo>LengthFromEdges=LengthFromEdges()</hypo>
264         <hypo>MaxElementArea=MaxElementArea(SetMaxElementArea())</hypo>
265         <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2))</hypo>
266       </python-wrap>
267     </algorithm>
268
269     <algorithm type     ="Quadrangle_2D"
270                label-id ="Quadrangle (Mapping)"
271                icon-id  ="mesh_algo_quad.png"
272                hypos    ="QuadrangleParams"
273                opt-hypos="ViscousLayers2D"
274                input    ="EDGE"
275                output   ="QUAD"
276                dim      ="2">
277       <python-wrap>
278         <algo>Quadrangle_2D=Quadrangle(algo=smeshBuilder.QUADRANGLE)</algo>
279         <hypo>QuadrangleParams=QuadrangleParameters(SetQuadType(),SetTriaVertex())</hypo>
280         <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
281       </python-wrap>
282     </algorithm>
283
284     <algorithm type     ="Hexa_3D"
285                label-id ="Hexahedron (i,j,k)"
286                icon-id  ="mesh_algo_hexa.png"
287                input    ="QUAD"
288                need-geom="false"
289                opt-hypos="ViscousLayers"
290                dim      ="3">
291       <python-wrap>
292         <algo>Hexa_3D=Hexahedron(algo=smeshBuilder.Hexa)</algo>
293         <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreFaces())</hypo>
294       </python-wrap>
295     </algorithm>
296
297     <algorithm type    ="Projection_1D"
298                label-id="Projection 1D"
299                icon-id ="mesh_algo_regular.png"
300                hypos   ="ProjectionSource1D"
301                output  ="EDGE"
302                dim     ="1">
303       <python-wrap>
304         <algo>Projection_1D=Projection1D()</algo>
305         <hypo>ProjectionSource1D=SourceEdge(SetSourceEdge(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2))</hypo>
306       </python-wrap>
307     </algorithm>
308
309     <algorithm type    ="Projection_2D"
310                label-id="Projection 2D"
311                icon-id ="mesh_algo_quad.png"
312                input   ="EDGE"
313                hypos   ="ProjectionSource2D"
314                output  ="QUAD,TRIA"
315                dim     ="2">
316       <python-wrap>
317         <algo>Projection_2D=Projection2D()</algo>
318         <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
319       </python-wrap>
320     </algorithm>
321
322     <algorithm type    ="Projection_1D2D"
323                label-id="Projection 1D-2D"
324                icon-id ="mesh_algo_quad.png"
325                hypos   ="ProjectionSource2D"
326                output  ="QUAD,TRIA"
327                dim     ="2">
328       <python-wrap>
329         <algo>Projection_1D2D=Projection1D2D()</algo>
330         <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
331       </python-wrap>
332     </algorithm>
333
334     <algorithm type    ="Projection_3D"
335                label-id="Projection 3D"
336                icon-id ="mesh_algo_hexa.png"
337                hypos   ="ProjectionSource3D"
338                input   ="QUAD,TRIA"
339                dim     ="3">
340       <python-wrap>
341         <algo>Projection_3D=Projection3D()</algo>
342         <hypo>ProjectionSource3D=SourceShape3D(SetSource3DShape(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
343       </python-wrap>
344     </algorithm>
345
346     <algorithm type    ="Import_1D"
347                label-id="Use Existing 1D Elements"
348                icon-id ="mesh_algo_regular.png"
349                hypos   ="ImportSource1D"
350                output  ="EDGE"
351                dim     ="1">
352       <python-wrap>
353         <algo>Import_1D=UseExisting1DElements()</algo>
354         <hypo>ImportSource1D=SourceEdges(SetSourceEdges(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
355       </python-wrap>
356     </algorithm>
357
358     <algorithm type             ="Import_1D2D"
359                label-id         ="Use Existing 2D Elements"
360                icon-id          ="mesh_algo_quad.png"
361                hypos            ="ImportSource2D"
362                output           ="QUAD,TRIA"
363                support-submeshes="false"
364                dim              ="2">
365       <python-wrap>
366         <algo>Import_1D2D=UseExisting2DElements()</algo>
367         <hypo>ImportSource2D=SourceFaces(SetSourceFaces(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
368       </python-wrap>
369     </algorithm>
370
371     <algorithm type    ="Prism_3D"
372                label-id="3D Extrusion"
373                icon-id ="mesh_algo_hexa.png"
374                input   ="QUAD,TRIA"
375                dim     ="3">
376       <python-wrap>
377         <algo>Prism_3D=Prism()</algo>
378       </python-wrap>
379     </algorithm>
380
381     <algorithm type    ="RadialPrism_3D"
382                label-id="Radial Prism 3D"
383                icon-id ="mesh_algo_hexa.png"
384                hypos   ="NumberOfLayers, LayerDistribution"
385                input   ="QUAD,TRIA"
386                dim     ="3">
387       <python-wrap>
388         <algo>RadialPrism_3D=Prism('RadialPrism_3D')</algo>
389         <hypo>NumberOfLayers=NumberOfLayers(SetNumberOfLayers())</hypo>
390       </python-wrap>
391     </algorithm>
392
393     <algorithm type    ="UseExisting_1D"
394                label-id="Use Existing Edges"
395                icon-id ="mesh_algo_regular.png"
396                input   ="VERTEX"
397                output  ="EDGE"
398                dim     ="1">
399       <python-wrap>
400         <algo>UseExisting_1D=UseExistingSegments()</algo>
401       </python-wrap>
402     </algorithm>
403
404     <algorithm type    ="UseExisting_2D"
405                label-id="Use Existing Faces"
406                icon-id ="mesh_algo_quad.png"
407                input   ="EDGE"
408                output  ="QUAD,TRIA"
409                dim     ="2">
410       <python-wrap>
411         <algo>UseExisting_2D=UseExistingFaces()</algo>
412       </python-wrap>
413     </algorithm>
414
415     <algorithm type    ="RadialQuadrangle_1D2D"
416                label-id="Radial Quadrangle 1D2D"
417                icon-id ="mesh_algo_quad.png"
418                hypos   ="NumberOfLayers2D, LayerDistribution2D"
419                input   ="EDGE"
420                output  ="QUAD,TRIA"
421                dim     ="2">
422       <python-wrap>
423         <algo>RadialQuadrangle_1D2D=Quadrangle(algo=smeshBuilder.RADIAL_QUAD)</algo>
424         <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
425       </python-wrap>
426     </algorithm>
427
428     <algorithm type             ="Cartesian_3D"
429                label-id         ="Body Fitting"
430                icon-id          ="mesh_algo_hexa.png"
431                hypos            ="CartesianParameters3D"
432                support-submeshes="false"
433                dim              ="3">
434       <python-wrap>
435         <algo>Cartesian_3D=BodyFitted()</algo>
436       </python-wrap>
437     </algorithm>
438
439   </algorithms>
440 </meshers-group>
441
442 <meshers-group name="Your Meshers Group"
443                resources=""
444                server-lib=""
445                gui-lib="">
446   <hypotheses>
447
448     <hypothesis type=""
449                 label-id=""
450                 icon-id=""/>
451   </hypotheses>
452
453   <algorithms>
454
455     <algorithm type=""
456                label-id=""
457                icon-id=""/>
458   </algorithms>
459 </meshers-group>
460
461
462 <hypotheses-set-group>
463
464     <hypotheses-set name="Automatic Tetrahedralization"
465                     hypos="MaxLength"
466                     algos="Regular_1D, MEFISTO_2D, NETGEN_3D"/>
467
468     <hypotheses-set name="Automatic Hexahedralization"
469                     hypos="NumberOfSegments"
470                     algos="Regular_1D, Quadrangle_2D, Hexa_3D"/>
471
472     <hypotheses-set name="Automatic Triangulation"
473                     hypos="MaxLength"
474                     algos="Regular_1D, MEFISTO_2D"/>
475
476     <hypotheses-set name="Automatic Quadrangulation"
477                     hypos="NumberOfSegments"
478                     algos="Regular_1D, Quadrangle_2D"/>
479
480 </hypotheses-set-group>
481
482 </meshers>