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