Salome HOME
Merging with WPdev
[modules/smesh.git] / doc / salome / gui / SMESH / pattern_mapping.htm
index 2e1bccf29bac9d525bea2ab4d320903f15bab25f..87685f026f3d9a1c4621567c3ed7882d6449beaa 100755 (executable)
-<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
-\r
-<html>\r
-\r
-<head>\r
-<title>Pattern mapping</title>\r
-<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
-<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">\r
-<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">\r
-<!--\r
-if (navigator.appName !="Netscape")\r
-{   document.write("<link rel='stylesheet' href='default.css'>");}\r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }\r
-p.whs2 { margin-left:40px; }\r
-img_whs3 { border:none; width:626px; height:471px; border-style:none; }\r
-img_whs4 { border:none; width:22px; height:28px; border-style:none; }\r
-table.whs5 { x-cell-content-align:top; width:64.066%; border-spacing:0px; }\r
-col.whs6 { width:56.089%; }\r
-col.whs7 { width:43.911%; }\r
-tr.whs8 { x-cell-content-align:top; }\r
-td.whs9 { width:56.089%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-p.whs10 { margin-right:0px; }\r
-img_whs11 { border:none; width:306px; height:632px; float:none; border-style:none; }\r
-td.whs12 { width:43.911%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs13 { border:none; width:306px; height:670px; float:none; border-style:none; }\r
-img_whs14 { border:none; width:34px; height:34px; border-style:none; }\r
-table.whs15 { x-cell-content-align:top; width:68.686%; border-spacing:0px; }\r
-col.whs16 { width:50.224%; }\r
-col.whs17 { width:49.776%; }\r
-td.whs18 { width:50.224%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }\r
-img_whs19 { border:none; width:306px; height:428px; float:none; border-style:none; }\r
-td.whs20 { width:49.776%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }\r
-img_whs21 { border:none; width:306px; height:248px; float:none; border-style:none; }\r
-p.whs22 { margin-left:0px; }\r
-img_whs23 { border:none; width:554px; height:279px; border-style:none; }\r
-img_whs24 { border:none; width:572px; height:233px; border-style:none; }\r
-img_whs25 { border:none; width:606px; height:249px; border-style:none; }\r
--->\r
-</style><script type="text/javascript" language="JavaScript">\r
-<!--\r
-if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
-{\r
-  var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs10 {margin-right:1pt; }";\r
-  strNSS += "p.whs22 {margin-left:1pt; }";\r
-  strNSS +="</style>";\r
-  document.write(strNSS);\r
-}\r
-//-->\r
-</script>\r
-<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
-<!--\r
-function reDo() {\r
-  if (innerWidth != origWidth || innerHeight != origHeight)\r
-     location.reload();\r
-}\r
-if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
-       origWidth = innerWidth;\r
-       origHeight = innerHeight;\r
-       onresize = reDo;\r
-}\r
-onerror = null; \r
-//-->\r
-</script>\r
-<style type="text/css">\r
-<!--\r
-div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
-p.WebHelpNavBar { text-align:right; }\r
--->\r
-</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
-<script type="text/javascript" language="javascript" src="whver.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
-<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.gbWhTopic)\r
-{\r
-       if (window.setRelStartPage)\r
-       {\r
-       addTocInfo("MESH module\nModifying meshes\nPattern mapping");\r
-addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
-addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
-\r
-       }\r
-\r
-\r
-       if (window.setRelStartPage)\r
-       {\r
-       setRelStartPage("index.htm");\r
-\r
-               autoSync(1);\r
-               sendSyncInfo();\r
-               sendAveInfoOut();\r
-       }\r
-\r
-}\r
-else\r
-       if (window.gbIE4)\r
-               document.location.reload();\r
-//-->\r
-</script>\r
-</head>\r
-<body><script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(4);\r
-//-->\r
-</script>\r
-<h1>Pattern mapping</h1>\r
-\r
-<h3>About patterns</h3>\r
-\r
-<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The pattern describes a mesh to generate: positions of \r
- nodes within a geometrical domain and nodal connectivity of elements. \r
- As well, a pattern specifies the so-called key-points, i.e. nodes that \r
- will be located at geometrical vertices. Pattern description is stored \r
- in &lt;pattern_name&gt;.smp file.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>The smp file contains 4 sections:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p class="whs2">1. The first line holds the number of nodes \r
- (N).</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">2. The next N lines describe nodes coordinates. \r
- Each line holds 2 coordinates of a node.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">3. A key-points line: indices of nodes to \r
- be mapped on geometrical vertices. An index n refers to a node described \r
- on an n-th line of section 2. The first node index is zero.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">4. The rest lines describe nodal connectivity \r
- of elements, one line for an element. A line holds indices of nodes forming \r
- an element. An index n refers to a node described on an n-th line of the \r
- section 2. The first node index is zero. There must be 3 or 4 indices \r
- on a line: only 2d elements are allowed.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p>The 2D pattern must contain at least one element and at least one key-point. \r
- All key-points must lay on boundaries.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>An example of a simple smp file and a preview of a pattern described \r
- in this file:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p><img src="image94.gif" width="626px" height="471px" border="0" class="img_whs3"></p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3>Application of pattern mapping</h3>\r
-\r
-<p class=TODO>To apply pattern mapping to a geometrical object:</p>\r
-\r
-<p class=TODO>&nbsp;</p>\r
-\r
-<p class="whs2">1. From the <span style="font-weight: bold;"><B>Modification \r
- </B></span>menu choose the <span style="font-weight: bold;"><B>Pattern Mapping \r
- </B></span>item or click <img src="image98.gif" width="22px" height="28px" border="0" class="img_whs4"> button in the toolbar. The following \r
- dialog box shall appear:</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="64.066%" class="whs5">\r
-<col class="whs6">\r
-<col class="whs7">\r
-\r
-<tr valign="top" class="whs8">\r
-<td width="56.089%" class="whs9">\r
-<p class="whs10"><img src="pics/patternmapping1.png" x-maintain-ratio="TRUE" width="306px" height="632px" border="0" class="img_whs11"></td>\r
-<td width="43.911%" class="whs12">\r
-<p><img src="pics/patternmapping2.png" x-maintain-ratio="TRUE" width="306px" height="670px" border="0" class="img_whs13"></td></tr>\r
-</table>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p>To apply a pattern to a geometrical object, you should specify:</p>\r
-\r
-<p class="whs2">- a face having the number of vertices equal \r
- to the number of key-points in the pattern; the number of key-points on \r
- internal boundaries of a pattern must also be equal to the number of vertices \r
- on internal boundaries of a face;</p>\r
-\r
-<p class="whs2">- a vertex to which the first key-point should \r
- be mapped,</p>\r
-\r
-<p class="whs2">- reverse or not the order of key-points. \r
- (The order of vertices of a face is counterclockwise looking from outside).</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>Then you either load a .smp pattern file previously created manually \r
- by clicking on the <img src="image108.gif" width="34px" height="34px" border="0" class="img_whs14"> button, or click on the <span style="font-weight: bold;"><B>New</B></span> \r
- button for automatic generation.</p>\r
-\r
-<p>For an automatic generation you just specify a geometrical face having \r
- a mesh built on it. Mesh nodes lying on face vertices become key-points. \r
- Additionally, you may choose the way of getting nodes coordinates by <span \r
- style="font-weight: bold;"><B>projecting nodes on the face</B></span> instead \r
- of using &quot;positions on face&quot; generated by mesher (if there is \r
- any). Faces having a seam edge can\92t be used for automatic pattern creation.</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>When creating a pattern from an existing mesh, there are two possible \r
- cases:</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<p>1. A sub-mesh on face is selected. A pattern is created from the 2d \r
- elements bound to a face by mesher. Node coordinates are either &quot;positions \r
- on face&quot; computed by mesher, or coordinates got by node projection \r
- on a geometrical surface, according to your choice.</p>\r
-\r
-<p>2. A mesh where the main shape is a face, is selected. A pattern is \r
- created from all the 2d elements in a mesh. If all mesh elements are build \r
- by mesher, the user can select the way of getting nodes coordinates, else \r
- all nodes are projected on a face surface.</p>\r
-\r
-<table x-use-null-cells cellspacing="0" width="68.686%" class="whs15">\r
-<col class="whs16">\r
-<col class="whs17">\r
-\r
-<tr valign="top" class="whs8">\r
-<td width="50.224%" class="whs18">\r
-<p><img src="pics/a-patterntype.png" x-maintain-ratio="TRUE" width="306px" height="428px" border="0" class="img_whs19"></td>\r
-<td width="49.776%" class="whs20">\r
-<p><img src="pics/a-patterntype1.png" x-maintain-ratio="TRUE" width="306px" height="248px" border="0" class="img_whs21"></td></tr>\r
-</table>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<h3>Mapping algorithm:</h3>\r
-\r
-<p class="whs22">The mapping algorithm is as follows:</p>\r
-\r
-<p class="whs22">&nbsp;</p>\r
-\r
-<p class="whs2">1. Key-points are set in the order that they \r
- are encountered when walking along a pattern boundary so that elements \r
- are on the left. The first key-point is preserved.</p>\r
-\r
-<p class="whs2">2. Find geometrical vertices corresponding \r
- to key-points by vertices order in a face boundary; here, &quot;Reverse \r
- order of key-points&quot; flag is taken into account.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="image95.gif" width="554px" height="279px" border="0" class="img_whs23"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">3. Boundary nodes of a pattern are mapped \r
- onto edges of a face: a node located between certain key-points on a pattern \r
- boundary is mapped on a geometrical edge limited by corresponding geometrical \r
- vertices. Node position on an edge reflects its distance from two key-points.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="image96.gif" width="572px" height="233px" border="0" class="img_whs24"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2">4. Coordinates of a non-boundary node in \r
- a parametric space of a face are defined as following. In a parametric \r
- space of a pattern, a node lays at the intersection of two iso-lines, \r
- each of which intersects a pattern boundary at least at two points. Knowing \r
- mapped positions of boundary nodes, we find where isoline-boundary intersection \r
- points are mapped to, and hence we can find mapped isolines direction \r
- and then, two node positions on two mapped isolines. The eventual mapped \r
- position of a node is found as an average of positions on mapped isolines.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs2"><img src="image97.gif" width="606px" height="249px" border="0" class="img_whs25"></p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p>&nbsp;<span style="font-weight: bold;"><B>See \r
- Also</B></span> a sample TUI Script of a <a href="modifying_meshes.htm#bookmark13">Pattern \r
- Mapping</a><a href="modifying_meshes.htm#bookmark11"> </a>operation. &nbsp;</p>\r
-\r
-<p>&nbsp;</p>\r
-\r
-<script type="text/javascript" language="javascript1.2">\r
-<!--\r
-if (window.writeIntopicBar)\r
-       writeIntopicBar(0);\r
-//-->\r
-</script>\r
-</body>\r
-</html>\r
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
+
+<html>
+
+<head>
+<title>Pattern mapping</title>
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com">
+<link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss">
+<!--
+if (navigator.appName !="Netscape")
+{   document.write("<link rel='stylesheet' href='default.css'>");}
+//-->
+</script>
+<style type="text/css">
+<!--
+img_whs1 { border:none; width:30px; height:30px; float:none; border-style:none; }
+p.whs2 { margin-left:40px; }
+img_whs3 { border:none; width:626px; height:471px; border-style:none; }
+img_whs4 { border:none; width:22px; height:28px; border-style:none; }
+table.whs5 { x-cell-content-align:top; width:64.066%; border-spacing:0px; }
+col.whs6 { width:56.089%; }
+col.whs7 { width:43.911%; }
+tr.whs8 { x-cell-content-align:top; }
+td.whs9 { width:56.089%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+p.whs10 { margin-right:0px; }
+img_whs11 { border:none; width:306px; height:632px; float:none; border-style:none; }
+td.whs12 { width:43.911%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs13 { border:none; width:306px; height:670px; float:none; border-style:none; }
+img_whs14 { border:none; width:34px; height:34px; border-style:none; }
+table.whs15 { x-cell-content-align:top; width:68.686%; border-spacing:0px; }
+col.whs16 { width:50.224%; }
+col.whs17 { width:49.776%; }
+td.whs18 { width:50.224%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; }
+img_whs19 { border:none; width:306px; height:428px; float:none; border-style:none; }
+td.whs20 { width:49.776%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; }
+img_whs21 { border:none; width:306px; height:248px; float:none; border-style:none; }
+p.whs22 { margin-left:0px; }
+img_whs23 { border:none; width:554px; height:279px; border-style:none; }
+img_whs24 { border:none; width:572px; height:233px; border-style:none; }
+img_whs25 { border:none; width:606px; height:249px; border-style:none; }
+-->
+</style><script type="text/javascript" language="JavaScript">
+<!--
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
+{
+  var strNSS = "<style type='text/css'>";
+  strNSS += "p.whs10 {margin-right:1pt; }";
+  strNSS += "p.whs22 {margin-left:1pt; }";
+  strNSS +="</style>";
+  document.write(strNSS);
+}
+//-->
+</script>
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
+<!--
+function reDo() {
+  if (innerWidth != origWidth || innerHeight != origHeight)
+     location.reload();
+}
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
+       origWidth = innerWidth;
+       origHeight = innerHeight;
+       onresize = reDo;
+}
+onerror = null; 
+//-->
+</script>
+<style type="text/css">
+<!--
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
+p.WebHelpNavBar { text-align:right; }
+-->
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
+<script type="text/javascript" language="javascript" src="whver.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.gbWhTopic)
+{
+       if (window.setRelStartPage)
+       {
+       addTocInfo("MESH module\nModifying meshes\nPattern mapping");
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
+
+       }
+
+
+       if (window.setRelStartPage)
+       {
+       setRelStartPage("index.htm");
+
+               autoSync(1);
+               sendSyncInfo();
+               sendAveInfoOut();
+       }
+
+}
+else
+       if (window.gbIE4)
+               document.location.reload();
+//-->
+</script>
+</head>
+<body><script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(4);
+//-->
+</script>
+<h1>Pattern mapping</h1>
+
+<h3>About patterns</h3>
+
+<p><img src="i_blue.jpg" x-maintain-ratio="TRUE" width="30px" height="30px" border="0" class="img_whs1"> The pattern describes a mesh to generate: positions of 
+ nodes within a geometrical domain and nodal connectivity of elements. 
+ As well, a pattern specifies the so-called key-points, i.e. nodes that 
+ will be located at geometrical vertices. Pattern description is stored 
+ in &lt;pattern_name&gt;.smp file.</p>
+
+<p>&nbsp;</p>
+
+<p>The smp file contains 4 sections:</p>
+
+<p>&nbsp;</p>
+
+<p class="whs2">1. The first line holds the number of nodes 
+ (N).</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">2. The next N lines describe nodes coordinates. 
+ Each line holds 2 coordinates of a node.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">3. A key-points line: indices of nodes to 
+ be mapped on geometrical vertices. An index n refers to a node described 
+ on an n-th line of section 2. The first node index is zero.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">4. The rest lines describe nodal connectivity 
+ of elements, one line for an element. A line holds indices of nodes forming 
+ an element. An index n refers to a node described on an n-th line of the 
+ section 2. The first node index is zero. There must be 3 or 4 indices 
+ on a line: only 2d elements are allowed.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p>The 2D pattern must contain at least one element and at least one key-point. 
+ All key-points must lay on boundaries.</p>
+
+<p>&nbsp;</p>
+
+<p>An example of a simple smp file and a preview of a pattern described 
+ in this file:</p>
+
+<p>&nbsp;</p>
+
+<p><img src="image94.gif" width="626px" height="471px" border="0" class="img_whs3"></p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<h3>Application of pattern mapping</h3>
+
+<p class=TODO>To apply pattern mapping to a geometrical object:</p>
+
+<p class=TODO>&nbsp;</p>
+
+<p class="whs2">1. From the <span style="font-weight: bold;"><B>Modification 
+ </B></span>menu choose the <span style="font-weight: bold;"><B>Pattern Mapping 
+ </B></span>item or click <img src="image98.gif" width="22px" height="28px" border="0" class="img_whs4"> button in the toolbar. The following 
+ dialog box shall appear:</p>
+
+<p class="whs2">&nbsp;</p>
+
+<table x-use-null-cells cellspacing="0" width="64.066%" class="whs5">
+<col class="whs6">
+<col class="whs7">
+
+<tr valign="top" class="whs8">
+<td width="56.089%" class="whs9">
+<p class="whs10"><img src="pics/patternmapping1.png" x-maintain-ratio="TRUE" width="306px" height="632px" border="0" class="img_whs11"></td>
+<td width="43.911%" class="whs12">
+<p><img src="pics/patternmapping2.png" x-maintain-ratio="TRUE" width="306px" height="670px" border="0" class="img_whs13"></td></tr>
+</table>
+
+<p class="whs2">&nbsp;</p>
+
+<p>To apply a pattern to a geometrical object, you should specify:</p>
+
+<p class="whs2">- a face having the number of vertices equal 
+ to the number of key-points in the pattern; the number of key-points on 
+ internal boundaries of a pattern must also be equal to the number of vertices 
+ on internal boundaries of a face;</p>
+
+<p class="whs2">- a vertex to which the first key-point should 
+ be mapped,</p>
+
+<p class="whs2">- reverse or not the order of key-points. 
+ (The order of vertices of a face is counterclockwise looking from outside).</p>
+
+<p>&nbsp;</p>
+
+<p>Then you either load a .smp pattern file previously created manually 
+ by clicking on the <img src="image108.gif" width="34px" height="34px" border="0" class="img_whs14"> button, or click on the <span style="font-weight: bold;"><B>New</B></span> 
+ button for automatic generation.</p>
+
+<p>For an automatic generation you just specify a geometrical face having 
+ a mesh built on it. Mesh nodes lying on face vertices become key-points. 
+ Additionally, you may choose the way of getting nodes coordinates by <span 
+ style="font-weight: bold;"><B>projecting nodes on the face</B></span> instead 
+ of using &quot;positions on face&quot; generated by mesher (if there is 
+ any). Faces having a seam edge can\92t be used for automatic pattern creation.</p>
+
+<p>&nbsp;</p>
+
+<p>When creating a pattern from an existing mesh, there are two possible 
+ cases:</p>
+
+<p>&nbsp;</p>
+
+<p>1. A sub-mesh on face is selected. A pattern is created from the 2d 
+ elements bound to a face by mesher. Node coordinates are either &quot;positions 
+ on face&quot; computed by mesher, or coordinates got by node projection 
+ on a geometrical surface, according to your choice.</p>
+
+<p>2. A mesh where the main shape is a face, is selected. A pattern is 
+ created from all the 2d elements in a mesh. If all mesh elements are build 
+ by mesher, the user can select the way of getting nodes coordinates, else 
+ all nodes are projected on a face surface.</p>
+
+<table x-use-null-cells cellspacing="0" width="68.686%" class="whs15">
+<col class="whs16">
+<col class="whs17">
+
+<tr valign="top" class="whs8">
+<td width="50.224%" class="whs18">
+<p><img src="pics/a-patterntype.png" x-maintain-ratio="TRUE" width="306px" height="428px" border="0" class="img_whs19"></td>
+<td width="49.776%" class="whs20">
+<p><img src="pics/a-patterntype1.png" x-maintain-ratio="TRUE" width="306px" height="248px" border="0" class="img_whs21"></td></tr>
+</table>
+
+<p>&nbsp;</p>
+
+<h3>Mapping algorithm:</h3>
+
+<p class="whs22">The mapping algorithm is as follows:</p>
+
+<p class="whs22">&nbsp;</p>
+
+<p class="whs2">1. Key-points are set in the order that they 
+ are encountered when walking along a pattern boundary so that elements 
+ are on the left. The first key-point is preserved.</p>
+
+<p class="whs2">2. Find geometrical vertices corresponding 
+ to key-points by vertices order in a face boundary; here, &quot;Reverse 
+ order of key-points&quot; flag is taken into account.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="image95.gif" width="554px" height="279px" border="0" class="img_whs23"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">3. Boundary nodes of a pattern are mapped 
+ onto edges of a face: a node located between certain key-points on a pattern 
+ boundary is mapped on a geometrical edge limited by corresponding geometrical 
+ vertices. Node position on an edge reflects its distance from two key-points.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="image96.gif" width="572px" height="233px" border="0" class="img_whs24"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2">4. Coordinates of a non-boundary node in 
+ a parametric space of a face are defined as following. In a parametric 
+ space of a pattern, a node lays at the intersection of two iso-lines, 
+ each of which intersects a pattern boundary at least at two points. Knowing 
+ mapped positions of boundary nodes, we find where isoline-boundary intersection 
+ points are mapped to, and hence we can find mapped isolines direction 
+ and then, two node positions on two mapped isolines. The eventual mapped 
+ position of a node is found as an average of positions on mapped isolines.</p>
+
+<p class="whs2">&nbsp;</p>
+
+<p class="whs2"><img src="image97.gif" width="606px" height="249px" border="0" class="img_whs25"></p>
+
+<p class="whs2">&nbsp;</p>
+
+<p>&nbsp;<span style="font-weight: bold;"><B>See 
+ Also</B></span> a sample TUI Script of a <a href="modifying_meshes.htm#bookmark13">Pattern 
+ Mapping</a><a href="modifying_meshes.htm#bookmark11"> </a>operation. &nbsp;</p>
+
+<p>&nbsp;</p>
+
+<script type="text/javascript" language="javascript1.2">
+<!--
+if (window.writeIntopicBar)
+       writeIntopicBar(0);
+//-->
+</script>
+</body>
+</html>