Salome HOME
ff33885fc0f62a0db53adb65ba1d026d5bca5d91
[modules/smesh.git] / resources / StdMeshers.xml.in
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     ="Adaptive1D"
79                 label-id ="Adaptive"
80                 icon-id  ="mesh_hypo_length.png"
81                 dim      ="1"/>
82
83     <hypothesis type     ="Propagation"
84                 label-id ="Propagation of 1D Hyp. on Opposite Edges"
85                 icon-id  ="mesh_hypo_length.png"
86                 dim      ="1"
87                 auxiliary="true"/>
88
89     <hypothesis type     ="PropagOfDistribution"
90                 label-id ="Propagation of Node Distribution on Opposite Edges"
91                 icon-id  ="mesh_hypo_length.png"
92                 dim      ="1"
93                 auxiliary="true"/>
94
95     <hypothesis type     ="AutomaticLength"
96                 label-id ="Automatic Length"
97                 icon-id  ="mesh_hypo_length.png"
98                 dim      ="1"/>
99
100     <hypothesis type     ="LengthFromEdges"
101                 label-id ="Length From Edges"
102                 icon-id  ="mesh_hypo_length.png"
103                 dim      ="2"/>
104
105     <hypothesis type     ="QuadranglePreference"
106                 label-id ="Quadrangle Preference"
107                 icon-id  ="mesh_algo_quad.png"
108                 auxiliary="true"
109                 dim      ="2"/>
110
111     <hypothesis type     ="QuadraticMesh"
112                 label-id ="Quadratic Mesh"
113                 icon-id  ="mesh_algo_quad.png"
114                 dim      ="1"
115                 auxiliary="true"/>                
116
117     <hypothesis type     ="MaxElementArea"
118                 label-id ="Max. Element Area"
119                 icon-id  ="mesh_hypo_area.png"
120                 dim      ="2"/>
121                 
122     <hypothesis type     ="NotConformAllowed"
123                 label-id ="Not Conform Mesh Allowed"
124                 icon-id  ="mesh_hypo_length.png"
125                 dim      ="1,2,3"
126                 auxiliary="true"/>                
127
128     <hypothesis type     ="MaxElementVolume"
129                 label-id ="Max. Element Volume"
130                 icon-id  ="mesh_hypo_volume.png"
131                 dim      ="3"/>
132
133     <hypothesis type     ="ProjectionSource3D"
134                 label-id ="Source Shape 3D"
135                 icon-id  ="mesh_hypo_volume.png"
136                 dim      ="3"/>
137
138     <hypothesis type     ="ProjectionSource2D"
139                 label-id ="Source Face"
140                 icon-id  ="mesh_hypo_area.png"
141                 dim      ="2"/>
142
143     <hypothesis type     ="ProjectionSource1D"
144                 label-id ="Source Edge"
145                 icon-id  ="mesh_hypo_length.png"
146                 dim      ="1"/>
147
148     <hypothesis type     ="ImportSource2D"
149                 label-id ="Source Faces"
150                 icon-id  ="mesh_hypo_area.png"
151                 dim      ="2"/>
152
153     <hypothesis type     ="ImportSource1D"
154                 label-id ="Source Edges"
155                 icon-id  ="mesh_hypo_length.png"
156                 dim      ="1"/>
157
158     <hypothesis type     ="NumberOfLayers"
159                 label-id ="Number of Layers"
160                 icon-id  ="mesh_hypo_length.png"
161                 dim      ="3"/>
162
163     <hypothesis type     ="LayerDistribution"
164                 label-id ="Distribution of Layers"
165                 icon-id  ="mesh_hypo_length.png"
166                 dim      ="3"/>
167
168     <hypothesis type     ="ViscousLayers2D"
169                 label-id ="Viscous Layers 2D"
170                 icon-id  ="mesh_algo_quad.png"
171                 auxiliary="true"
172                 dim      ="2"/>
173
174     <hypothesis type     ="ViscousLayers"
175                 label-id ="Viscous Layers"
176                 icon-id  ="mesh_algo_quad.png"
177                 auxiliary="true"
178                 dim      ="3"/>
179
180     <hypothesis type     ="NumberOfLayers2D"
181                 label-id ="Number of Layers"
182                 icon-id  ="mesh_hypo_length.png"
183                 dim      ="2"/>
184
185     <hypothesis type     ="LayerDistribution2D"
186                 label-id ="Distribution of Layers"
187                 icon-id  ="mesh_hypo_length.png"
188                 dim      ="2"/>
189
190     <hypothesis type     ="QuadrangleParams"
191                 label-id ="Quadrangle Parameters"
192                 icon-id  ="mesh_hypo_length.png"
193                 dim      ="2"/>
194
195     <hypothesis type     ="CartesianParameters3D"
196                 label-id ="Body Fitting Parameters"
197                 icon-id  ="mesh_hypo_length.png"
198                 dim      ="3"/>
199
200   </hypotheses>
201
202   <algorithms>
203
204     <algorithm type     ="SegmentAroundVertex_0D"
205                label-id ="Segments around Vertex"
206                icon-id  ="mesh_algo_regular.png"
207                hypos    ="SegmentLengthAroundVertex"
208                output   ="VERTEX"
209                dim      ="0"/>
210
211     <algorithm type     ="Regular_1D"
212                label-id ="Wire Discretisation"
213                icon-id  ="mesh_algo_regular.png"
214                hypos    ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
215                opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
216                input    ="VERTEX"
217                output   ="EDGE"
218                dim      ="1">
219       <python-wrap>
220         <algo>Regular_1D=Segment()</algo>
221         <hypo>LocalLength=LocalLength(SetLength(1),,SetPrecision(1))</hypo>
222         <hypo>MaxLength=MaxSize(SetLength(1))</hypo>
223         <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
224         <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
225         <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
226         <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
227         <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
228         <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
229         <hypo>Propagation=Propagation()</hypo>
230         <hypo>QuadraticMesh=QuadraticMesh()</hypo>
231       </python-wrap>
232     </algorithm>
233
234     <algorithm type     ="CompositeSegment_1D"
235                label-id ="Composite Side Discretisation"
236                icon-id  ="mesh_algo_regular.png"
237                hypos    ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
238                opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
239                input    ="VERTEX"
240                output   ="EDGE"
241                dim      ="1">
242       <python-wrap>
243         <algo>CompositeSegment_1D=Segment(algo=smeshBuilder.COMPOSITE)</algo>
244         <hypo>LocalLength=LocalLength(SetLength(), ,SetPrecision())</hypo>
245         <hypo>MaxLength=MaxSize(SetLength())</hypo>
246         <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
247         <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
248         <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
249         <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
250         <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
251         <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
252         <hypo>Propagation=Propagation()</hypo>
253         <hypo>QuadraticMesh=QuadraticMesh()</hypo>
254       </python-wrap>
255     </algorithm>
256
257     <algorithm type="Python_1D"
258                output="EDGE"
259                dim="1">
260       <python-wrap>
261         <algo>Python_1D=Segment(algo=smeshBuilder.PYTHON)</algo>
262         <hypo>PythonSplit1D=PythonSplit1D(SetNumberOfSegments(),SetPythonLog10RatioFunction())</hypo>
263       </python-wrap>
264     </algorithm>
265
266     <algorithm type      ="@MEFISTO2D_NAME@"
267                label-id  ="Triangle (Mefisto)"
268                icon-id   ="mesh_algo_mefisto.png"
269                hypos     ="LengthFromEdges,MaxElementArea"
270                opt-hypos ="ViscousLayers2D"
271                input     ="EDGE"
272                output    ="TRIA"
273                dim       ="2">
274       <python-wrap>
275         <algo>MEFISTO_2D=Triangle(algo=smeshBuilder.MEFISTO)</algo>
276         <hypo>LengthFromEdges=LengthFromEdges()</hypo>
277         <hypo>MaxElementArea=MaxElementArea(SetMaxElementArea())</hypo>
278         <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2))</hypo>
279       </python-wrap>
280     </algorithm>
281
282     <algorithm type     ="Quadrangle_2D"
283                label-id ="Quadrangle (Mapping)"
284                icon-id  ="mesh_algo_quad.png"
285                hypos    ="QuadrangleParams"
286                opt-hypos="ViscousLayers2D"
287                input    ="EDGE"
288                output   ="QUAD"
289                dim      ="2">
290       <python-wrap>
291         <algo>Quadrangle_2D=Quadrangle(algo=smeshBuilder.QUADRANGLE)</algo>
292         <hypo>QuadrangleParams=QuadrangleParameters(SetQuadType(),SetTriaVertex())</hypo>
293         <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
294       </python-wrap>
295     </algorithm>
296
297     <algorithm type     ="Hexa_3D"
298                label-id ="Hexahedron (i,j,k)"
299                icon-id  ="mesh_algo_hexa.png"
300                input    ="QUAD"
301                need-geom="false"
302                opt-hypos="ViscousLayers"
303                dim      ="3">
304       <python-wrap>
305         <algo>Hexa_3D=Hexahedron(algo=smeshBuilder.Hexa)</algo>
306         <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreFaces())</hypo>
307       </python-wrap>
308     </algorithm>
309
310     <algorithm type    ="Projection_1D"
311                label-id="Projection 1D"
312                icon-id ="mesh_algo_regular.png"
313                hypos   ="ProjectionSource1D"
314                output  ="EDGE"
315                dim     ="1">
316       <python-wrap>
317         <algo>Projection_1D=Projection1D()</algo>
318         <hypo>ProjectionSource1D=SourceEdge(SetSourceEdge(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2))</hypo>
319       </python-wrap>
320     </algorithm>
321
322     <algorithm type    ="Projection_2D"
323                label-id="Projection 2D"
324                icon-id ="mesh_algo_quad.png"
325                input   ="EDGE"
326                hypos   ="ProjectionSource2D"
327                output  ="QUAD,TRIA"
328                dim     ="2">
329       <python-wrap>
330         <algo>Projection_2D=Projection2D()</algo>
331         <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
332       </python-wrap>
333     </algorithm>
334
335     <algorithm type    ="Projection_1D2D"
336                label-id="Projection 1D-2D"
337                icon-id ="mesh_algo_quad.png"
338                hypos   ="ProjectionSource2D"
339                output  ="QUAD,TRIA"
340                dim     ="2">
341       <python-wrap>
342         <algo>Projection_1D2D=Projection1D2D()</algo>
343         <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
344       </python-wrap>
345     </algorithm>
346
347     <algorithm type    ="Projection_3D"
348                label-id="Projection 3D"
349                icon-id ="mesh_algo_hexa.png"
350                hypos   ="ProjectionSource3D"
351                input   ="QUAD,TRIA"
352                dim     ="3">
353       <python-wrap>
354         <algo>Projection_3D=Projection3D()</algo>
355         <hypo>ProjectionSource3D=SourceShape3D(SetSource3DShape(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
356       </python-wrap>
357     </algorithm>
358
359     <algorithm type    ="Import_1D"
360                label-id="Use Existing 1D Elements"
361                icon-id ="mesh_algo_regular.png"
362                hypos   ="ImportSource1D"
363                output  ="EDGE"
364                dim     ="1">
365       <python-wrap>
366         <algo>Import_1D=UseExisting1DElements()</algo>
367         <hypo>ImportSource1D=SourceEdges(SetSourceEdges(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
368       </python-wrap>
369     </algorithm>
370
371     <algorithm type             ="Import_1D2D"
372                label-id         ="Use Existing 2D Elements"
373                icon-id          ="mesh_algo_quad.png"
374                hypos            ="ImportSource2D"
375                output           ="QUAD,TRIA"
376                support-submeshes="false"
377                dim              ="2">
378       <python-wrap>
379         <algo>Import_1D2D=UseExisting2DElements()</algo>
380         <hypo>ImportSource2D=SourceFaces(SetSourceFaces(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
381       </python-wrap>
382     </algorithm>
383
384     <algorithm type    ="Prism_3D"
385                label-id="3D Extrusion"
386                icon-id ="mesh_algo_hexa.png"
387                input   ="QUAD,TRIA"
388                dim     ="3">
389       <python-wrap>
390         <algo>Prism_3D=Prism()</algo>
391       </python-wrap>
392     </algorithm>
393
394     <algorithm type    ="RadialPrism_3D"
395                label-id="Radial Prism 3D"
396                icon-id ="mesh_algo_hexa.png"
397                hypos   ="NumberOfLayers, LayerDistribution"
398                input   ="QUAD,TRIA"
399                dim     ="3">
400       <python-wrap>
401         <algo>RadialPrism_3D=Prism('RadialPrism_3D')</algo>
402         <hypo>NumberOfLayers=NumberOfLayers(SetNumberOfLayers())</hypo>
403       </python-wrap>
404     </algorithm>
405
406     <algorithm type    ="UseExisting_1D"
407                label-id="Use Existing Edges"
408                icon-id ="mesh_algo_regular.png"
409                input   ="VERTEX"
410                output  ="EDGE"
411                dim     ="1">
412       <python-wrap>
413         <algo>UseExisting_1D=UseExistingSegments()</algo>
414       </python-wrap>
415     </algorithm>
416
417     <algorithm type    ="UseExisting_2D"
418                label-id="Use Existing Faces"
419                icon-id ="mesh_algo_quad.png"
420                input   ="EDGE"
421                output  ="QUAD,TRIA"
422                dim     ="2">
423       <python-wrap>
424         <algo>UseExisting_2D=UseExistingFaces()</algo>
425       </python-wrap>
426     </algorithm>
427
428     <algorithm type    ="RadialQuadrangle_1D2D"
429                label-id="Radial Quadrangle 1D2D"
430                icon-id ="mesh_algo_quad.png"
431                hypos   ="NumberOfLayers2D, LayerDistribution2D"
432                input   ="EDGE"
433                output  ="QUAD,TRIA"
434                dim     ="2">
435       <python-wrap>
436         <algo>RadialQuadrangle_1D2D=Quadrangle(algo=smeshBuilder.RADIAL_QUAD)</algo>
437         <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
438       </python-wrap>
439     </algorithm>
440
441     <algorithm type             ="Cartesian_3D"
442                label-id         ="Body Fitting"
443                icon-id          ="mesh_algo_hexa.png"
444                hypos            ="CartesianParameters3D"
445                support-submeshes="false"
446                dim              ="3">
447       <python-wrap>
448         <algo>Cartesian_3D=BodyFitted()</algo>
449       </python-wrap>
450     </algorithm>
451
452   </algorithms>
453 </meshers-group>
454
455 <meshers-group name="Your Meshers Group"
456                resources=""
457                server-lib=""
458                gui-lib="">
459   <hypotheses>
460
461     <hypothesis type=""
462                 label-id=""
463                 icon-id=""/>
464   </hypotheses>
465
466   <algorithms>
467
468     <algorithm type=""
469                label-id=""
470                icon-id=""/>
471   </algorithms>
472 </meshers-group>
473
474
475 <hypotheses-set-group>
476
477     <hypotheses-set name="Automatic Tetrahedralization"
478                     hypos="MaxLength"
479                     algos="Regular_1D, @MEFISTO2D_NAME@, NETGEN_3D"/>
480
481     <hypotheses-set name="Automatic Hexahedralization"
482                     hypos="NumberOfSegments"
483                     algos="Regular_1D, Quadrangle_2D, Hexa_3D"/>
484
485     <hypotheses-set name="Automatic Triangulation"
486                     hypos="MaxLength"
487                     algos="Regular_1D, @MEFISTO2D_NAME@"/>
488
489     <hypotheses-set name="Automatic Quadrangulation"
490                     hypos="NumberOfSegments"
491                     algos="Regular_1D, Quadrangle_2D"/>
492
493 </hypotheses-set-group>
494
495 </meshers>