Salome HOME
22394: [CEA 984] Propagation of the number of segments and propagation of the distrib...
[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>PropagOfDistribution=PropagationOfDistribution()</hypo>
231         <hypo>QuadraticMesh=QuadraticMesh()</hypo>
232       </python-wrap>
233     </algorithm>
234
235     <algorithm type     ="CompositeSegment_1D"
236                label-id ="Composite Side Discretisation"
237                icon-id  ="mesh_algo_regular.png"
238                hypos    ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
239                opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
240                input    ="VERTEX"
241                output   ="EDGE"
242                dim      ="1">
243       <python-wrap>
244         <algo>CompositeSegment_1D=Segment(algo=smeshBuilder.COMPOSITE)</algo>
245         <hypo>LocalLength=LocalLength(SetLength(), ,SetPrecision())</hypo>
246         <hypo>MaxLength=MaxSize(SetLength())</hypo>
247         <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
248         <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
249         <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
250         <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
251         <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
252         <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
253         <hypo>Propagation=Propagation()</hypo>
254         <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo>
255         <hypo>QuadraticMesh=QuadraticMesh()</hypo>
256       </python-wrap>
257     </algorithm>
258
259     <algorithm type="Python_1D"
260                output="EDGE"
261                dim="1">
262       <python-wrap>
263         <algo>Python_1D=Segment(algo=smeshBuilder.PYTHON)</algo>
264         <hypo>PythonSplit1D=PythonSplit1D(SetNumberOfSegments(),SetPythonLog10RatioFunction())</hypo>
265       </python-wrap>
266     </algorithm>
267
268     <algorithm type      ="@MEFISTO2D_NAME@"
269                label-id  ="Triangle (Mefisto)"
270                icon-id   ="mesh_algo_mefisto.png"
271                hypos     ="LengthFromEdges,MaxElementArea"
272                opt-hypos ="ViscousLayers2D"
273                input     ="EDGE"
274                output    ="TRIA"
275                dim       ="2">
276       <python-wrap>
277         <algo>MEFISTO_2D=Triangle(algo=smeshBuilder.MEFISTO)</algo>
278         <hypo>LengthFromEdges=LengthFromEdges()</hypo>
279         <hypo>MaxElementArea=MaxElementArea(SetMaxElementArea())</hypo>
280         <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2))</hypo>
281       </python-wrap>
282     </algorithm>
283
284     <algorithm type     ="Quadrangle_2D"
285                label-id ="Quadrangle (Mapping)"
286                icon-id  ="mesh_algo_quad.png"
287                hypos    ="QuadrangleParams"
288                opt-hypos="ViscousLayers2D"
289                input    ="EDGE"
290                output   ="QUAD"
291                dim      ="2">
292       <python-wrap>
293         <algo>Quadrangle_2D=Quadrangle(algo=smeshBuilder.QUADRANGLE)</algo>
294         <hypo>QuadrangleParams=QuadrangleParameters(SetQuadType(),SetTriaVertex())</hypo>
295         <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
296       </python-wrap>
297     </algorithm>
298
299     <algorithm type     ="Hexa_3D"
300                label-id ="Hexahedron (i,j,k)"
301                icon-id  ="mesh_algo_hexa.png"
302                input    ="QUAD"
303                need-geom="false"
304                opt-hypos="ViscousLayers"
305                dim      ="3">
306       <python-wrap>
307         <algo>Hexa_3D=Hexahedron(algo=smeshBuilder.Hexa)</algo>
308         <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreFaces())</hypo>
309       </python-wrap>
310     </algorithm>
311
312     <algorithm type    ="Projection_1D"
313                label-id="Projection 1D"
314                icon-id ="mesh_algo_regular.png"
315                hypos   ="ProjectionSource1D"
316                output  ="EDGE"
317                dim     ="1">
318       <python-wrap>
319         <algo>Projection_1D=Projection1D()</algo>
320         <hypo>ProjectionSource1D=SourceEdge(SetSourceEdge(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2))</hypo>
321       </python-wrap>
322     </algorithm>
323
324     <algorithm type    ="Projection_2D"
325                label-id="Projection 2D"
326                icon-id ="mesh_algo_quad.png"
327                input   ="EDGE"
328                hypos   ="ProjectionSource2D"
329                output  ="QUAD,TRIA"
330                dim     ="2">
331       <python-wrap>
332         <algo>Projection_2D=Projection2D()</algo>
333         <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
334       </python-wrap>
335     </algorithm>
336
337     <algorithm type    ="Projection_1D2D"
338                label-id="Projection 1D-2D"
339                icon-id ="mesh_algo_quad.png"
340                hypos   ="ProjectionSource2D"
341                output  ="QUAD,TRIA"
342                dim     ="2">
343       <python-wrap>
344         <algo>Projection_1D2D=Projection1D2D()</algo>
345         <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
346       </python-wrap>
347     </algorithm>
348
349     <algorithm type    ="Projection_3D"
350                label-id="Projection 3D"
351                icon-id ="mesh_algo_hexa.png"
352                hypos   ="ProjectionSource3D"
353                input   ="QUAD,TRIA"
354                dim     ="3">
355       <python-wrap>
356         <algo>Projection_3D=Projection3D()</algo>
357         <hypo>ProjectionSource3D=SourceShape3D(SetSource3DShape(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
358       </python-wrap>
359     </algorithm>
360
361     <algorithm type    ="Import_1D"
362                label-id="Use Existing 1D Elements"
363                icon-id ="mesh_algo_regular.png"
364                hypos   ="ImportSource1D"
365                output  ="EDGE"
366                dim     ="1">
367       <python-wrap>
368         <algo>Import_1D=UseExisting1DElements()</algo>
369         <hypo>ImportSource1D=SourceEdges(SetSourceEdges(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
370       </python-wrap>
371     </algorithm>
372
373     <algorithm type             ="Import_1D2D"
374                label-id         ="Use Existing 2D Elements"
375                icon-id          ="mesh_algo_quad.png"
376                hypos            ="ImportSource2D"
377                output           ="QUAD,TRIA"
378                support-submeshes="false"
379                dim              ="2">
380       <python-wrap>
381         <algo>Import_1D2D=UseExisting2DElements()</algo>
382         <hypo>ImportSource2D=SourceFaces(SetSourceFaces(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
383       </python-wrap>
384     </algorithm>
385
386     <algorithm type    ="Prism_3D"
387                label-id="3D Extrusion"
388                icon-id ="mesh_algo_hexa.png"
389                input   ="QUAD,TRIA"
390                dim     ="3">
391       <python-wrap>
392         <algo>Prism_3D=Prism()</algo>
393       </python-wrap>
394     </algorithm>
395
396     <algorithm type    ="RadialPrism_3D"
397                label-id="Radial Prism 3D"
398                icon-id ="mesh_algo_hexa.png"
399                hypos   ="NumberOfLayers, LayerDistribution"
400                input   ="QUAD,TRIA"
401                dim     ="3">
402       <python-wrap>
403         <algo>RadialPrism_3D=Prism('RadialPrism_3D')</algo>
404         <hypo>NumberOfLayers=NumberOfLayers(SetNumberOfLayers())</hypo>
405       </python-wrap>
406     </algorithm>
407
408     <algorithm type    ="UseExisting_1D"
409                label-id="Use Existing Edges"
410                icon-id ="mesh_algo_regular.png"
411                input   ="VERTEX"
412                output  ="EDGE"
413                dim     ="1">
414       <python-wrap>
415         <algo>UseExisting_1D=UseExistingSegments()</algo>
416       </python-wrap>
417     </algorithm>
418
419     <algorithm type    ="UseExisting_2D"
420                label-id="Use Existing Faces"
421                icon-id ="mesh_algo_quad.png"
422                input   ="EDGE"
423                output  ="QUAD,TRIA"
424                dim     ="2">
425       <python-wrap>
426         <algo>UseExisting_2D=UseExistingFaces()</algo>
427       </python-wrap>
428     </algorithm>
429
430     <algorithm type    ="RadialQuadrangle_1D2D"
431                label-id="Radial Quadrangle 1D2D"
432                icon-id ="mesh_algo_quad.png"
433                hypos   ="NumberOfLayers2D, LayerDistribution2D"
434                input   ="EDGE"
435                output  ="QUAD,TRIA"
436                dim     ="2">
437       <python-wrap>
438         <algo>RadialQuadrangle_1D2D=Quadrangle(algo=smeshBuilder.RADIAL_QUAD)</algo>
439         <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
440       </python-wrap>
441     </algorithm>
442
443     <algorithm type             ="Cartesian_3D"
444                label-id         ="Body Fitting"
445                icon-id          ="mesh_algo_hexa.png"
446                hypos            ="CartesianParameters3D"
447                support-submeshes="false"
448                dim              ="3">
449       <python-wrap>
450         <algo>Cartesian_3D=BodyFitted()</algo>
451       </python-wrap>
452     </algorithm>
453
454   </algorithms>
455 </meshers-group>
456
457 <meshers-group name="Your Meshers Group"
458                resources=""
459                server-lib=""
460                gui-lib="">
461   <hypotheses>
462
463     <hypothesis type=""
464                 label-id=""
465                 icon-id=""/>
466   </hypotheses>
467
468   <algorithms>
469
470     <algorithm type=""
471                label-id=""
472                icon-id=""/>
473   </algorithms>
474 </meshers-group>
475
476
477 <hypotheses-set-group>
478
479     <hypotheses-set name="Automatic Tetrahedralization"
480                     hypos="MaxLength"
481                     algos="Regular_1D, @MEFISTO2D_NAME@, NETGEN_3D"/>
482
483     <hypotheses-set name="Automatic Hexahedralization"
484                     hypos="NumberOfSegments"
485                     algos="Regular_1D, Quadrangle_2D, Hexa_3D"/>
486
487     <hypotheses-set name="Automatic Triangulation"
488                     hypos="MaxLength"
489                     algos="Regular_1D, @MEFISTO2D_NAME@"/>
490
491     <hypotheses-set name="Automatic Quadrangulation"
492                     hypos="NumberOfSegments"
493                     algos="Regular_1D, Quadrangle_2D"/>
494
495 </hypotheses-set-group>
496
497 </meshers>