Salome HOME
PAL 14158 Add the Octree and OctreeNode classes to accelerate detection of close...
[modules/smesh.git] / doc / salome / gui / SMESH / viewing_meshes.htm
1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
2 \r
3 <html>\r
4 \r
5 <head>\r
6 <title>Viewing Meshes</title>\r
7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
9 <!--\r
10 p.whs1 { font-family:'Lucida Console' , monospace; margin-top:0pt; margin-bottom:0pt; }\r
11 p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
12 -->\r
13 </style><script type="text/javascript" language="JavaScript">\r
14 <!--\r
15 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
16 {\r
17   var strNSS = "<style type='text/css'>";\r
18   strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
19   strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
20   strNSS +="</style>";\r
21   document.write(strNSS);\r
22 }\r
23 //-->\r
24 </script>\r
25 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
26 <!--\r
27 function reDo() {\r
28   if (innerWidth != origWidth || innerHeight != origHeight)\r
29      location.reload();\r
30 }\r
31 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
32         origWidth = innerWidth;\r
33         origHeight = innerHeight;\r
34         onresize = reDo;\r
35 }\r
36 onerror = null; \r
37 //-->\r
38 </script>\r
39 <style type="text/css">\r
40 <!--\r
41 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
42 p.WebHelpNavBar { text-align:right; }\r
43 -->\r
44 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
45 <script type="text/javascript" language="javascript" src="whver.js"></script>\r
46 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
47 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
48 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
49 <script type="text/javascript" language="javascript1.2">\r
50 <!--\r
51 if (window.gbWhTopic)\r
52 {\r
53         if (window.setRelStartPage)\r
54         {\r
55         addTocInfo("MESH module\nTUI Scripts\nViewing Meshes");\r
56 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
57 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
58 \r
59         }\r
60 \r
61 \r
62         if (window.setRelStartPage)\r
63         {\r
64         setRelStartPage("index.htm");\r
65 \r
66                 autoSync(1);\r
67                 sendSyncInfo();\r
68                 sendAveInfoOut();\r
69         }\r
70 \r
71 }\r
72 else\r
73         if (window.gbIE4)\r
74                 document.location.reload();\r
75 //-->\r
76 </script>\r
77 </head>\r
78 <body><script type="text/javascript" language="javascript1.2">\r
79 <!--\r
80 if (window.writeIntopicBar)\r
81         writeIntopicBar(4);\r
82 //-->\r
83 </script>\r
84 <h1>Viewing Meshes</h1>\r
85 \r
86 <h3>Viewing Mesh Infos</h3>\r
87 \r
88 <p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
89 <br>&nbsp;\r
90 \r
91 <p class="whs1">import salome</p>\r
92 \r
93 <p class="whs1">import geompy</p>\r
94 \r
95 <p class="whs1">import SMESH</p>\r
96 \r
97 <p class="whs1">import StdMeshers</p>\r
98 \r
99 <p class="whs1">&nbsp;</p>\r
100 \r
101 <p class="whs1">smesh = salome.lcc.FindOrLoadComponent(&quot;FactoryServer&quot;, \r
102  &quot;SMESH&quot;)</p>\r
103 \r
104 <p class="whs1">smesh.SetCurrentStudy(salome.myStudy)</p>\r
105 \r
106 <p class="whs1">&nbsp;</p>\r
107 \r
108 <p class="whs1">box &nbsp;&nbsp;= \r
109  geompy.MakeBox(0., 0., 0., 20., 20., 20.)</p>\r
110 \r
111 <p class="whs1">idbox = geompy.addToStudy(box, &quot;box&quot;)</p>\r
112 \r
113 <p class="whs1">&nbsp;</p>\r
114 \r
115 <p class="whs1">subShapeList = geompy.SubShapeAll(box, \r
116  geompy.ShapeType[&quot;EDGE&quot;])</p>\r
117 \r
118 <p class="whs1">edge &nbsp;&nbsp;= \r
119  subShapeList[0]</p>\r
120 \r
121 <p class="whs1">name &nbsp;&nbsp;= \r
122  geompy.SubShapeName(edge, box)</p>\r
123 \r
124 <p class="whs1">idedge = geompy.addToStudyInFather(box, \r
125  edge, name)</p>\r
126 \r
127 <p class="whs1">&nbsp;</p>\r
128 \r
129 <p class="whs1">box &nbsp;= \r
130  salome.IDToObject(idbox)</p>\r
131 \r
132 <p class="whs1">edge = salome.IDToObject(idedge)</p>\r
133 \r
134 <p class="whs1">&nbsp;</p>\r
135 \r
136 <p class="whs1">hyp1 = smesh.CreateHypothesis(&quot;NumberOfSegments&quot;, \r
137  &quot;libStdMeshersEngine.so&quot;)</p>\r
138 \r
139 <p class="whs1">hyp1.SetNumberOfSegments(3)</p>\r
140 \r
141 <p class="whs1">hyp2 = smesh.CreateHypothesis(&quot;MaxElementArea&quot;, \r
142  &quot;libStdMeshersEngine.so&quot;)</p>\r
143 \r
144 <p class="whs1">hyp2.SetMaxElementArea(10)</p>\r
145 \r
146 <p class="whs1">hyp3 = smesh.CreateHypothesis(&quot;Arithmetic1D&quot;, \r
147  &quot;libStdMeshersEngine.so&quot;)</p>\r
148 \r
149 <p class="whs1">hyp3.SetLength(1,1)</p>\r
150 \r
151 <p class="whs1">hyp3.SetLength(6,0)</p>\r
152 \r
153 <p class="whs1">hyp4 = smesh.CreateHypothesis(&quot;Propagation&quot;, \r
154  &quot;libStdMeshersEngine.so&quot;)</p>\r
155 \r
156 <p class="whs1">&nbsp;</p>\r
157 \r
158 <p class="whs1">algo1 = smesh.CreateHypothesis(&quot;Regular_1D&quot;, \r
159  &quot;libStdMeshersEngine.so&quot;)</p>\r
160 \r
161 <p class="whs1">algo2 = smesh.CreateHypothesis(&quot;MEFISTO_2D&quot;, \r
162  &quot;libStdMeshersEngine.so&quot;)</p>\r
163 \r
164 <p class="whs1">mesh = smesh.CreateMesh(box)</p>\r
165 \r
166 <p class="whs1">&nbsp;</p>\r
167 \r
168 <p class="whs1">mesh.AddHypothesis(box,hyp1)</p>\r
169 \r
170 <p class="whs1">mesh.AddHypothesis(box,hyp2)</p>\r
171 \r
172 <p class="whs1">mesh.AddHypothesis(box,algo1)</p>\r
173 \r
174 <p class="whs1">mesh.AddHypothesis(box,algo2)</p>\r
175 \r
176 <p class="whs1">mesh.AddHypothesis(edge,hyp3)</p>\r
177 \r
178 <p class="whs1">mesh.AddHypothesis(edge,hyp4)</p>\r
179 \r
180 <p class="whs1">mesh.AddHypothesis(edge,algo1)</p>\r
181 \r
182 <p class="whs1">smesh.Compute(mesh,box)</p>\r
183 \r
184 <p class="whs1">salome.sg.updateObjBrowser(1)</p>\r
185 \r
186 <p class="whs1">&nbsp;</p>\r
187 \r
188 <p class="whs2"># remove one hypothesis</p>\r
189 \r
190 <p class="whs1">mesh.RemoveHypothesis(edge,hyp4)</p>\r
191 \r
192 <p class="whs1">smesh.Compute(mesh,box)</p>\r
193 \r
194 <p class="whs1">salome.sg.updateObjBrowser(1)</p>\r
195 \r
196 <p class="whs1">&nbsp;</p>\r
197 \r
198 <p class="whs2"># change the value \r
199  of the hypothesis</p>\r
200 \r
201 <p class="whs1">hyp2.SetMaxElementArea(2)</p>\r
202 \r
203 <p class="whs1">mesh.AddHypothesis(box,hyp2)</p>\r
204 \r
205 <p class="whs1">smesh.Compute(mesh,box)</p>\r
206 \r
207 <p class="whs1">print &quot;Information about mesh:&quot;</p>\r
208 \r
209 <p class="whs1">print &quot;Number of nodes &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
210  &quot;, mesh.NbNodes()</p>\r
211 \r
212 <p class="whs1">print &quot;Number of edges &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
213  &quot;, mesh.NbEdges()</p>\r
214 \r
215 <p class="whs1">print &quot;Number of faces &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
216  &quot;, mesh.NbFaces()</p>\r
217 \r
218 <p class="whs1">print &quot;Number of triangles &nbsp;&nbsp;: \r
219  &quot;, mesh.NbTriangles()</p>\r
220 \r
221 <p class="whs1">print &quot;Number of quadrangles : &quot;, \r
222  mesh.NbQuadrangles()</p>\r
223 \r
224 <p class="whs1">print &quot;Number of polygons &nbsp;&nbsp;&nbsp;: \r
225  &quot;, mesh.NbPolygons()</p>\r
226 \r
227 <p class="whs1">print &quot;Number of volumes &nbsp;&nbsp;&nbsp;&nbsp;: \r
228  &quot;, mesh.NbVolumes()</p>\r
229 \r
230 <p class="whs1">print &quot;Number of tetrahedrons: &quot;, \r
231  mesh.NbTetras()</p>\r
232 \r
233 <p class="whs1">print &quot;Number of hexahedrons : &quot;, \r
234  mesh.NbHexas()</p>\r
235 \r
236 <p class="whs1">print &quot;Number of prisms &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
237  &quot;, mesh.NbPrisms()</p>\r
238 \r
239 <p class="whs1">print &quot;Number of pyramids &nbsp;&nbsp;&nbsp;: \r
240  &quot;, mesh.NbPyramids()</p>\r
241 \r
242 <p class="whs1">print &quot;Number of polyhedrons : &quot;, \r
243  mesh.NbPolyhedrons()</p>\r
244 \r
245 <p class="whs1">salome.sg.updateObjBrowser(1) </p>\r
246 \r
247 <p class="whs1">&nbsp;</p>\r
248 \r
249 <script type="text/javascript" language="javascript1.2">\r
250 <!--\r
251 if (window.writeIntopicBar)\r
252         writeIntopicBar(0);\r
253 //-->\r
254 </script>\r
255 </body>\r
256 </html>\r