Salome HOME
Join modifications from branch OCC_debug_for_3_2_0b1
[modules/smesh.git] / doc / salome / gui / SMESH / quality_controls.htm
index 9b7239010b58653a77c25cfe8b0c5202ce6868e4..0e7907bb7e48d20917fc13c442cc58063634643e 100755 (executable)
@@ -574,13 +574,11 @@ else
 \r
 <p class="whs1">aFilterMgr = smesh.CreateFilterManager()</p>\r
 \r
-<p class="whs2">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
 <p class="whs2"># Criterion : AREA &gt; \r
  30</p>\r
 \r
-<p class="whs2">&nbsp;</p>\r
-\r
 <p class="whs1">aFunctor = aFilterMgr.CreateArea()</p>\r
 \r
 <p class="whs1">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
@@ -589,7 +587,7 @@ else
  aFunctor )</p>\r
 \r
 <p class="whs1">aPredicate.SetMargin( \r
30 )</p>\r
95 )</p>\r
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
@@ -609,44 +607,58 @@ else
 \r
 <p class="whs2">&nbsp;</p>\r
 \r
-<p class="whs2"># Criterion : FREE EDGES</p>\r
+<p class="whs2"># Criterion : Free Edges</p>\r
 \r
 <p class="whs2">&nbsp;</p>\r
 \r
 <p class="whs1">aPredicate = aFilterMgr.CreateFreeEdges()</p>\r
 \r
-<p class="whs1">aFilter = aFilterMgr.CreateFilter()</p>\r
+<p class="whs1">aPredicate.SetMesh( \r
+ mesh )</p>\r
 \r
-<p class="whs1">aFilter.SetPredicate( \r
- aPredicate )</p>\r
+<p class="whs1">aBorders = aPredicate.GetBorders()</p>\r
 \r
-<p class="whs1">&nbsp;</p>\r
+<p class="whs2">&nbsp;</p>\r
 \r
-<p class="whs1">anIds = aFilter.GetElementsId( \r
- mesh )</p>\r
+<p class="whs2"># create groups</p>\r
+\r
+<p class="whs1">aGroupF = mesh.CreateGroup( \r
+ SMESH.FACE, &quot;Faces with free edges&quot; )</p>\r
+\r
+<p class="whs1">aGroupN = mesh.CreateGroup( \r
+ SMESH.NODE, &quot;Nodes on free edges&quot; )</p>\r
 \r
 <p class="whs2">&nbsp;</p>\r
 \r
-<p class="whs2"># print the result</p>\r
+<p class="whs2"># fill groups with elements, \r
+ corresponding to the criterion</p>\r
+\r
+<p class="whs1">print &quot;&quot;</p>\r
 \r
 <p class="whs1">print &quot;Criterion: \r
- Free edges Nb = &quot;, len( anIds )</p>\r
+ Free edges Nb = &quot;, len( aBorders )</p>\r
 \r
 <p class="whs1">for i in range( \r
- len( anIds ) ):</p>\r
+ len( aBorders ) ):</p>\r
+\r
+<p class="whs1">&nbsp;&nbsp;aBorder \r
+ = aBorders[ i ]</p>\r
 \r
 <p class="whs1">&nbsp;&nbsp;print \r
anIds[ i ]</p>\r
&quot;Face # &quot;, aBorder.myElemId, &quot; : Edge between nodes (&quot;,</p>\r
 \r
-<p class="whs2">&nbsp;</p>\r
+<p class="whs1">&nbsp;&nbsp;print \r
+ aBorder.myPnt1, &quot;, &quot;, aBorder.myPnt2, &quot;)&quot;</p>\r
 \r
-<p class="whs2"># create a group</p>\r
+<p class="whs1">&nbsp;&nbsp;</p>\r
 \r
-<p class="whs1">aGroup = mesh.CreateGroup\r
SMESH.EDGE, &quot;Free edges&quot; )</p>\r
+<p class="whs1">&nbsp;&nbsp;aGroupF.Add\r
[aBorder.myElemId] )</p>\r
 \r
-<p class="whs1">aGroup.Add( anIds \r
- )</p>\r
+<p class="whs1">&nbsp;&nbsp;aGroupN.Add( \r
+ [aBorder.myPnt1, aBorder.myPnt2] )</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
 \r
 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
  </p>\r
@@ -1523,6 +1535,87 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
+<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
+ </p>\r
+\r
+<p class="whs2">&nbsp;</p>\r
+\r
+<h3><a name=Volume>Volume</a></h3>\r
+\r
+<p class="whs1">import SMESH</p>\r
+\r
+<p class="whs1">import SMESH_mechanic_tetra</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1">smesh &nbsp;= \r
+ SMESH_mechanic_tetra.smesh</p>\r
+\r
+<p class="whs1">mesh &nbsp;&nbsp;= \r
+ SMESH_mechanic_tetra.mesh</p>\r
+\r
+<p class="whs1">salome = SMESH_mechanic_tetra.salome</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1">aFilterMgr = smesh.CreateFilterManager()</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs2"># Criterion : VOLUME &lt; \r
+ 7</p>\r
+\r
+<p class="whs2">&nbsp;</p>\r
+\r
+<p class="whs1">aFunctor = aFilterMgr.CreateVolume3D()</p>\r
+\r
+<p class="whs1">aPredicate = aFilterMgr.CreateLessThan()</p>\r
+\r
+<p class="whs1">aPredicate.SetNumFunctor( \r
+ aFunctor )</p>\r
+\r
+<p class="whs1">aPredicate.SetMargin( \r
+ 7 )</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1">aFilter = aFilterMgr.CreateFilter()</p>\r
+\r
+<p class="whs1">aFilter.SetPredicate( \r
+ aPredicate )</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1">anIds = aFilter.GetElementsId( \r
+ mesh )</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs2"># print the result</p>\r
+\r
+<p class="whs1">print &quot;&quot;</p>\r
+\r
+<p class="whs1">print &quot;Criterion: \r
+ Volume &lt; 7 Nb = &quot;, len( anIds )</p>\r
+\r
+<p class="whs1">for i in range( \r
+ len( anIds ) ):</p>\r
+\r
+<p class="whs1">&nbsp;&nbsp;print \r
+ anIds[ i ]</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs2"># create a group</p>\r
+\r
+<p class="whs1">aGroup = mesh.CreateGroup( \r
+ SMESH.VOLUME, &quot;Volume &lt; 7&quot; )</p>\r
+\r
+<p class="whs1">aGroup.Add( anIds \r
+ )</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
  </p>\r
 \r