Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > 4c90149fad9f5e93922c0d572d139862 > files > 783

libsmesh-devel-6.7.6-2.mga7.armv7hl.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SALOME - SMESH: SMESH_Block.hxx Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SALOME - SMESH
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('SMESH__Block_8hxx_source.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">SMESH_Block.hxx</div>  </div>
</div><!--header-->
<div class="contents">
<a href="SMESH__Block_8hxx.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//  Copyright (C) 2007-2008  CEA/DEN, EDF R&amp;D, OPEN CASCADE</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//  CEDRAT, EDF R&amp;D, LEG, PRINCIPIA R&amp;D, BUREAU VERITAS</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//  This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">//  modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//  License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//  version 2.1 of the License.</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//  This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//  but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//  Lesser General Public License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">//  You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">//  License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// File      : SMESH_Block.hxx</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// Created   : Tue Nov 30 12:42:18 2004</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">// Author    : Edward AGAPOV (eap)</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef SMESH_Block_HeaderFile</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#define SMESH_Block_HeaderFile</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SMESH__SMESH_8hxx.html">SMESH_SMESH.hxx</a>&quot;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">//#include &lt;Geom2d_Curve.hxx&gt;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">//#include &lt;Geom_Curve.hxx&gt;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment">//#include &lt;Geom_Surface.hxx&gt;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &lt;TopExp.hxx&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#include &lt;TopTools_IndexedMapOfOrientedShape.hxx&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#include &lt;TopoDS_Edge.hxx&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#include &lt;TopoDS_Face.hxx&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &lt;TopoDS_Shell.hxx&gt;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;TopoDS_Vertex.hxx&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;gp_XY.hxx&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;gp_XYZ.hxx&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;math_FunctionSetWithDerivatives.hxx&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;ostream&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">class </span><a class="code" href="classSMDS__MeshVolume.html">SMDS_MeshVolume</a>;</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">class </span><a class="code" href="classSMDS__MeshNode.html">SMDS_MeshNode</a>;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="keyword">class </span><a class="code" href="classAdaptor3d__Surface.html">Adaptor3d_Surface</a>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">class </span><a class="code" href="classAdaptor2d__Curve2d.html">Adaptor2d_Curve2d</a>;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">class </span><a class="code" href="classAdaptor3d__Curve.html">Adaptor3d_Curve</a>;</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="keyword">class </span>gp_Pnt;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="comment">// =========================================================</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="comment">// class calculating coordinates of 3D points by normalized</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="comment">// parameters inside the block and vice versa</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="comment">// =========================================================</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSMESH__Block.html">   61</a></span>&#160;<span class="keyword">class </span><a class="code" href="SMESH__SMESH_8hxx.html#ac3bda889c3f636f954deab36bb6d384d">SMESH_EXPORT</a> <a class="code" href="classSMESH__Block.html">SMESH_Block</a>: <span class="keyword">public</span> <a class="code" href="classmath__FunctionSetWithDerivatives.html">math_FunctionSetWithDerivatives</a></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;{</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926">   64</a></span>&#160;  <span class="keyword">enum</span> <a class="code" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926">TShapeID</a> {</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="comment">// ----------------------------</span></div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="comment">// Ids of the block sub-shapes</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="comment">// ----------------------------</span></div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926ab5ca0060aa8838ac112e56665e789ce5">   68</a></span>&#160;    ID_NONE = 0,</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926aac27cf769dcb2d0ed34f2c8e259e28db">   70</a></span>&#160;    ID_V000 = 1, ID_V100, ID_V010, ID_V110, ID_V001, ID_V101, ID_V011, <a class="code" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926aac27cf769dcb2d0ed34f2c8e259e28db">ID_V111</a>,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926aba758f6ce6f8e461dc5c3d6f359ae556">   72</a></span>&#160;    ID_Ex00, ID_Ex10, ID_Ex01, <a class="code" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926aba758f6ce6f8e461dc5c3d6f359ae556">ID_Ex11</a>,</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926ae5e937a86309b591ab8bef9934093543">   73</a></span>&#160;    ID_E0y0, ID_E1y0, ID_E0y1, <a class="code" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926ae5e937a86309b591ab8bef9934093543">ID_E1y1</a>,</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926addb6a3fd529733fd8894397d2cb93f10">   74</a></span>&#160;    ID_E00z, ID_E10z, ID_E01z, <a class="code" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926addb6a3fd529733fd8894397d2cb93f10">ID_E11z</a>,</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926a1f2bee7366fbb8df1d304388ee087063">   76</a></span>&#160;    ID_Fxy0, <a class="code" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926a1f2bee7366fbb8df1d304388ee087063">ID_Fxy1</a>, ID_Fx0z, ID_Fx1z, ID_F0yz, ID_F1yz,</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926abe2727c12be0a2b8a631b1e4cfa97db1">   78</a></span>&#160;    ID_Shell</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    };</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  <span class="keyword">enum</span> { <span class="comment">// to use TShapeID for indexing certain type subshapes</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a464e5b56e82aaf83005cf4b5e40c2ecaa15ece94b2300111749c7076f71affbcc">   82</a></span>&#160;    ID_FirstV = ID_V000, ID_FirstE = ID_Ex00, ID_FirstF = ID_Fxy0</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  };</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <span class="comment">// -------------------------------------------------</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;  <span class="comment">// Block topology in terms of block sub-shapes&#39; ids</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <span class="comment">// -------------------------------------------------</span></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a5cf9f40d1e8f5ae2139844cea243a202">   92</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block.html#a5cf9f40d1e8f5ae2139844cea243a202">NbVertices</a>()  { <span class="keywordflow">return</span>  8; }</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a18fea601f58b73c68839f0eeacf26cf1">   93</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block.html#a18fea601f58b73c68839f0eeacf26cf1">NbEdges</a>()     { <span class="keywordflow">return</span> 12; }</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#adc763d518021edb9ac8562b53fefbf47">   94</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block.html#adc763d518021edb9ac8562b53fefbf47">NbFaces</a>()     { <span class="keywordflow">return</span>  6; }</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a97d8ef5b7c1e24b234ca6690e83e701b">   95</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block.html#a97d8ef5b7c1e24b234ca6690e83e701b">NbSubShapes</a>() { <span class="keywordflow">return</span> ID_Shell; }</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <span class="comment">// to avoid magic numbers when allocating memory for subshapes</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a472de5c0c1b22c63ef438db514d5d6f6">   98</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#a472de5c0c1b22c63ef438db514d5d6f6">IsVertexID</a>( <span class="keywordtype">int</span> theShapeID )</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  { <span class="keywordflow">return</span> ( theShapeID &gt;= ID_V000 &amp;&amp; theShapeID &lt;= ID_V111 ); }</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#ad159fe7361d1b8c9e3062461a839b9af">  101</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#ad159fe7361d1b8c9e3062461a839b9af">IsEdgeID</a>( <span class="keywordtype">int</span> theShapeID )</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  { <span class="keywordflow">return</span> ( theShapeID &gt;= ID_Ex00 &amp;&amp; theShapeID &lt;= ID_E11z ); }</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aa3aeb47e1186f92adee2317a8936d60c">  104</a></span>&#160;  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#aa3aeb47e1186f92adee2317a8936d60c">IsFaceID</a>( <span class="keywordtype">int</span> theShapeID )</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  { <span class="keywordflow">return</span> ( theShapeID &gt;= ID_Fxy0 &amp;&amp; theShapeID &lt;= ID_F1yz ); }</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a984f8c8ff3123a0e4323c64d73b39776">  107</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block.html#a984f8c8ff3123a0e4323c64d73b39776">ShapeIndex</a>( <span class="keywordtype">int</span> theShapeID )</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;  {</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <span class="keywordflow">if</span> ( IsVertexID( theShapeID )) <span class="keywordflow">return</span> theShapeID - ID_V000;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <span class="keywordflow">if</span> ( IsEdgeID( theShapeID ))   <span class="keywordflow">return</span> theShapeID - ID_Ex00;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordflow">if</span> ( IsFaceID( theShapeID ))   <span class="keywordflow">return</span> theShapeID - ID_Fxy0;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;  }</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <span class="comment">// return index [0-...] for each type of sub-shapes,</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;  <span class="comment">// for example :</span></div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <span class="comment">// ShapeIndex( ID_Ex00 ) == 0</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;  <span class="comment">// ShapeIndex( ID_Ex10 ) == 1</span></div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> GetFaceEdgesIDs (<span class="keyword">const</span> <span class="keywordtype">int</span> faceID, std::vector&lt; int &gt;&amp; edgeVec );</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <span class="comment">// return edges IDs of a face in the order u0, u1, 0v, 1v</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> GetEdgeVertexIDs (<span class="keyword">const</span> <span class="keywordtype">int</span> edgeID, std::vector&lt; int &gt;&amp; vertexVec );</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;  <span class="comment">// return vertex IDs of an edge</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a68c6441661fb01529a423fbbd5b16184">  125</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block.html#a68c6441661fb01529a423fbbd5b16184">GetCoordIndOnEdge</a> (<span class="keyword">const</span> <span class="keywordtype">int</span> theEdgeID)</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;  { <span class="keywordflow">return</span> (theEdgeID &lt; ID_E0y0) ? 1 : (theEdgeID &lt; ID_E00z) ? 2 : 3; }</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  <span class="comment">// return an index of a coordinate which varies along the edge</span></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">double</span>* GetShapeCoef (<span class="keyword">const</span> <span class="keywordtype">int</span> theShapeID);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;  <span class="comment">// for theShapeID( TShapeID ), returns 3 coefficients used</span></div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;  <span class="comment">// to compute an addition of an on-theShape point to coordinates</span></div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;  <span class="comment">// of an in-shell point. If an in-shell point has parameters (Px,Py,Pz),</span></div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;  <span class="comment">// then the addition of a point P is computed as P*kx*ky*kz and ki is</span></div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;  <span class="comment">// defined by the returned coef like this:</span></div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;  <span class="comment">// ki = (coef[i] == 0) ? 1 : (coef[i] &lt; 0) ? 1 - Pi : Pi</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> GetShapeIDByParams ( <span class="keyword">const</span> gp_XYZ&amp; theParams );</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="comment">// define an id of the block sub-shape by point parameters</span></div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;  <span class="keyword">static</span> std::ostream&amp; DumpShapeID (<span class="keyword">const</span> <span class="keywordtype">int</span> theBlockShapeID, std::ostream&amp; stream);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;  <span class="comment">// DEBUG: dump an id of a block sub-shape</span></div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;  <span class="comment">// ---------------</span></div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;  <span class="comment">// Initialization</span></div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="comment">// ---------------</span></div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <a class="code" href="classSMESH__Block.html">SMESH_Block</a>();</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <span class="keywordtype">bool</span> LoadBlockShapes(<span class="keyword">const</span> TopoDS_Shell&amp;         theShell,</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;                       <span class="keyword">const</span> TopoDS_Vertex&amp;        theVertex000,</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;                       <span class="keyword">const</span> TopoDS_Vertex&amp;        theVertex001,</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;                       TopTools_IndexedMapOfOrientedShape&amp; theShapeIDMap );</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <span class="comment">// Initialize block geometry with theShell,</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <span class="comment">// add sub-shapes of theBlock to theShapeIDMap so that they get</span></div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="comment">// IDs acoording to enum TShapeID</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keywordtype">bool</span> LoadBlockShapes(<span class="keyword">const</span> TopTools_IndexedMapOfOrientedShape&amp; theShapeIDMap);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="comment">// Initialize block geometry with shapes from theShapeIDMap</span></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordtype">bool</span> LoadMeshBlock(<span class="keyword">const</span> <a class="code" href="classSMDS__MeshVolume.html">SMDS_MeshVolume</a>*        theVolume,</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">int</span>                     theNode000Index,</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">int</span>                     theNode001Index,</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                     std::vector&lt;const SMDS_MeshNode*&gt;&amp; theOrderedNodes);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  <span class="comment">// prepare to work with theVolume and</span></div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;  <span class="comment">// return nodes in theVolume corners in the order of TShapeID enum</span></div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  <span class="keywordtype">bool</span> LoadFace(<span class="keyword">const</span> TopoDS_Face&amp; theFace,</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                <span class="keyword">const</span> <span class="keywordtype">int</span>          theFaceID,</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                <span class="keyword">const</span> TopTools_IndexedMapOfOrientedShape&amp; theShapeIDMap);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;  <span class="comment">// Load face geometry.</span></div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="comment">// It is enough to compute params or coordinates on the face.</span></div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;  <span class="comment">// Face subshapes must be loaded into theShapeIDMap before</span></div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> Insert(<span class="keyword">const</span> TopoDS_Shape&amp; theShape,</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">int</span>           theShapeID,</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;                     TopTools_IndexedMapOfOrientedShape&amp; theShapeIDMap);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;  <span class="comment">// Insert theShape into theShapeIDMap with theShapeID,</span></div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;  <span class="comment">// Not yet set shapes preceding theShapeID are filled with compounds</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  <span class="comment">// Return true if theShape was successfully bound to theShapeID</span></div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> FindBlockShapes(<span class="keyword">const</span> TopoDS_Shell&amp;         theShell,</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                              <span class="keyword">const</span> TopoDS_Vertex&amp;        theVertex000,</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;                              <span class="keyword">const</span> TopoDS_Vertex&amp;        theVertex001,</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;                              TopTools_IndexedMapOfOrientedShape&amp; theShapeIDMap );</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="comment">// add sub-shapes of theBlock to theShapeIDMap so that they get</span></div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;  <span class="comment">// IDs acoording to enum TShapeID</span></div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <span class="comment">// ---------------------------------</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;  <span class="comment">// Define coordinates by parameters</span></div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="comment">// ---------------------------------</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a968f1d3345cf52c6640007227abb9d66">  195</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#a968f1d3345cf52c6640007227abb9d66">VertexPoint</a>( <span class="keyword">const</span> <span class="keywordtype">int</span> theVertexID, gp_XYZ&amp; thePoint )<span class="keyword"> const </span>{</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordflow">if</span> ( !IsVertexID( theVertexID ))           <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    thePoint = myPnt[ theVertexID - ID_FirstV ]; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  }</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="comment">// return vertex coordinates, parameters are defined by theVertexID</span></div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#ae7b8b9fc4a329db9eab90ca804db6f90">  201</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#ae7b8b9fc4a329db9eab90ca804db6f90">EdgePoint</a>( <span class="keyword">const</span> <span class="keywordtype">int</span> theEdgeID, <span class="keyword">const</span> gp_XYZ&amp; theParams, gp_XYZ&amp; thePoint )<span class="keyword"> const </span>{</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    <span class="keywordflow">if</span> ( !IsEdgeID( theEdgeID ))                                 <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;    thePoint = myEdge[ theEdgeID - ID_FirstE ].Point( theParams ); <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <span class="comment">// return coordinates of a point on edge</span></div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a8200bd325a9f9651908c90db57c34832">  207</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#a8200bd325a9f9651908c90db57c34832">EdgeU</a>( <span class="keyword">const</span> <span class="keywordtype">int</span> theEdgeID, <span class="keyword">const</span> gp_XYZ&amp; theParams, <span class="keywordtype">double</span>&amp; theU )<span class="keyword"> const </span>{</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    <span class="keywordflow">if</span> ( !IsEdgeID( theEdgeID ))                              <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;    theU = myEdge[ theEdgeID - ID_FirstE ].GetU( theParams ); <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  }</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  <span class="comment">// return parameter on edge by in-block parameters</span></div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a8ad68f9901bcbc0940e455c83fd7568c">  213</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#a8ad68f9901bcbc0940e455c83fd7568c">FacePoint</a>( <span class="keyword">const</span> <span class="keywordtype">int</span> theFaceID, <span class="keyword">const</span> gp_XYZ&amp; theParams, gp_XYZ&amp; thePoint )<span class="keyword"> const </span>{</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keywordflow">if</span> ( !IsFaceID ( theFaceID ))                                <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    thePoint = myFace[ theFaceID - ID_FirstF ].Point( theParams ); <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  }</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  <span class="comment">// return coordinates of a point on face</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a06959a67e8c3599369360c7574396be5">  219</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#a06959a67e8c3599369360c7574396be5">FaceUV</a>( <span class="keyword">const</span> <span class="keywordtype">int</span> theFaceID, <span class="keyword">const</span> gp_XYZ&amp; theParams, gp_XY&amp; theUV )<span class="keyword"> const </span>{</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    <span class="keywordflow">if</span> ( !IsFaceID ( theFaceID ))                               <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    theUV = myFace[ theFaceID - ID_FirstF ].GetUV( theParams ); <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  }</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="comment">// return UV coordinates on a face by in-block parameters</span></div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  <span class="keywordtype">bool</span> ShellPoint( <span class="keyword">const</span> gp_XYZ&amp; theParams, gp_XYZ&amp; thePoint ) <span class="keyword">const</span>;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="comment">// return coordinates of a point in shell</span></div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> ShellPoint(<span class="keyword">const</span> gp_XYZ&amp;         theParams,</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;                         <span class="keyword">const</span> std::vector&lt;gp_XYZ&gt;&amp; thePointOnShape,</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;                         gp_XYZ&amp;               thePoint );</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;  <span class="comment">// computes coordinates of a point in shell by points on sub-shapes</span></div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <span class="comment">// and point parameters.</span></div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  <span class="comment">// thePointOnShape[ subShapeID ] must be a point on a subShape;</span></div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  <span class="comment">// thePointOnShape.size() == ID_Shell, thePointOnShape[0] not used</span></div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;  <span class="comment">// ---------------------------------</span></div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;  <span class="comment">// Define parameters by coordinates</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;  <span class="comment">// ---------------------------------</span></div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;  <span class="keywordtype">bool</span> ComputeParameters (<span class="keyword">const</span> gp_Pnt&amp; thePoint,</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;                          gp_XYZ&amp;       theParams,</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;                          <span class="keyword">const</span> <span class="keywordtype">int</span>     theShapeID    = ID_Shell,</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;                          <span class="keyword">const</span> gp_XYZ&amp; theParamsHint = gp_XYZ(-1,-1,-1));</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="comment">// compute point parameters in the block.</span></div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="comment">// Note: for edges, it is better to use EdgeParameters()</span></div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  <span class="keywordtype">bool</span> VertexParameters(<span class="keyword">const</span> <span class="keywordtype">int</span> theVertexID, gp_XYZ&amp; theParams);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <span class="comment">// return parameters of a vertex given by TShapeID</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keywordtype">bool</span> EdgeParameters(<span class="keyword">const</span> <span class="keywordtype">int</span> theEdgeID, <span class="keyword">const</span> <span class="keywordtype">double</span> theU, gp_XYZ&amp; theParams);</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <span class="comment">// return parameters of a point given by theU on edge</span></div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  <span class="comment">// ---------------</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  <span class="comment">// Block geomerty</span></div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  <span class="comment">// ---------------</span></div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  </div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  </div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  <span class="comment">// ---------</span></div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  <span class="comment">// Services</span></div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;  <span class="comment">// ---------</span></div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#acebbeddae5d1b50f7061f5033014a6db">  268</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classSMESH__Block.html#acebbeddae5d1b50f7061f5033014a6db">IsForwardEdge</a> (<span class="keyword">const</span> TopoDS_Edge &amp;                       theEdge,</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;                             <span class="keyword">const</span> TopTools_IndexedMapOfOrientedShape&amp; theShapeIDMap) {</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordtype">int</span> v1ID = theShapeIDMap.FindIndex( TopExp::FirstVertex( theEdge ).Oriented( TopAbs_FORWARD ));</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordtype">int</span> v2ID = theShapeIDMap.FindIndex( TopExp::LastVertex( theEdge ).Oriented( TopAbs_FORWARD ));</div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <span class="keywordflow">return</span> ( v1ID &lt; v2ID );</div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  }</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="comment">// Return true if an in-block parameter increases along theEdge curve</span></div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;  <span class="keyword">static</span> <span class="keywordtype">int</span> GetOrderedEdges (<span class="keyword">const</span> TopoDS_Face&amp;        theFace,</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                              TopoDS_Vertex             theFirstVertex,</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                              std::list&lt; TopoDS_Edge &gt;&amp; theEdges,</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                              std::list&lt; int &gt;  &amp;       theNbVertexInWires,</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;                              <span class="keyword">const</span> <span class="keywordtype">bool</span>                theShapeAnalysisAlgo=<span class="keyword">false</span>);</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <span class="comment">// Return nb wires and a list of oredered edges.</span></div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="comment">// It is used to assign indices to subshapes.</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;  <span class="comment">// theFirstVertex may be NULL.</span></div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;  <span class="comment">// Always try to set a seam edge first</span></div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;  <span class="comment">// if (theShapeAnalysisAlgo) then ShapeAnalysis::OuterWire() is used to find the outer</span></div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  <span class="comment">// wire else BRepTools::OuterWire() is used</span></div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="comment">// -----------------------------------------------------------</span></div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;  <span class="comment">// Methods of math_FunctionSetWithDerivatives used internally</span></div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;  <span class="comment">// to define parameters by coordinates</span></div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;  <span class="comment">// -----------------------------------------------------------</span></div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;  Standard_Integer NbVariables() <span class="keyword">const</span>;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;  Standard_Integer NbEquations() <span class="keyword">const</span>;</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;  Standard_Boolean Value(<span class="keyword">const</span> math_Vector&amp; X,math_Vector&amp; F) ;</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;  Standard_Boolean Derivatives(<span class="keyword">const</span> math_Vector&amp; X,math_Matrix&amp; D) ;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;  Standard_Boolean Values(<span class="keyword">const</span> math_Vector&amp; X,math_Vector&amp; F,math_Matrix&amp; D) ;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;  Standard_Integer GetStateNumber ();</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160; <span class="keyword">protected</span>:</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;  <span class="keywordtype">void</span> init();</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;  <span class="comment">// Note: to compute params of a point on a face, it is enough to set</span></div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;  <span class="comment">// TFace, TEdge&#39;s and points for that face only</span></div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;  <span class="comment">// Note 2: curve adaptors need to have only Value(double), FirstParameter() and</span></div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;  <span class="comment">// LastParameter() defined to be used by Block algoritms</span></div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html">  313</a></span>&#160;  <span class="keyword">class </span><a class="code" href="SMESH__SMESH_8hxx.html#ac3bda889c3f636f954deab36bb6d384d">SMESH_EXPORT</a> <a class="code" href="classSMESH__Block_1_1TEdge.html">TEdge</a> {</div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#ac7bb761ad5ae503c9d8bc2b01e95e832">  314</a></span>&#160;    <span class="keywordtype">int</span>                <a class="code" href="classSMESH__Block_1_1TEdge.html#ac7bb761ad5ae503c9d8bc2b01e95e832">myCoordInd</a>;</div><div class="line"><a name="l00315"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#a0f868afebd14b87fb9f59dfae1962b05">  315</a></span>&#160;    <span class="keywordtype">double</span>             <a class="code" href="classSMESH__Block_1_1TEdge.html#a0f868afebd14b87fb9f59dfae1962b05">myFirst</a>;</div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#a52bd238f1c76171c9b3591f752d6db52">  316</a></span>&#160;    <span class="keywordtype">double</span>             <a class="code" href="classSMESH__Block_1_1TEdge.html#a52bd238f1c76171c9b3591f752d6db52">myLast</a>;</div><div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#af78b6ee9f58c613d5c95f7dea0e301b2">  317</a></span>&#160;    <a class="code" href="classAdaptor3d__Curve.html">Adaptor3d_Curve</a>*   <a class="code" href="classSMESH__Block_1_1TEdge.html#af78b6ee9f58c613d5c95f7dea0e301b2">myC3d</a>;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <span class="comment">// if mesh volume</span></div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#ad038fab5558b2f4f4bc06e6cecf385eb">  319</a></span>&#160;    gp_XYZ             myNodes[2];</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <span class="keywordtype">void</span> Set( <span class="keyword">const</span> <span class="keywordtype">int</span> edgeID, <a class="code" href="classAdaptor3d__Curve.html">Adaptor3d_Curve</a>* curve, <span class="keyword">const</span> <span class="keywordtype">bool</span> isForward );</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <span class="keywordtype">void</span> Set( <span class="keyword">const</span> <span class="keywordtype">int</span> edgeID, <span class="keyword">const</span> gp_XYZ&amp; node1, <span class="keyword">const</span> gp_XYZ&amp; node2 );</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#a5d93d0d0bea2d5a96784d999071837a1">  323</a></span>&#160;    <a class="code" href="classAdaptor3d__Curve.html">Adaptor3d_Curve</a>* <a class="code" href="classSMESH__Block_1_1TEdge.html#a5d93d0d0bea2d5a96784d999071837a1">GetCurve</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> myC3d; }</div><div class="line"><a name="l00324"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#a32f7799da7684eaadb9e3acdee14a549">  324</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="classSMESH__Block_1_1TEdge.html#a32f7799da7684eaadb9e3acdee14a549">EndParam</a>(<span class="keywordtype">int</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i ? myLast : myFirst; }</div><div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#ac78137ec91c3a8ac2d6218c91b26dd86">  325</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block_1_1TEdge.html#ac78137ec91c3a8ac2d6218c91b26dd86">CoordInd</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> myCoordInd; }</div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#ab7330c768da59bcfe34cd9e95117fc49">  326</a></span>&#160;    <span class="keyword">const</span> gp_XYZ&amp; <a class="code" href="classSMESH__Block_1_1TEdge.html#ab7330c768da59bcfe34cd9e95117fc49">NodeXYZ</a>(<span class="keywordtype">int</span> i)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> i ? myNodes[1] : myNodes[0]; }</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    gp_XYZ Point( <span class="keyword">const</span> gp_XYZ&amp; theParams ) <span class="keyword">const</span>; <span class="comment">// Return coord by params</span></div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordtype">double</span> GetU( <span class="keyword">const</span> gp_XYZ&amp; theParams ) <span class="keyword">const</span>;  <span class="comment">// Return U by params</span></div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html#a79970824e11397c2bd4296924ae18db5">  329</a></span>&#160;    <a class="code" href="classSMESH__Block_1_1TEdge.html#a79970824e11397c2bd4296924ae18db5">TEdge</a>(): myC3d(0) {}</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    ~<a class="code" href="classSMESH__Block_1_1TEdge.html">TEdge</a>();</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;  };</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html">  333</a></span>&#160;  <span class="keyword">class </span><a class="code" href="SMESH__SMESH_8hxx.html#ac3bda889c3f636f954deab36bb6d384d">SMESH_EXPORT</a> <a class="code" href="classSMESH__Block_1_1TFace.html">TFace</a> {</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="comment">// 4 edges in the order u0, u1, 0v, 1v</span></div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#a78bb3029bd57dbb4ce449ca645961056">  335</a></span>&#160;    <span class="keywordtype">int</span>                  myCoordInd[ 4 ];</div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#a1037a559c12abc2ce4f4f63b4c07a627">  336</a></span>&#160;    <span class="keywordtype">double</span>               myFirst   [ 4 ];</div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#ae5e95920a57dbc4f010cbb99c2e8e096">  337</a></span>&#160;    <span class="keywordtype">double</span>               myLast    [ 4 ];</div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#a71ce42bd5a204f6a1481a70c02abe723">  338</a></span>&#160;    <a class="code" href="classAdaptor2d__Curve2d.html">Adaptor2d_Curve2d</a>*   myC2d     [ 4 ];</div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="comment">// 4 corner points in the order 00, 10, 11, 01</span></div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#ac65c5d24e6792e45de9bcfd21c64a06e">  340</a></span>&#160;    gp_XY                myCorner  [ 4 ];</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <span class="comment">// surface</span></div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#a3f826428ade70a9f498bb5929069c4dd">  342</a></span>&#160;    <a class="code" href="classAdaptor3d__Surface.html">Adaptor3d_Surface</a>*   <a class="code" href="classSMESH__Block_1_1TFace.html#a3f826428ade70a9f498bb5929069c4dd">myS</a>;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <span class="comment">// if mesh volume</span></div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#a861b57439cf1a3d5415bac4bd7de805d">  344</a></span>&#160;    gp_XYZ               myNodes[4];</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;    <span class="keywordtype">void</span> Set( <span class="keyword">const</span> <span class="keywordtype">int</span> faceID, <a class="code" href="classAdaptor3d__Surface.html">Adaptor3d_Surface</a>* S, <span class="comment">// must be in GetFaceEdgesIDs() order:</span></div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;              <a class="code" href="classAdaptor2d__Curve2d.html">Adaptor2d_Curve2d</a>* c2d[4], <span class="keyword">const</span> <span class="keywordtype">bool</span> isForward[4] );</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <span class="keywordtype">void</span> Set( <span class="keyword">const</span> <span class="keywordtype">int</span> faceID, <span class="keyword">const</span> <a class="code" href="classSMESH__Block_1_1TEdge.html">TEdge</a>&amp; edgeU0, <span class="keyword">const</span> <a class="code" href="classSMESH__Block_1_1TEdge.html">TEdge</a>&amp; edgeU1 );</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    gp_XY  GetUV( <span class="keyword">const</span> gp_XYZ&amp; theParams ) <span class="keyword">const</span>;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    gp_XYZ Point( <span class="keyword">const</span> gp_XYZ&amp; theParams ) <span class="keyword">const</span>;</div><div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#aec7200333d56d9eae3761dd464a55aa9">  351</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block_1_1TFace.html#aec7200333d56d9eae3761dd464a55aa9">GetUInd</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> myCoordInd[ 0 ]; }</div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#a4b7bbae5f8c01d91e5e7c7472e0e5566">  352</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="classSMESH__Block_1_1TFace.html#a4b7bbae5f8c01d91e5e7c7472e0e5566">GetVInd</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> myCoordInd[ 2 ]; }</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <span class="keywordtype">void</span> GetCoefs( <span class="keywordtype">int</span> i, <span class="keyword">const</span> gp_XYZ&amp; theParams, <span class="keywordtype">double</span>&amp; eCoef, <span class="keywordtype">double</span>&amp; vCoef ) <span class="keyword">const</span>;</div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html#ae7e7e66b6dfdcd8617f2cb8420e8622f">  354</a></span>&#160;    <a class="code" href="classSMESH__Block_1_1TFace.html#ae7e7e66b6dfdcd8617f2cb8420e8622f">TFace</a>(): myS(0) { myC2d[0]=myC2d[1]=myC2d[2]=myC2d[3]=0; }</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    ~<a class="code" href="classSMESH__Block_1_1TFace.html">TFace</a>();</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;  };</div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;  <span class="comment">// geometry in the order as in TShapeID:</span></div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;  <span class="comment">// 8 vertices</span></div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a98337f58f615798af5b1a6cb6a6d0dde">  360</a></span>&#160;  gp_XYZ myPnt[ 8 ];</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;  <span class="comment">// 12 edges</span></div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#ab9d5ab89644a4b1dd968bee776dca12a">  362</a></span>&#160;  <a class="code" href="classSMESH__Block_1_1TEdge.html">TEdge</a>  myEdge[ 12 ];</div><div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;  <span class="comment">// 6 faces</span></div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#af8fc198b0d6da7515739ecb14d1b2268">  364</a></span>&#160;  <a class="code" href="classSMESH__Block_1_1TFace.html">TFace</a>  myFace[ 6 ];</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;  <span class="comment">// for param computation</span></div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a6b648e69065118901f4cb1f0476f0571aa7b849517ca963bc1232695a5b01ccb5">  368</a></span>&#160;  <span class="keyword">enum</span> { SQUARE_DIST = 0, DRV_1, DRV_2, DRV_3 };</div><div class="line"><a name="l00369"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#afb8cf98156d0f70121ccb0820f9f3a29">  369</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="classSMESH__Block.html#afb8cf98156d0f70121ccb0820f9f3a29">distance</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> sqrt( myValues[ SQUARE_DIST ]); }</div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a863faf6f0846cdbe36d0aa39046e7122">  370</a></span>&#160;  <span class="keywordtype">double</span> <a class="code" href="classSMESH__Block.html#a863faf6f0846cdbe36d0aa39046e7122">funcValue</a>(<span class="keywordtype">double</span> sqDist)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> mySquareFunc ? sqDist : sqrt(sqDist); }</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;  <span class="keywordtype">bool</span> computeParameters(<span class="keyword">const</span> gp_Pnt&amp; thePoint, gp_XYZ&amp; theParams, <span class="keyword">const</span> gp_XYZ&amp; theParamsHint);</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a2604b8f692afd4e0a82ab562e164aac3">  373</a></span>&#160;  <span class="keywordtype">int</span>      <a class="code" href="classSMESH__Block.html#a2604b8f692afd4e0a82ab562e164aac3">myFaceIndex</a>;</div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a88e147936dd3bc2f001774290298d723">  374</a></span>&#160;  <span class="keywordtype">double</span>   <a class="code" href="classSMESH__Block.html#a88e147936dd3bc2f001774290298d723">myFaceParam</a>;</div><div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a281025d2d617c38687d0f686c25a9aca">  375</a></span>&#160;  <span class="keywordtype">int</span>      <a class="code" href="classSMESH__Block.html#a281025d2d617c38687d0f686c25a9aca">myNbIterations</a>;</div><div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a95c9ebaf430432a5b9ed7012b8505941">  376</a></span>&#160;  <span class="keywordtype">double</span>   <a class="code" href="classSMESH__Block.html#a95c9ebaf430432a5b9ed7012b8505941">mySumDist</a>;</div><div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a436d28ca9cfaaba9e375e024af4639de">  377</a></span>&#160;  <span class="keywordtype">double</span>   <a class="code" href="classSMESH__Block.html#a436d28ca9cfaaba9e375e024af4639de">myTolerance</a>;</div><div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a843b0647750498a48e6ab814126f7845">  378</a></span>&#160;  <span class="keywordtype">bool</span>     <a class="code" href="classSMESH__Block.html#a843b0647750498a48e6ab814126f7845">mySquareFunc</a>;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#adb9318b6087b90b23e622744d274a0a8">  380</a></span>&#160;  gp_XYZ   <a class="code" href="classSMESH__Block.html#adb9318b6087b90b23e622744d274a0a8">myPoint</a>; <span class="comment">// the given point</span></div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a3aa2522b10f3d1bc1859fe3491316755">  381</a></span>&#160;  gp_XYZ   <a class="code" href="classSMESH__Block.html#a3aa2522b10f3d1bc1859fe3491316755">myParam</a>; <span class="comment">// the best parameters guess</span></div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#af62a202f14f65bcfd021cb830aa8c5cc">  382</a></span>&#160;  <span class="keywordtype">double</span>   myValues[ 4 ]; <span class="comment">// values computed at myParam: square distance and 3 derivatives</span></div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;</div><div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#ab7810a1fdd273e0eb1d2a558dd5c7c61">  384</a></span>&#160;  <span class="keyword">typedef</span> std::pair&lt;gp_XYZ,gp_XYZ&gt; <a class="code" href="classSMESH__Block.html#ab7810a1fdd273e0eb1d2a558dd5c7c61">TxyzPair</a>;</div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a7983bd126307ef1f5c51bbfcec04f25c">  385</a></span>&#160;  <a class="code" href="classSMESH__Block.html#ab7810a1fdd273e0eb1d2a558dd5c7c61">TxyzPair</a> my3x3x3GridNodes[ 27 ]; <span class="comment">// to compute the first param guess</span></div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a2480c2539435269aaacd44dc229307e3">  386</a></span>&#160;  <span class="keywordtype">bool</span>     <a class="code" href="classSMESH__Block.html#a2480c2539435269aaacd44dc229307e3">myGridComputed</a>;</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;};</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="classSMESH__Block_1_1TFace_html_aec7200333d56d9eae3761dd464a55aa9"><div class="ttname"><a href="classSMESH__Block_1_1TFace.html#aec7200333d56d9eae3761dd464a55aa9">SMESH_Block::TFace::GetUInd</a></div><div class="ttdeci">int GetUInd() const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00351">SMESH_Block.hxx:351</a></div></div>
<div class="ttc" id="classAdaptor3d__Surface_html"><div class="ttname"><a href="classAdaptor3d__Surface.html">Adaptor3d_Surface</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a5cf9f40d1e8f5ae2139844cea243a202"><div class="ttname"><a href="classSMESH__Block.html#a5cf9f40d1e8f5ae2139844cea243a202">SMESH_Block::NbVertices</a></div><div class="ttdeci">static int NbVertices()</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00092">SMESH_Block.hxx:92</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a472de5c0c1b22c63ef438db514d5d6f6"><div class="ttname"><a href="classSMESH__Block.html#a472de5c0c1b22c63ef438db514d5d6f6">SMESH_Block::IsVertexID</a></div><div class="ttdeci">static bool IsVertexID(int theShapeID)</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00098">SMESH_Block.hxx:98</a></div></div>
<div class="ttc" id="classSMESH__Block_html_ae7b8b9fc4a329db9eab90ca804db6f90"><div class="ttname"><a href="classSMESH__Block.html#ae7b8b9fc4a329db9eab90ca804db6f90">SMESH_Block::EdgePoint</a></div><div class="ttdeci">bool EdgePoint(const int theEdgeID, const gp_XYZ &amp;theParams, gp_XYZ &amp;thePoint) const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00201">SMESH_Block.hxx:201</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_af78b6ee9f58c613d5c95f7dea0e301b2"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#af78b6ee9f58c613d5c95f7dea0e301b2">SMESH_Block::TEdge::myC3d</a></div><div class="ttdeci">Adaptor3d_Curve * myC3d</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00317">SMESH_Block.hxx:317</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a843b0647750498a48e6ab814126f7845"><div class="ttname"><a href="classSMESH__Block.html#a843b0647750498a48e6ab814126f7845">SMESH_Block::mySquareFunc</a></div><div class="ttdeci">bool mySquareFunc</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00378">SMESH_Block.hxx:378</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a06959a67e8c3599369360c7574396be5"><div class="ttname"><a href="classSMESH__Block.html#a06959a67e8c3599369360c7574396be5">SMESH_Block::FaceUV</a></div><div class="ttdeci">bool FaceUV(const int theFaceID, const gp_XYZ &amp;theParams, gp_XY &amp;theUV) const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00219">SMESH_Block.hxx:219</a></div></div>
<div class="ttc" id="classSMESH__Block_html_aad637073fc3572a5b41dafd236020926a1f2bee7366fbb8df1d304388ee087063"><div class="ttname"><a href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926a1f2bee7366fbb8df1d304388ee087063">SMESH_Block::ID_Fxy1</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00076">SMESH_Block.hxx:76</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a2480c2539435269aaacd44dc229307e3"><div class="ttname"><a href="classSMESH__Block.html#a2480c2539435269aaacd44dc229307e3">SMESH_Block::myGridComputed</a></div><div class="ttdeci">bool myGridComputed</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00386">SMESH_Block.hxx:386</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html">SMESH_Block::TEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00313">SMESH_Block.hxx:313</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a436d28ca9cfaaba9e375e024af4639de"><div class="ttname"><a href="classSMESH__Block.html#a436d28ca9cfaaba9e375e024af4639de">SMESH_Block::myTolerance</a></div><div class="ttdeci">double myTolerance</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00377">SMESH_Block.hxx:377</a></div></div>
<div class="ttc" id="classSMESH__Block_html_adc763d518021edb9ac8562b53fefbf47"><div class="ttname"><a href="classSMESH__Block.html#adc763d518021edb9ac8562b53fefbf47">SMESH_Block::NbFaces</a></div><div class="ttdeci">static int NbFaces()</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00094">SMESH_Block.hxx:94</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TFace_html_a4b7bbae5f8c01d91e5e7c7472e0e5566"><div class="ttname"><a href="classSMESH__Block_1_1TFace.html#a4b7bbae5f8c01d91e5e7c7472e0e5566">SMESH_Block::TFace::GetVInd</a></div><div class="ttdeci">int GetVInd() const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00352">SMESH_Block.hxx:352</a></div></div>
<div class="ttc" id="classSMESH__Block_html_aad637073fc3572a5b41dafd236020926addb6a3fd529733fd8894397d2cb93f10"><div class="ttname"><a href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926addb6a3fd529733fd8894397d2cb93f10">SMESH_Block::ID_E11z</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00074">SMESH_Block.hxx:74</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a968f1d3345cf52c6640007227abb9d66"><div class="ttname"><a href="classSMESH__Block.html#a968f1d3345cf52c6640007227abb9d66">SMESH_Block::VertexPoint</a></div><div class="ttdeci">bool VertexPoint(const int theVertexID, gp_XYZ &amp;thePoint) const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00195">SMESH_Block.hxx:195</a></div></div>
<div class="ttc" id="classSMESH__Block_html_ad159fe7361d1b8c9e3062461a839b9af"><div class="ttname"><a href="classSMESH__Block.html#ad159fe7361d1b8c9e3062461a839b9af">SMESH_Block::IsEdgeID</a></div><div class="ttdeci">static bool IsEdgeID(int theShapeID)</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00101">SMESH_Block.hxx:101</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a2604b8f692afd4e0a82ab562e164aac3"><div class="ttname"><a href="classSMESH__Block.html#a2604b8f692afd4e0a82ab562e164aac3">SMESH_Block::myFaceIndex</a></div><div class="ttdeci">int myFaceIndex</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00373">SMESH_Block.hxx:373</a></div></div>
<div class="ttc" id="classSMESH__Block_html_afb8cf98156d0f70121ccb0820f9f3a29"><div class="ttname"><a href="classSMESH__Block.html#afb8cf98156d0f70121ccb0820f9f3a29">SMESH_Block::distance</a></div><div class="ttdeci">double distance() const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00369">SMESH_Block.hxx:369</a></div></div>
<div class="ttc" id="classSMESH__Block_html_adb9318b6087b90b23e622744d274a0a8"><div class="ttname"><a href="classSMESH__Block.html#adb9318b6087b90b23e622744d274a0a8">SMESH_Block::myPoint</a></div><div class="ttdeci">gp_XYZ myPoint</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00380">SMESH_Block.hxx:380</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_ac78137ec91c3a8ac2d6218c91b26dd86"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#ac78137ec91c3a8ac2d6218c91b26dd86">SMESH_Block::TEdge::CoordInd</a></div><div class="ttdeci">int CoordInd() const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00325">SMESH_Block.hxx:325</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a8ad68f9901bcbc0940e455c83fd7568c"><div class="ttname"><a href="classSMESH__Block.html#a8ad68f9901bcbc0940e455c83fd7568c">SMESH_Block::FacePoint</a></div><div class="ttdeci">bool FacePoint(const int theFaceID, const gp_XYZ &amp;theParams, gp_XYZ &amp;thePoint) const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00213">SMESH_Block.hxx:213</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a88e147936dd3bc2f001774290298d723"><div class="ttname"><a href="classSMESH__Block.html#a88e147936dd3bc2f001774290298d723">SMESH_Block::myFaceParam</a></div><div class="ttdeci">double myFaceParam</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00374">SMESH_Block.hxx:374</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_a52bd238f1c76171c9b3591f752d6db52"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#a52bd238f1c76171c9b3591f752d6db52">SMESH_Block::TEdge::myLast</a></div><div class="ttdeci">double myLast</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00316">SMESH_Block.hxx:316</a></div></div>
<div class="ttc" id="classSMESH__Block_html_aad637073fc3572a5b41dafd236020926ae5e937a86309b591ab8bef9934093543"><div class="ttname"><a href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926ae5e937a86309b591ab8bef9934093543">SMESH_Block::ID_E1y1</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00073">SMESH_Block.hxx:73</a></div></div>
<div class="ttc" id="classAdaptor3d__Curve_html"><div class="ttname"><a href="classAdaptor3d__Curve.html">Adaptor3d_Curve</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_a32f7799da7684eaadb9e3acdee14a549"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#a32f7799da7684eaadb9e3acdee14a549">SMESH_Block::TEdge::EndParam</a></div><div class="ttdeci">double EndParam(int i) const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00324">SMESH_Block.hxx:324</a></div></div>
<div class="ttc" id="classSMDS__MeshNode_html"><div class="ttname"><a href="classSMDS__MeshNode.html">SMDS_MeshNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SMDS__MeshNode_8hxx_source.html#l00035">SMDS_MeshNode.hxx:35</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a8200bd325a9f9651908c90db57c34832"><div class="ttname"><a href="classSMESH__Block.html#a8200bd325a9f9651908c90db57c34832">SMESH_Block::EdgeU</a></div><div class="ttdeci">bool EdgeU(const int theEdgeID, const gp_XYZ &amp;theParams, double &amp;theU) const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00207">SMESH_Block.hxx:207</a></div></div>
<div class="ttc" id="classSMESH__Block_html_aad637073fc3572a5b41dafd236020926"><div class="ttname"><a href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926">SMESH_Block::TShapeID</a></div><div class="ttdeci">TShapeID</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00064">SMESH_Block.hxx:64</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_a0f868afebd14b87fb9f59dfae1962b05"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#a0f868afebd14b87fb9f59dfae1962b05">SMESH_Block::TEdge::myFirst</a></div><div class="ttdeci">double myFirst</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00315">SMESH_Block.hxx:315</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a863faf6f0846cdbe36d0aa39046e7122"><div class="ttname"><a href="classSMESH__Block.html#a863faf6f0846cdbe36d0aa39046e7122">SMESH_Block::funcValue</a></div><div class="ttdeci">double funcValue(double sqDist) const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00370">SMESH_Block.hxx:370</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TFace_html_a3f826428ade70a9f498bb5929069c4dd"><div class="ttname"><a href="classSMESH__Block_1_1TFace.html#a3f826428ade70a9f498bb5929069c4dd">SMESH_Block::TFace::myS</a></div><div class="ttdeci">Adaptor3d_Surface * myS</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00342">SMESH_Block.hxx:342</a></div></div>
<div class="ttc" id="classmath__FunctionSetWithDerivatives_html"><div class="ttname"><a href="classmath__FunctionSetWithDerivatives.html">math_FunctionSetWithDerivatives</a></div></div>
<div class="ttc" id="SMESH__SMESH_8hxx_html"><div class="ttname"><a href="SMESH__SMESH_8hxx.html">SMESH_SMESH.hxx</a></div></div>
<div class="ttc" id="classSMESH__Block_html_ab7810a1fdd273e0eb1d2a558dd5c7c61"><div class="ttname"><a href="classSMESH__Block.html#ab7810a1fdd273e0eb1d2a558dd5c7c61">SMESH_Block::TxyzPair</a></div><div class="ttdeci">std::pair&lt; gp_XYZ, gp_XYZ &gt; TxyzPair</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00384">SMESH_Block.hxx:384</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a3aa2522b10f3d1bc1859fe3491316755"><div class="ttname"><a href="classSMESH__Block.html#a3aa2522b10f3d1bc1859fe3491316755">SMESH_Block::myParam</a></div><div class="ttdeci">gp_XYZ myParam</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00381">SMESH_Block.hxx:381</a></div></div>
<div class="ttc" id="SMESH__SMESH_8hxx_html_ac3bda889c3f636f954deab36bb6d384d"><div class="ttname"><a href="SMESH__SMESH_8hxx.html#ac3bda889c3f636f954deab36bb6d384d">SMESH_EXPORT</a></div><div class="ttdeci">#define SMESH_EXPORT</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__SMESH_8hxx_source.html#l00036">SMESH_SMESH.hxx:36</a></div></div>
<div class="ttc" id="classSMESH__Block_html_aa3aeb47e1186f92adee2317a8936d60c"><div class="ttname"><a href="classSMESH__Block.html#aa3aeb47e1186f92adee2317a8936d60c">SMESH_Block::IsFaceID</a></div><div class="ttdeci">static bool IsFaceID(int theShapeID)</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00104">SMESH_Block.hxx:104</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_ac7bb761ad5ae503c9d8bc2b01e95e832"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#ac7bb761ad5ae503c9d8bc2b01e95e832">SMESH_Block::TEdge::myCoordInd</a></div><div class="ttdeci">int myCoordInd</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00314">SMESH_Block.hxx:314</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a281025d2d617c38687d0f686c25a9aca"><div class="ttname"><a href="classSMESH__Block.html#a281025d2d617c38687d0f686c25a9aca">SMESH_Block::myNbIterations</a></div><div class="ttdeci">int myNbIterations</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00375">SMESH_Block.hxx:375</a></div></div>
<div class="ttc" id="classSMESH__Block_html_acebbeddae5d1b50f7061f5033014a6db"><div class="ttname"><a href="classSMESH__Block.html#acebbeddae5d1b50f7061f5033014a6db">SMESH_Block::IsForwardEdge</a></div><div class="ttdeci">static bool IsForwardEdge(const TopoDS_Edge &amp;theEdge, const TopTools_IndexedMapOfOrientedShape &amp;theShapeIDMap)</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00268">SMESH_Block.hxx:268</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a984f8c8ff3123a0e4323c64d73b39776"><div class="ttname"><a href="classSMESH__Block.html#a984f8c8ff3123a0e4323c64d73b39776">SMESH_Block::ShapeIndex</a></div><div class="ttdeci">static int ShapeIndex(int theShapeID)</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00107">SMESH_Block.hxx:107</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a97d8ef5b7c1e24b234ca6690e83e701b"><div class="ttname"><a href="classSMESH__Block.html#a97d8ef5b7c1e24b234ca6690e83e701b">SMESH_Block::NbSubShapes</a></div><div class="ttdeci">static int NbSubShapes()</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00095">SMESH_Block.hxx:95</a></div></div>
<div class="ttc" id="classAdaptor2d__Curve2d_html"><div class="ttname"><a href="classAdaptor2d__Curve2d.html">Adaptor2d_Curve2d</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_a5d93d0d0bea2d5a96784d999071837a1"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#a5d93d0d0bea2d5a96784d999071837a1">SMESH_Block::TEdge::GetCurve</a></div><div class="ttdeci">Adaptor3d_Curve * GetCurve() const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00323">SMESH_Block.hxx:323</a></div></div>
<div class="ttc" id="classSMESH__Block_html_aad637073fc3572a5b41dafd236020926aba758f6ce6f8e461dc5c3d6f359ae556"><div class="ttname"><a href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926aba758f6ce6f8e461dc5c3d6f359ae556">SMESH_Block::ID_Ex11</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00072">SMESH_Block.hxx:72</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_ab7330c768da59bcfe34cd9e95117fc49"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#ab7330c768da59bcfe34cd9e95117fc49">SMESH_Block::TEdge::NodeXYZ</a></div><div class="ttdeci">const gp_XYZ &amp; NodeXYZ(int i) const</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00326">SMESH_Block.hxx:326</a></div></div>
<div class="ttc" id="classSMESH__Block_html"><div class="ttname"><a href="classSMESH__Block.html">SMESH_Block</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00061">SMESH_Block.hxx:61</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TFace_html"><div class="ttname"><a href="classSMESH__Block_1_1TFace.html">SMESH_Block::TFace</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00333">SMESH_Block.hxx:333</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a68c6441661fb01529a423fbbd5b16184"><div class="ttname"><a href="classSMESH__Block.html#a68c6441661fb01529a423fbbd5b16184">SMESH_Block::GetCoordIndOnEdge</a></div><div class="ttdeci">static int GetCoordIndOnEdge(const int theEdgeID)</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00125">SMESH_Block.hxx:125</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a18fea601f58b73c68839f0eeacf26cf1"><div class="ttname"><a href="classSMESH__Block.html#a18fea601f58b73c68839f0eeacf26cf1">SMESH_Block::NbEdges</a></div><div class="ttdeci">static int NbEdges()</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00093">SMESH_Block.hxx:93</a></div></div>
<div class="ttc" id="classSMESH__Block_html_aad637073fc3572a5b41dafd236020926aac27cf769dcb2d0ed34f2c8e259e28db"><div class="ttname"><a href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926aac27cf769dcb2d0ed34f2c8e259e28db">SMESH_Block::ID_V111</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00070">SMESH_Block.hxx:70</a></div></div>
<div class="ttc" id="classSMDS__MeshVolume_html"><div class="ttname"><a href="classSMDS__MeshVolume.html">SMDS_MeshVolume</a></div><div class="ttdef"><b>Definition:</b> <a href="SMDS__MeshVolume_8hxx_source.html#l00033">SMDS_MeshVolume.hxx:33</a></div></div>
<div class="ttc" id="classSMESH__Block_html_a95c9ebaf430432a5b9ed7012b8505941"><div class="ttname"><a href="classSMESH__Block.html#a95c9ebaf430432a5b9ed7012b8505941">SMESH_Block::mySumDist</a></div><div class="ttdeci">double mySumDist</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00376">SMESH_Block.hxx:376</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TEdge_html_a79970824e11397c2bd4296924ae18db5"><div class="ttname"><a href="classSMESH__Block_1_1TEdge.html#a79970824e11397c2bd4296924ae18db5">SMESH_Block::TEdge::TEdge</a></div><div class="ttdeci">TEdge()</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00329">SMESH_Block.hxx:329</a></div></div>
<div class="ttc" id="classSMESH__Block_1_1TFace_html_ae7e7e66b6dfdcd8617f2cb8420e8622f"><div class="ttname"><a href="classSMESH__Block_1_1TFace.html#ae7e7e66b6dfdcd8617f2cb8420e8622f">SMESH_Block::TFace::TFace</a></div><div class="ttdeci">TFace()</div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Block_8hxx_source.html#l00354">SMESH_Block.hxx:354</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_bfccd401955b95cf8c75461437045ac0.html">inc</a></li><li class="navelem"><a class="el" href="SMESH__Block_8hxx.html">SMESH_Block.hxx</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>