Salome HOME
Merging with WPdev
[modules/smesh.git] / doc / salome / gui / SMESH / files / sewing_meshes.htm
1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
2
3 <html>
4
5 <head>
6 <title>Sewing meshes</title>
7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">
8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
9 <link rel="stylesheet" href="../default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
10 <!--
11 if (navigator.appName !="Netscape")
12 {   document.write("<link rel='stylesheet' href='../default.css'>");}
13 //-->
14 </script>
15 <style type="text/css">
16 <!--
17 img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
18 ul.whs2 { list-style:disc; }
19 p.whs3 { font-weight:bold; }
20 p.whs4 { margin-left:40px; }
21 img_whs5 { border:none; width:332px; height:548px; border-style:none; float:right; }
22 img_whs6 { border:none; width:612px; height:225px; border-style:none; }
23 img_whs7 { border:none; width:581px; height:218px; border-style:none; float:left; }
24 img_whs8 { border:none; width:600px; height:227px; border-style:none; }
25 p.whs9 { margin-left:0px; }
26 img_whs10 { border:none; width:620px; height:228px; border-style:none; }
27 img_whs11 { border:none; width:304px; height:222px; border-style:none; }
28 -->
29 </style><script type="text/javascript" language="JavaScript">
30 <!--
31 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
32 {
33   var strNSS = "<style type='text/css'>";
34   strNSS += "p.whs9 {margin-left:1pt; }";
35   strNSS +="</style>";
36   document.write(strNSS);
37 }
38 //-->
39 </script>
40 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
41 <!--
42 function reDo() {
43   if (innerWidth != origWidth || innerHeight != origHeight)
44      location.reload();
45 }
46 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
47         origWidth = innerWidth;
48         origHeight = innerHeight;
49         onresize = reDo;
50 }
51 onerror = null; 
52 //-->
53 </script>
54 <style type="text/css">
55 <!--
56 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
57 p.WebHelpNavBar { text-align:right; }
58 -->
59 </style><script type="text/javascript" language="javascript1.2" src="../whmsg.js"></script>
60 <script type="text/javascript" language="javascript" src="../whver.js"></script>
61 <script type="text/javascript" language="javascript1.2" src="../whproxy.js"></script>
62 <script type="text/javascript" language="javascript1.2" src="../whutils.js"></script>
63 <script type="text/javascript" language="javascript1.2" src="../whtopic.js"></script>
64 <script type="text/javascript" language="javascript1.2">
65 <!--
66 if (window.gbWhTopic)
67 {
68         if (window.setRelStartPage)
69         {
70         addTocInfo("MESH module\nModifying meshes\nTransforming meshes\nSewing meshes");
71 addButton("show",BTN_IMG,"Show","","","","",0,0,"../whd_show0.gif","../whd_show2.gif","../whd_show1.gif");
72 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"../whd_hide0.gif","../whd_hide2.gif","../whd_hide1.gif");
73
74         }
75
76
77         if (window.setRelStartPage)
78         {
79         setRelStartPage("../index.htm");
80
81                 autoSync(1);
82                 sendSyncInfo();
83                 sendAveInfoOut();
84         }
85
86 }
87 else
88         if (window.gbIE4)
89                 document.location.reload();
90 //-->
91 </script>
92 </head>
93 <body><script type="text/javascript" language="javascript1.2">
94 <!--
95 if (window.writeIntopicBar)
96         writeIntopicBar(4);
97 //-->
98 </script>
99 <h1>Sewing meshes</h1>
100
101 <p><img src="../i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> In SMESH you can sew elements of &nbsp;different 
102  meshes. The current functionality allows you to sew:</p>
103
104 <p>&nbsp;</p>
105
106 <ul type="disc" class="whs2">
107         
108         <li class=kadov-p><p class="whs3"><a href="#free bord">Free 
109  borders </a></p></li>
110         
111         <li class=kadov-p><p class="whs3"><a href="#conform">Conform 
112  free borders</a></p></li>
113         
114         <li class=kadov-p><p class="whs3"><a href="#border to side">Border 
115  to side</a></p></li>
116         
117         <li class=kadov-p><p class="whs3"><a href="#side elements">Side 
118  elements</a></p></li>
119 </ul>
120
121 <p class="whs3">&nbsp;</p>
122
123 <p class=TODO>To sew elements of different meshes:</p>
124
125 <p class=TODO>&nbsp;</p>
126
127 <p class="whs4">1. From the <span style="font-weight: bold;"><B>Modification 
128  </B></span>menu choose the <span style="font-weight: bold;"><B>Transformation 
129  </B></span>item and &nbsp;from 
130  its sub-menu select the <span style="font-weight: bold;"><B>Sewing </B></span>item. 
131  </p>
132
133 <p class="whs4">2. Check in the dialog box one of the radio 
134  buttons corresponding to the type of sewing operation you would like to 
135  perform. </p>
136
137 <p class="whs4">3. Fill the other fields available in the 
138  dialog box</p>
139
140 <p class="whs4">4. Click the <span style="font-weight: bold;"><B>OK 
141  </B></span><span>or </span><span style="font-weight: bold;"><B>Apply </B></span>button 
142  to perform the operation of sewing. </p>
143
144 <h3><a name="free bord"></a>Sew free borders<img src="../pics/sewing1.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
145
146 <p>This functionality allows you to unite two free borders of a 2D mesh.</p>
147
148 <p>&nbsp;</p>
149
150 <p>For sewing free borders you should define three points on each border: 
151  first, second and the last node: </p>
152
153 <p>&nbsp;</p>
154
155 <ul type="disc" class="whs2">
156         
157         <li class=kadov-p><p>&nbsp;the 
158  first node specifies beginning of the border ;</p></li>
159         
160         <li class=kadov-p><p>&nbsp;the 
161  second node specifies the part of the border which should be considered 
162  (as far as the free border usually forms a closed contour);</p></li>
163         
164         <li class=kadov-p><p>&nbsp;the 
165  last node specifies the end of the border.</p></li>
166 </ul>
167
168 <p>&nbsp;</p>
169
170 <p>You can select these nodes in the 3D viewer or define by its id.</p>
171
172 <p>&nbsp;</p>
173
174 <p>The first and the second nodes should belong to the same link of a face. 
175  The second and the last nodes of a border can be the same. The first and 
176  the last nodes of two borders can be the same. The corresponding end nodes 
177  of two borders will be merged. Intermediate nodes of two borders will 
178  be either merged or inserted into faces of the opposite border.</p>
179
180 <p>&nbsp;</p>
181
182 <p>The sewing algorithm is as follows:</p>
183
184 <p>&nbsp;</p>
185
186 <p class="whs4">1. The parameter (U) of each node within 
187  a border is computed. So that the first node has U=0.0, the last node 
188  has U=1.0, for the rest nodes 0.0 &lt; U &lt; 1.0;</p>
189
190 <p class="whs4">2. Compare node parameters of the two borders. 
191  If two nodes of the opposite borders have close parameters, they are merged, 
192  i.e. a node of the first border is replaced in all elements by a node 
193  of the second border. If a node has no node with a close parameter in 
194  the opposite border, it is inserted into an edge of element of the opposite 
195  border, an element is split. Two nodes are considered close enough to 
196  merge, if difference of their parameters is less than one fifth of minimum 
197  length of adjacent face edges on the borders.</p>
198
199 <p>&nbsp;</p>
200
201 <p class="whs4"><img src="../image22.jpg" width="612px" height="225px" border="0" class="img_whs6"></p>
202
203 <p class="whs4">&nbsp;</p>
204
205 <p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
206  Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark4">Sew 
207  Free Borders</a> operation. &nbsp;</p>
208
209 <p>&nbsp;</p>
210
211 <p class="whs4">&nbsp;</p>
212
213 <h3><a name=conform></a>Sew conform free borders<img src="../pics/sewing2.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
214
215 <p>This functionality can be used to unite two free borders of a 2D mesh. 
216  </p>
217
218 <p>&nbsp;</p>
219
220 <p>The borders of meshes for sewing are defined as for &quot;Sew free borders&quot; 
221  except that the second free border is not limited and can be defined by 
222  the first and the second nodes only. The first nodes of two borders can 
223  be the same.</p>
224
225 <p>&nbsp;</p>
226
227 <p>The algorithm is following: counting nodes starting at the first ones, 
228  the n-th node of the first border is merged with the n-th node of the 
229  other border, until the end of either of borders. Nodes of the first border 
230  are replaced in all elements with corresponding nodes of the second border.</p>
231
232 <p>For sewing conform free borders you should define three points on the 
233  first border and two points on the second one. User can select these nodes 
234  in 3D viewer or define node by its id.<img src="../image23.jpg" width="581px" height="218px" align="left" border="0" class="img_whs7"></p>
235
236 <p class="whs3">&nbsp;</p>
237
238 <p class="whs3">&nbsp;</p>
239
240 <h3>&nbsp;</h3>
241
242 <h3>&nbsp;</h3>
243
244 <h3>&nbsp;</h3>
245
246 <h3>&nbsp;</h3>
247
248 <h3>&nbsp;</h3>
249
250 <p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
251  Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark5">Sew 
252  Conform Free Borders</a> operation. &nbsp;</p>
253
254 <h3>&nbsp;</h3>
255
256 <h3>&nbsp;</h3>
257
258 <h3><a name="border to side"></a>Sew border to side<img src="../pics/sewing3.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
259
260 <p>&quot;Sew border to side&quot; is intended to sew a free border to a 
261  mesh surface.</p>
262
263 <p>The free border is defined as for &quot;Sewing of free borders&quot;. 
264  The place where to sew the border is defined by two nodes, between which 
265  the border faces are placed, so that the first border node is merged with 
266  the first node on the side and the last node of the border is merged with 
267  the second specified node on the side.</p>
268
269 <p>&nbsp;</p>
270
271 <p class="whs4">&nbsp;</p>
272
273 <p>The algorithm is following.</p>
274
275 <p>1. Find a sequence of linked nodes on the side such that the found links 
276  to be most co-directed with the links of the free border.</p>
277
278 <p>2. Sew two sequences of nodes using algorithm of &quot;Sewing of free 
279  berders&quot;.</p>
280
281 <p>For sewing border to side you should define three points on the border 
282  and two points on the side. User can select these nodes in 3D viewer or 
283  define node by its id.</p>
284
285 <p><img src="../image30.jpg" width="600px" height="227px" border="0" class="img_whs8"></p>
286
287 <p>&nbsp;&nbsp;<span style="font-weight: bold;"><B>See 
288  Also</B></span> a sample TUI Script of a <a href="../transforming_meshes.htm#bookmark6">Sew 
289  Border to Side</a> operation. &nbsp;</p>
290
291 <p>&nbsp;</p>
292
293 <h3>&nbsp;</h3>
294
295 <h3><a name="side elements"></a>Sew side elements<img src="../pics/sewing4.png" x-maintain-ratio="TRUE" width="332px" height="548px" align="right" border="0" class="img_whs5"></h3>
296
297 <p class="whs9">This operation is intended to unite two mesh 
298  surfaces.</p>
299
300 <p class="whs9">&nbsp;</p>
301
302 <p>Surfaces may be defined by either 2d or 3d elements. The number of given 
303  elements of the sides must be the same. The sets of given elements must 
304  be topologically equal, i.e. each node of one element set must have a 
305  corresponding node in the other element set and corresponding nodes must 
306  be equally linked. If there are 3d elements in a set, only their free 
307  faces must obey to that rule.</p>
308
309 <p>Two corresponding nodes on each side must be specified. They must belong 
310  to one element and must be located on an element set boundary.</p>
311
312 <p>&nbsp;</p>
313
314 <p>Sewing algorithm finds and merges the corresponding nodes starting from 
315  the specified ones.</p>
316
317 <p><img src="../image31.jpg" width="620px" height="228px" border="0" class="img_whs10"></p>
318
319 <p class="whs4"><img src="../image32.jpg" width="304px" height="222px" border="0" class="img_whs11"></p>
320
321 <p>For sewing side elements you should define elements for sewing and two 
322  nodes for merging on the each side. User can select these elements and 
323  nodes in 3D viewer or define them by its id.</p>
324
325 <p>&nbsp;</p>
326
327 <p><span style="font-weight: bold;"><B>See Also</B></span> a sample TUI Script 
328  of a <a href="../transforming_meshes.htm#bookmark7">Sew Side Elements</a> 
329  operation. &nbsp;</p>
330
331 <p>&nbsp;</p>
332
333 <p>&nbsp;</p>
334
335 <script type="text/javascript" language="javascript1.2">
336 <!--
337 if (window.writeIntopicBar)
338         writeIntopicBar(0);
339 //-->
340 </script>
341 </body>
342 </html>