Salome HOME
23352: [CEA] Order and naming of meshing algorithms
[plugins/netgenplugin.git] / resources / NETGENPlugin.xml
1 <?xml version='1.0' encoding='us-ascii'?>
2 <!DOCTYPE meshers PUBLIC "" "desktop.dtd">
3 <!--
4   Copyright (C) 2007-2016  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, or (at your option) any later version.
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      ="NETGEN"
32                resources ="NETGENPlugin"
33                idl-module="NETGENPlugin"
34                server-lib="NETGENEngine"
35                gui-lib   ="NETGENPluginGUI">
36   <hypotheses>
37     <hypothesis type    ="NETGEN_Parameters"
38                 label-id="NETGEN 3D Parameters"
39                 icon-id ="mesh_hypo_netgen.png"
40                 dim     ="3">
41       <python-wrap>
42         <accumulative-methods>
43           SetLocalSizeOnShape,
44           UnsetLocalSizeOnEntry
45         </accumulative-methods>
46       </python-wrap>
47     </hypothesis>
48     <hypothesis type    ="NETGEN_Parameters_2D"
49                 label-id="NETGEN 2D Parameters"
50                 icon-id ="mesh_hypo_netgen_2d.png"
51                 dim     ="2">
52       <python-wrap>
53         <accumulative-methods>
54           SetLocalSizeOnShape,
55           UnsetLocalSizeOnEntry
56         </accumulative-methods>
57       </python-wrap>
58     </hypothesis>
59     <hypothesis type    ="NETGEN_Parameters_3D"
60                 label-id="NETGEN 3D Parameters"
61                 icon-id ="mesh_hypo_netgen.png"
62                 dim     ="3">
63       <python-wrap>
64         <accumulative-methods>
65           SetLocalSizeOnShape,
66           UnsetLocalSizeOnEntry
67         </accumulative-methods>
68       </python-wrap>
69     </hypothesis>
70     <hypothesis type    ="NETGEN_Parameters_2D_ONLY"
71                 label-id="NETGEN 2D Parameters"
72                 icon-id ="mesh_hypo_netgen_2d.png"
73                 dim     ="2">
74       <python-wrap>
75         <accumulative-methods>
76           SetLocalSizeOnShape,
77           UnsetLocalSizeOnEntry
78         </accumulative-methods>
79       </python-wrap>
80     </hypothesis>
81     <hypothesis type    ="NETGEN_SimpleParameters_2D"
82                 label-id="NETGEN 2D Simple Parameters"
83                 icon-id ="mesh_hypo_netgen_2d.png"
84                 dim     ="2"/>
85     <hypothesis type    ="NETGEN_SimpleParameters_3D"
86                 label-id="NETGEN 3D Simple Parameters"
87                 icon-id ="mesh_hypo_netgen.png"
88                 dim     ="3"/>
89   </hypotheses>
90
91   <algorithms>
92     <algorithm type     ="NETGEN_3D"
93                label-id ="NETGEN 3D"
94                icon-id  ="mesh_algo_tetra.png"
95                group-id ="1"
96                priority ="20"
97                hypos    ="MaxElementVolume,NETGEN_Parameters_3D"
98                opt-hypos="ViscousLayers"
99                need-geom="false"
100                input    ="TRIA,QUAD"
101                output   ="TETRA,PYRAMID"
102                dim      ="3">
103       <python-wrap>
104         <algo>NETGEN_3D=Tetrahedron()</algo>
105         <hypo>MaxElementVolume=MaxElementVolume(SetMaxElementVolume())</hypo>
106         <hypo>NETGEN_Parameters_3D=Parameters()</hypo>
107         <hypo>ViscousLayers=ViscousLayers(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetFaces(1),SetFaces(2),SetMethod())</hypo>
108       </python-wrap>
109     </algorithm>
110
111     <algorithm type     ="NETGEN_2D_ONLY"
112                label-id ="NETGEN 2D"
113                icon-id  ="mesh_algo_netgen_2d.png"
114                group-id ="1"
115                priority ="20"
116                hypos    ="LengthFromEdges,MaxElementArea,NETGEN_Parameters_2D_ONLY"
117                opt-hypos="QuadranglePreference,ViscousLayers2D"
118                input    ="EDGE"
119                output   ="TRIA,QUAD"
120                dim      ="2">
121        <python-wrap>
122         <algo>NETGEN_2D_ONLY=Triangle(algo=smeshBuilder.NETGEN_2D)</algo>
123         <hypo>LengthFromEdges=LengthFromEdges()</hypo>
124         <hypo>MaxElementArea=MaxElementArea(SetMaxElementArea())</hypo>
125         <hypo>NETGEN_Parameters_2D_ONLY=Parameters()</hypo>
126         <hypo>QuadranglePreference=SetQuadAllowed()</hypo>
127         <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
128       </python-wrap>
129     </algorithm>
130
131     <algorithm type             ="NETGEN_2D"
132                label-id         ="NETGEN 1D-2D"
133                icon-id          ="mesh_algo_netgen_2d.png"
134                group-id         ="1"
135                priority         ="10"
136                hypos            ="NETGEN_Parameters_2D, NETGEN_SimpleParameters_2D"
137                opt-hypos        ="ViscousLayers2D"
138                output           ="TRIA,QUAD"
139                dim              ="2"
140                support-submeshes="true">
141       <python-wrap>
142         <algo>NETGEN_2D=Triangle(algo=smeshBuilder.NETGEN_1D2D)</algo>
143         <hypo>NETGEN_Parameters_2D=Parameters()</hypo>
144         <hypo>NETGEN_SimpleParameters_2D=Parameters(smeshBuilder.SIMPLE)</hypo>
145         <hypo>ViscousLayers2D=ViscousLayers2D(SetTotalThickness(),SetNumberLayers(),SetStretchFactor(),SetIgnoreEdges())</hypo>
146       </python-wrap>
147     </algorithm>
148
149     <algorithm type             ="NETGEN_2D3D"
150                label-id         ="NETGEN 1D-2D-3D"
151                icon-id          ="mesh_algo_netgen_2d3d.png"
152                group-id         ="1"
153                priority         ="10"
154                hypos            ="NETGEN_Parameters, NETGEN_SimpleParameters_3D"
155                output           ="TETRA,PYRAMID"
156                dim              ="3"
157                support-submeshes="true">
158       <python-wrap>
159         <algo>NETGEN_2D3D=Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)</algo>
160         <hypo>NETGEN_Parameters=Parameters()</hypo>
161         <hypo>NETGEN_SimpleParameters_3D=Parameters(smeshBuilder.SIMPLE)</hypo>
162       </python-wrap>
163     </algorithm>
164
165   </algorithms>
166 </meshers-group>
167
168 <hypotheses-set-group>
169
170     <hypotheses-set name ="Automatic Tetrahedralization"
171                     hypos="NETGEN_Parameters"
172                     algos="NETGEN_2D3D"/>
173
174     <hypotheses-set name ="Automatic Triangulation"
175                     hypos="NETGEN_Parameters_2D"
176                     algos="NETGEN_2D"/>
177
178 </hypotheses-set-group>
179
180 </meshers>