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"
170 <hypothesis type ="MaxElementArea"
171 label-id ="Max. Element Area"
172 icon-id ="mesh_hypo_area.png"
175 <hypothesis type ="NotConformAllowed"
176 label-id ="Not Conform Mesh Allowed"
177 icon-id ="mesh_hypo_length.png"
182 <hypothesis type ="MaxElementVolume"
183 label-id ="Max. Element Volume"
184 icon-id ="mesh_hypo_volume.png"
187 <hypothesis type ="ProjectionSource3D"
188 label-id ="Source Shape 3D"
189 icon-id ="mesh_hypo_volume.png"
192 <hypothesis type ="ProjectionSource2D"
193 label-id ="Source Face"
194 icon-id ="mesh_hypo_area.png"
197 <hypothesis type ="ProjectionSource1D"
198 label-id ="Source Edge"
199 icon-id ="mesh_hypo_length.png"
202 <hypothesis type ="ImportSource2D"
203 label-id ="Source Faces"
204 icon-id ="mesh_hypo_area.png"
207 <hypothesis type ="ImportSource1D"
208 label-id ="Source Edges"
209 icon-id ="mesh_hypo_length.png"
212 <hypothesis type ="NumberOfLayers"
213 label-id ="Number of Layers"
214 icon-id ="mesh_hypo_length.png"
217 <hypothesis type ="LayerDistribution"
218 label-id ="Distribution of Layers"
219 icon-id ="mesh_hypo_length.png"
222 <hypothesis type ="ViscousLayers2D"
223 label-id ="Viscous Layers 2D"
224 icon-id ="mesh_algo_quad.png"
228 <hypothesis type ="ViscousLayers"
229 label-id ="Viscous Layers"
230 icon-id ="mesh_algo_quad.png"
234 <hypothesis type ="NumberOfLayers2D"
235 label-id ="Number of Layers"
236 icon-id ="mesh_hypo_length.png"
239 <hypothesis type ="LayerDistribution2D"
240 label-id ="Distribution of Layers"
241 icon-id ="mesh_hypo_length.png"
244 <hypothesis type ="QuadrangleParams"
245 label-id ="Quadrangle Parameters"
246 icon-id ="mesh_hypo_length.png"
249 <hypothesis type ="CartesianParameters3D"
250 label-id ="Body Fitting Parameters"
251 icon-id ="mesh_hypo_length.png"
259 <algorithm type ="SegmentAroundVertex_0D"
260 label-id ="Segments around Vertex"
261 icon-id ="mesh_algo_regular.png"
262 hypos ="SegmentLengthAroundVertex"
267 <algorithm type ="Regular_1D"
268 label-id ="Wire Discretisation"
269 icon-id ="mesh_algo_regular.png"
272 hypos ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
273 opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
279 <algo>Regular_1D=Segment()</algo>
280 <hypo>LocalLength=LocalLength(SetLength(1),,SetPrecision(1))</hypo>
281 <hypo>MaxLength=MaxSize(SetLength(1))</hypo>
282 <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
283 <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo>
284 <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
285 <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
286 <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
287 <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
288 <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
289 <hypo>Propagation=Propagation()</hypo>
290 <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo>
291 <hypo>QuadraticMesh=QuadraticMesh()</hypo>
295 <algorithm type ="CompositeSegment_1D"
296 label-id ="Composite Side Discretisation"
297 icon-id ="mesh_algo_regular.png"
300 hypos ="Adaptive1D,LocalLength,MaxLength,Arithmetic1D,GeometricProgression,StartEndLength,NumberOfSegments,Deflection1D,AutomaticLength,FixedPoints1D"
301 opt-hypos="Propagation,PropagOfDistribution,QuadraticMesh"
307 <algo>CompositeSegment_1D=Segment(algo=smeshBuilder.COMPOSITE)</algo>
308 <hypo>LocalLength=LocalLength(SetLength(), ,SetPrecision())</hypo>
309 <hypo>MaxLength=MaxSize(SetLength())</hypo>
310 <hypo>Arithmetic1D=Arithmetic1D(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
311 <hypo>GeometricProgression=GeometricProgression(SetStartLength(),SetCommonRatio(),SetReversedEdges())</hypo>
312 <hypo>StartEndLength=StartEndLength(SetStartLength(),SetEndLength(),SetReversedEdges())</hypo>
313 <hypo>Deflection1D=Deflection1D(SetDeflection())</hypo>
314 <hypo>Adaptive1D=Adaptive(SetMinSize(),SetMaxSize(),SetDeflection())</hypo>
315 <hypo>AutomaticLength=AutomaticLength(SetFineness())</hypo>
316 <hypo>FixedPoints1D=FixedPoints1D(SetPoints(),SetNbSegments(),SetReversedEdges())</hypo>
317 <hypo>Propagation=Propagation()</hypo>
318 <hypo>PropagOfDistribution=PropagationOfDistribution()</hypo>
319 <hypo>QuadraticMesh=QuadraticMesh()</hypo>
323 <algorithm type="Python_1D"
327 <algo>Python_1D=Segment(algo=smeshBuilder.PYTHON)</algo>
328 <hypo>PythonSplit1D=PythonSplit1D(SetNumberOfSegments(),SetPythonLog10RatioFunction())</hypo>
332 <algorithm type ="@MEFISTO2D_NAME@"
333 label-id ="Triangle: Mefisto"
334 icon-id ="mesh_algo_mefisto.png"
337 hypos ="LengthFromEdges,MaxElementArea"
338 opt-hypos ="ViscousLayers2D"
343 <algo>MEFISTO_2D=Triangle(algo=smeshBuilder.MEFISTO)</algo>
344 <hypo>LengthFromEdges=LengthFromEdges()</hypo>
345 <hypo>MaxElementArea=MaxElementArea(SetMaxElementArea())</hypo>
346 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetEdges(1),SetEdges(2))</hypo>
350 <algorithm type ="Quadrangle_2D"
351 label-id ="Quadrangle: Mapping"
352 icon-id ="mesh_algo_quad.png"
355 hypos ="QuadrangleParams"
356 opt-hypos="ViscousLayers2D"
361 <algo>Quadrangle_2D=Quadrangle(algo=smeshBuilder.QUADRANGLE)</algo>
362 <hypo>QuadrangleParams=QuadrangleParameters(SetQuadType(),SetTriaVertex(),SetEnforcedNodes(1),SetEnforcedNodes(2))</hypo>
363 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
367 <algorithm type ="QuadFromMedialAxis_1D2D"
368 label-id ="Quadrangle: Medial Axis Projection"
369 icon-id ="mesh_algo_quad.png"
372 hypos ="NumberOfLayers2D, LayerDistribution2D"
373 opt-hypos="ViscousLayers2D"
378 <algo>QuadFromMedialAxis_1D2D=Quadrangle(algo=smeshBuilder.QUAD_MA_PROJ)</algo>
379 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
380 <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
384 <algorithm type ="PolygonPerFace_2D"
385 label-id ="Polygon per Face"
386 icon-id ="mesh_algo_polygon.png"
389 opt-hypos="ViscousLayers2D"
391 output ="POLYGON,QUAD,TRIA"
394 <algo>PolygonPerFace_2D=Polygon()</algo>
395 <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
399 <algorithm type ="Hexa_3D"
400 label-id ="Hexahedron (i,j,k)"
401 icon-id ="mesh_algo_hexa.png"
407 opt-hypos="ViscousLayers"
410 <algo>Hexa_3D=Hexahedron(algo=smeshBuilder.Hexa)</algo>
411 <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetFaces(1),SetFaces(2),SetMethod())</hypo>
415 <algorithm type ="Projection_1D"
416 label-id="Projection 1D"
417 icon-id ="mesh_algo_regular.png"
420 hypos ="ProjectionSource1D"
425 <algo>Projection_1D=Projection1D()</algo>
426 <hypo>ProjectionSource1D=SourceEdge(SetSourceEdge(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2))</hypo>
430 <algorithm type ="Projection_2D"
431 label-id="Projection 2D"
432 icon-id ="mesh_algo_quad.png"
436 hypos ="ProjectionSource2D"
441 <algo>Projection_2D=Projection2D()</algo>
442 <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
446 <algorithm type ="Projection_1D2D"
447 label-id="Projection 1D-2D"
448 icon-id ="mesh_algo_quad.png"
451 hypos ="ProjectionSource2D"
456 <algo>Projection_1D2D=Projection1D2D()</algo>
457 <hypo>ProjectionSource2D=SourceFace(SetSourceFace(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(2),SetVertexAssociation(3),SetVertexAssociation(4))</hypo>
461 <algorithm type ="Projection_3D"
462 label-id="Projection 3D"
463 icon-id ="mesh_algo_hexa.png"
466 hypos ="ProjectionSource3D"
471 <algo>Projection_3D=Projection3D()</algo>
472 <hypo>ProjectionSource3D=SourceShape3D(SetSource3DShape(),SetSourceMesh(),SetVertexAssociation(1),SetVertexAssociation(3),SetVertexAssociation(2),SetVertexAssociation(4))</hypo>
476 <algorithm type ="Import_1D"
477 label-id="Import 1D Elements from Another Mesh"
478 icon-id ="mesh_algo_regular.png"
481 hypos ="ImportSource1D"
486 <algo>Import_1D=UseExisting1DElements()</algo>
487 <hypo>ImportSource1D=SourceEdges(SetSourceEdges(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
491 <algorithm type ="Import_1D2D"
492 label-id ="Import 1D-2D Elements from Another Mesh"
493 icon-id ="mesh_algo_quad.png"
496 hypos ="ImportSource2D"
498 support-submeshes="false"
502 <algo>Import_1D2D=UseExisting2DElements()</algo>
503 <hypo>ImportSource2D=SourceFaces(SetSourceFaces(),SetCopySourceMesh(1),SetCopySourceMesh(2))</hypo>
507 <algorithm type ="Prism_3D"
508 label-id="Extrusion 3D"
509 icon-id ="mesh_algo_hexa.png"
513 output ="HEXA,PENTA,OCTA,POLYHEDRON"
516 <algo>Prism_3D=Prism()</algo>
520 <algorithm type ="RadialPrism_3D"
521 label-id="Radial Prism"
522 icon-id ="mesh_algo_hexa.png"
525 hypos ="NumberOfLayers, LayerDistribution"
527 output ="HEXA,PENTA,OCTA,POLYHEDRON"
531 <algo>RadialPrism_3D=Prism('RadialPrism_3D')</algo>
532 <hypo>NumberOfLayers=NumberOfLayers(SetNumberOfLayers())</hypo>
536 <algorithm type ="UseExisting_1D"
537 label-id="Use Edges to be Created Manually"
538 icon-id ="mesh_algo_regular.png"
545 <algo>UseExisting_1D=UseExistingSegments()</algo>
549 <algorithm type ="UseExisting_2D"
550 label-id="Use Faces to be Created Manually"
551 icon-id ="mesh_algo_quad.png"
558 <algo>UseExisting_2D=UseExistingFaces()</algo>
562 <algorithm type ="RadialQuadrangle_1D2D"
563 label-id="Radial Quadrangle 1D-2D"
564 icon-id ="mesh_algo_quad.png"
567 hypos ="NumberOfLayers2D, LayerDistribution2D"
572 <algo>RadialQuadrangle_1D2D=Quadrangle(algo=smeshBuilder.RADIAL_QUAD)</algo>
573 <hypo>NumberOfLayers2D=NumberOfLayers(SetNumberOfLayers())</hypo>
577 <algorithm type ="Cartesian_3D"
578 label-id ="Body Fitting"
579 icon-id ="mesh_algo_hexa.png"
582 hypos ="CartesianParameters3D"
583 support-submeshes="false"
589 <algo>Cartesian_3D=BodyFitted()</algo>
596 <meshers-group name="Your Meshers Group"
616 <hypotheses-set-group>
618 <hypotheses-set name="Automatic Tetrahedralization"
620 algos="Regular_1D, @MEFISTO2D_NAME@, NETGEN_3D"/>
622 <hypotheses-set name="Automatic Hexahedralization"
623 hypos="NumberOfSegments"
624 algos="Regular_1D, Quadrangle_2D, Hexa_3D"/>
626 <hypotheses-set name="Automatic Triangulation"
628 algos="Regular_1D, @MEFISTO2D_NAME@"/>
630 <hypotheses-set name="Automatic Quadrangulation"
631 hypos="NumberOfSegments"
632 algos="Regular_1D, Quadrangle_2D"/>
634 </hypotheses-set-group>