1 <?xml version='1.0' encoding='us-ascii'?>
2 <!DOCTYPE meshers PUBLIC "" "desktop.dtd">
4 Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
6 Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
7 CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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, or (at your option) any later version.
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.
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
23 See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
27 <!-- GUI customization for MESH component -->
29 <!-- Attributes of hypotheses/algorithms:
31 type - string identifier of a hyp.
32 label-id - hypothesis type name in Create Mesh dialog.
34 group-id - (optional) integer ID of a group the hyp belongs to in Create Mesh dialog;
35 by default the hyp is in the last group.
36 priority - (optional) priority within the group; by default the hyp is last in group.
37 dim - dimension; defines a tab page in Create Mesh dialog.
38 context - (optional) allowed context: [LOCAL, GLOBAL, ANY(default)]. LOCAL - the hyp
39 can be only local (on sub-mesh). GLOBAL - the hyp can be only GLOBAL (on mesh).
40 auxiliary - (optional) Boolean. Is additional hyp or not. Default is "false".
41 hypos - list of types of compatible hyps of the algorithm.
42 opt-hypos = (optional) list of types of compatible ADDITIONAL hyps of the algorithm.
43 output - geometry of elements generated by the algo. Used to define compatible algos of
44 different dimensions. Compatible algos have equal geometries in "input" and "output".
45 input - geometry of elements accepted by algorithm input. Used to define compatible algos of
46 different dimensions. Compatible algos have equal geometries in "input" and "output".
47 need-hyp - (optional) Boolean. Does the algo require a hypothesis or not. Default is "false".
48 need-geom - (optional) [true, fasle, never]. Can the algo work w/o geometry or not.
49 Default is "true". "never" means that the algo can't work with geometry.
50 support-submeshes - (optional) Boolean. Does an multi-dimensional algo support sub-meshes.
57 <meshers-group name ="Standard Meshers"
58 resources ="StdMeshers"
59 idl-module="StdMeshers"
60 server-lib="StdMeshersEngine"
61 gui-lib ="StdMeshersGUI">
64 <hypothesis type ="SegmentLengthAroundVertex"
65 label-id ="Length Near Vertex"
66 icon-id ="mesh_hypo_length.png"
69 <hypothesis type ="LocalLength"
70 label-id ="Local Length"
71 icon-id ="mesh_hypo_length.png"
76 <hypothesis type ="MaxLength"
78 icon-id ="mesh_hypo_length.png"
83 <hypothesis type ="Arithmetic1D"
84 label-id ="Arithmetic Progression"
85 icon-id ="mesh_hypo_length.png"
90 <hypothesis type ="GeometricProgression"
91 label-id ="Geometric Progression"
92 icon-id ="mesh_hypo_length.png"
97 <hypothesis type ="FixedPoints1D"
98 label-id ="Fixed Points"
99 icon-id ="mesh_hypo_length.png"
104 <hypothesis type ="StartEndLength"
105 label-id ="Start and End Length"
106 icon-id ="mesh_hypo_length.png"
111 <hypothesis type ="NumberOfSegments"
112 label-id ="Number of Segments"
113 icon-id ="mesh_hypo_segment.png"
118 <hypothesis type ="Deflection1D"
119 label-id ="Deflection"
120 icon-id ="mesh_hypo_length.png"
125 <hypothesis type ="Adaptive1D"
127 icon-id ="mesh_hypo_length.png"
132 <hypothesis type ="Propagation"
133 label-id ="Propagation of 1D Hyp. on Opposite Edges"
134 icon-id ="mesh_hypo_length.png"
139 <hypothesis type ="PropagOfDistribution"
140 label-id ="Propagation of Node Distribution on Opposite Edges"
141 icon-id ="mesh_hypo_length.png"
146 <hypothesis type ="AutomaticLength"
147 label-id ="Automatic Length"
148 icon-id ="mesh_hypo_length.png"
153 <hypothesis type ="LengthFromEdges"
154 label-id ="Length From Edges"
155 icon-id ="mesh_hypo_length.png"
158 <hypothesis type ="QuadranglePreference"
159 label-id ="Quadrangle Preference"
160 icon-id ="mesh_algo_quad.png"
164 <hypothesis type ="QuadraticMesh"
165 label-id ="Quadratic Mesh"
166 icon-id ="mesh_algo_quad.png"
171 <hypothesis type ="MaxElementArea"
172 label-id ="Max. Element Area"
173 icon-id ="mesh_hypo_area.png"
176 <hypothesis type ="NotConformAllowed"
177 label-id ="Not Conform Mesh Allowed"
178 icon-id ="mesh_hypo_length.png"
183 <hypothesis type ="MaxElementVolume"
184 label-id ="Max. Element Volume"
185 icon-id ="mesh_hypo_volume.png"
188 <hypothesis type ="ProjectionSource3D"
189 label-id ="Source Shape 3D"
190 icon-id ="mesh_hypo_volume.png"
193 <hypothesis type ="ProjectionSource2D"
194 label-id ="Source Face"
195 icon-id ="mesh_hypo_area.png"
198 <hypothesis type ="ProjectionSource1D"
199 label-id ="Source Edge"
200 icon-id ="mesh_hypo_length.png"
203 <hypothesis type ="ImportSource2D"
204 label-id ="Source Faces"
205 icon-id ="mesh_hypo_area.png"
208 <hypothesis type ="ImportSource1D"
209 label-id ="Source Edges"
210 icon-id ="mesh_hypo_length.png"
213 <hypothesis type ="NumberOfLayers"
214 label-id ="Number of Layers"
215 icon-id ="mesh_hypo_length.png"
218 <hypothesis type ="LayerDistribution"
219 label-id ="Distribution of Layers"
220 icon-id ="mesh_hypo_length.png"
223 <hypothesis type ="ViscousLayers2D"
224 label-id ="Viscous Layers 2D"
225 icon-id ="mesh_algo_quad.png"
229 <hypothesis type ="ViscousLayers"
230 label-id ="Viscous Layers"
231 icon-id ="mesh_algo_quad.png"
235 <hypothesis type ="NumberOfLayers2D"
236 label-id ="Number of Layers"
237 icon-id ="mesh_hypo_length.png"
240 <hypothesis type ="LayerDistribution2D"
241 label-id ="Distribution of Layers"
242 icon-id ="mesh_hypo_length.png"
245 <hypothesis type ="QuadrangleParams"
246 label-id ="Quadrangle Parameters"
247 icon-id ="mesh_hypo_length.png"
250 <hypothesis type ="CartesianParameters3D"
251 label-id ="Body Fitting Parameters"
252 icon-id ="mesh_hypo_length.png"
260 <algorithm type ="SegmentAroundVertex_0D"
261 label-id ="Segments around Vertex"
262 icon-id ="mesh_algo_regular.png"
263 hypos ="SegmentLengthAroundVertex"
268 <algorithm type ="Regular_1D"
269 label-id ="Wire Discretisation"
270 icon-id ="mesh_algo_regular.png"
273 hypos ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
274 opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
280 <algo>Regular_1D=Segment()</algo>
281 <hypo>LocalLength=LocalLength(SetLength(1),,SetPrecision(1))</hypo>
282 <hypo>MaxLength=MaxSize(SetLength(1))</hypo>
283 <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
284 <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo>
285 <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
286 <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
287 <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
288 <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
289 <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
290 <hypo>Propagation=Propagation()</hypo>
291 <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo>
292 <hypo>QuadraticMesh=QuadraticMesh()</hypo>
296 <algorithm type ="CompositeSegment_1D"
297 label-id ="Composite Side Discretisation"
298 icon-id ="mesh_algo_regular.png"
301 hypos ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
302 opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
308 <algo>CompositeSegment_1D=Segment(algo=smeshBuilder.COMPOSITE)</algo>
309 <hypo>LocalLength=LocalLength(SetLength(), ,SetPrecision())</hypo>
310 <hypo>MaxLength=MaxSize(SetLength())</hypo>
311 <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
312 <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo>
313 <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
314 <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
315 <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
316 <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
317 <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
318 <hypo>Propagation=Propagation()</hypo>
319 <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo>
320 <hypo>QuadraticMesh=QuadraticMesh()</hypo>
324 <algorithm type="Python_1D"
328 <algo>Python_1D=Segment(algo=smeshBuilder.PYTHON)</algo>
329 <hypo>PythonSplit1D=PythonSplit1D(SetNumberOfSegments(),SetPythonLog10RatioFunction())</hypo>
333 <algorithm type ="@MEFISTO2D_NAME@"
334 label-id ="Triangle: Mefisto"
335 icon-id ="mesh_algo_mefisto.png"
338 hypos ="LengthFromEdges,MaxElementArea"
339 opt-hypos ="ViscousLayers2D"
344 <algo>MEFISTO_2D=Triangle(algo=smeshBuilder.MEFISTO)</algo>
345 <hypo>LengthFromEdges=LengthFromEdges()</hypo>
346 <hypo>MaxElementArea=MaxElementArea(SetMaxElementArea())</hypo>
347 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2))</hypo>
351 <algorithm type ="Quadrangle_2D"
352 label-id ="Quadrangle: Mapping"
353 icon-id ="mesh_algo_quad.png"
356 hypos ="QuadrangleParams"
357 opt-hypos="ViscousLayers2D"
362 <algo>Quadrangle_2D=Quadrangle(algo=smeshBuilder.QUADRANGLE)</algo>
363 <hypo>QuadrangleParams=QuadrangleParameters(SetQuadType(),SetTriaVertex(),SetEnforcedNodes(1),SetEnforcedNodes(2))</hypo>
364 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
368 <algorithm type ="QuadFromMedialAxis_1D2D"
369 label-id ="Quadrangle: Medial Axis Projection"
370 icon-id ="mesh_algo_quad.png"
373 hypos ="NumberOfLayers2D, LayerDistribution2D"
374 opt-hypos="ViscousLayers2D"
379 <algo>QuadFromMedialAxis_1D2D=Quadrangle(algo=smeshBuilder.QUAD_MA_PROJ)</algo>
380 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
381 <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
385 <algorithm type ="PolygonPerFace_2D"
386 label-id ="Polygon per Face"
387 icon-id ="mesh_algo_polygon.png"
390 opt-hypos="ViscousLayers2D"
392 output ="POLYGON,QUAD,TRIA"
395 <algo>PolygonPerFace_2D=Polygon()</algo>
396 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
400 <algorithm type ="Hexa_3D"
401 label-id ="Hexahedron (i,j,k)"
402 icon-id ="mesh_algo_hexa.png"
408 opt-hypos="ViscousLayers"
411 <algo>Hexa_3D=Hexahedron(algo=smeshBuilder.Hexa)</algo>
412 <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetFaces(1),SetFaces(2),SetMethod())</hypo>
416 <algorithm type ="Projection_1D"
417 label-id="Projection 1D"
418 icon-id ="mesh_algo_regular.png"
421 hypos ="ProjectionSource1D"
426 <algo>Projection_1D=Projection1D()</algo>
427 <hypo>ProjectionSource1D=SourceEdge(SetSourceEdge(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2))</hypo>
431 <algorithm type ="Projection_2D"
432 label-id="Projection 2D"
433 icon-id ="mesh_algo_quad.png"
437 hypos ="ProjectionSource2D"
442 <algo>Projection_2D=Projection2D()</algo>
443 <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
447 <algorithm type ="Projection_1D2D"
448 label-id="Projection 1D-2D"
449 icon-id ="mesh_algo_quad.png"
452 hypos ="ProjectionSource2D"
457 <algo>Projection_1D2D=Projection1D2D()</algo>
458 <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
462 <algorithm type ="Projection_3D"
463 label-id="Projection 3D"
464 icon-id ="mesh_algo_hexa.png"
467 hypos ="ProjectionSource3D"
472 <algo>Projection_3D=Projection3D()</algo>
473 <hypo>ProjectionSource3D=SourceShape3D(SetSource3DShape(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
477 <algorithm type ="Import_1D"
478 label-id="Import 1D Elements from Another Mesh"
479 icon-id ="mesh_algo_regular.png"
482 hypos ="ImportSource1D"
487 <algo>Import_1D=UseExisting1DElements()</algo>
488 <hypo>ImportSource1D=SourceEdges(SetSourceEdges(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
492 <algorithm type ="Import_1D2D"
493 label-id ="Import 1D-2D Elements from Another Mesh"
494 icon-id ="mesh_algo_quad.png"
497 hypos ="ImportSource2D"
499 support-submeshes="false"
503 <algo>Import_1D2D=UseExisting2DElements()</algo>
504 <hypo>ImportSource2D=SourceFaces(SetSourceFaces(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
508 <algorithm type ="Prism_3D"
509 label-id="Extrusion 3D"
510 icon-id ="mesh_algo_hexa.png"
514 output ="HEXA,PENTA,OCTA,POLYHEDRON"
517 <algo>Prism_3D=Prism()</algo>
521 <algorithm type ="RadialPrism_3D"
522 label-id="Radial Prism"
523 icon-id ="mesh_algo_hexa.png"
526 hypos ="NumberOfLayers, LayerDistribution"
528 output ="HEXA,PENTA,OCTA,POLYHEDRON"
532 <algo>RadialPrism_3D=Prism('RadialPrism_3D')</algo>
533 <hypo>NumberOfLayers=NumberOfLayers(SetNumberOfLayers())</hypo>
537 <algorithm type ="UseExisting_1D"
538 label-id="Use Edges to be Created Manually"
539 icon-id ="mesh_algo_regular.png"
546 <algo>UseExisting_1D=UseExistingSegments()</algo>
550 <algorithm type ="UseExisting_2D"
551 label-id="Use Faces to be Created Manually"
552 icon-id ="mesh_algo_quad.png"
559 <algo>UseExisting_2D=UseExistingFaces()</algo>
563 <algorithm type ="RadialQuadrangle_1D2D"
564 label-id="Radial Quadrangle 1D-2D"
565 icon-id ="mesh_algo_quad.png"
568 hypos ="NumberOfLayers2D, LayerDistribution2D"
573 <algo>RadialQuadrangle_1D2D=Quadrangle(algo=smeshBuilder.RADIAL_QUAD)</algo>
574 <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
578 <algorithm type ="Cartesian_3D"
579 label-id ="Body Fitting"
580 icon-id ="mesh_algo_hexa.png"
583 hypos ="CartesianParameters3D"
584 support-submeshes="false"
590 <algo>Cartesian_3D=BodyFitted()</algo>
597 <meshers-group name="Your Meshers Group"
617 <hypotheses-set-group>
619 <hypotheses-set name="Automatic Tetrahedralization"
621 algos="Regular_1D, @MEFISTO2D_NAME@, NETGEN_3D"/>
623 <hypotheses-set name="Automatic Hexahedralization"
624 hypos="NumberOfSegments"
625 algos="Regular_1D, Quadrangle_2D, Hexa_3D"/>
627 <hypotheses-set name="Automatic Triangulation"
629 algos="Regular_1D, @MEFISTO2D_NAME@"/>
631 <hypotheses-set name="Automatic Quadrangulation"
632 hypos="NumberOfSegments"
633 algos="Regular_1D, Quadrangle_2D"/>
635 </hypotheses-set-group>