<!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&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&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&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&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> <span class="comment">// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <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> <span class="comment">// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">//</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <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> <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> <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> <span class="comment">// version 2.1 of the License.</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">//</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <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> <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> <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> <span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">//</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <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> <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> <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> <span class="comment">//</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <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> <span class="comment">//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// File : SMESH_Block.hxx</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <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> <span class="comment">// Author : Edward AGAPOV (eap)</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">//</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#ifndef SMESH_Block_HeaderFile</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#define SMESH_Block_HeaderFile</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="SMESH__SMESH_8hxx.html">SMESH_SMESH.hxx</a>"</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//#include <Geom2d_Curve.hxx></span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">//#include <Geom_Curve.hxx></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">//#include <Geom_Surface.hxx></span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <TopExp.hxx></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <TopTools_IndexedMapOfOrientedShape.hxx></span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <TopoDS_Edge.hxx></span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <TopoDS_Face.hxx></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include <TopoDS_Shell.hxx></span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <TopoDS_Vertex.hxx></span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include <gp_XY.hxx></span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include <gp_XYZ.hxx></span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <math_FunctionSetWithDerivatives.hxx></span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#include <ostream></span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#include <vector></span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#include <list></span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <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> <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> <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> <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> <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> <span class="keyword">class </span>gp_Pnt;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment">// =========================================================</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <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> <span class="comment">// parameters inside the block and vice versa</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment">// =========================================================</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSMESH__Block.html"> 61</a></span> <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> {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <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>  <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>  <span class="comment">// ----------------------------</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// Ids of the block sub-shapes</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <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>  ID_NONE = 0,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926aac27cf769dcb2d0ed34f2c8e259e28db"> 70</a></span>  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> </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926aba758f6ce6f8e461dc5c3d6f359ae556"> 72</a></span>  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>  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>  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> </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926a1f2bee7366fbb8df1d304388ee087063"> 76</a></span>  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> </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aad637073fc3572a5b41dafd236020926abe2727c12be0a2b8a631b1e4cfa97db1"> 78</a></span>  ID_Shell</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  };</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <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> </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a464e5b56e82aaf83005cf4b5e40c2ecaa15ece94b2300111749c7076f71affbcc"> 82</a></span>  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> </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  };</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">// -------------------------------------------------</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="comment">// Block topology in terms of block sub-shapes' ids</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// -------------------------------------------------</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a5cf9f40d1e8f5ae2139844cea243a202"> 92</a></span>  <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>  <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>  <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>  <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>  <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> </div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a472de5c0c1b22c63ef438db514d5d6f6"> 98</a></span>  <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>  { <span class="keywordflow">return</span> ( theShapeID >= ID_V000 && theShapeID <= ID_V111 ); }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#ad159fe7361d1b8c9e3062461a839b9af"> 101</a></span>  <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>  { <span class="keywordflow">return</span> ( theShapeID >= ID_Ex00 && theShapeID <= ID_E11z ); }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#aa3aeb47e1186f92adee2317a8936d60c"> 104</a></span>  <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>  { <span class="keywordflow">return</span> ( theShapeID >= ID_Fxy0 && theShapeID <= ID_F1yz ); }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a984f8c8ff3123a0e4323c64d73b39776"> 107</a></span>  <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>  {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <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>  <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>  <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>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <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>  <span class="comment">// for example :</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="comment">// ShapeIndex( ID_Ex00 ) == 0</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="comment">// ShapeIndex( ID_Ex10 ) == 1</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> GetFaceEdgesIDs (<span class="keyword">const</span> <span class="keywordtype">int</span> faceID, std::vector< int >& edgeVec );</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <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> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> GetEdgeVertexIDs (<span class="keyword">const</span> <span class="keywordtype">int</span> edgeID, std::vector< int >& vertexVec );</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">// return vertex IDs of an edge</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a68c6441661fb01529a423fbbd5b16184"> 125</a></span>  <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>  { <span class="keywordflow">return</span> (theEdgeID < ID_E0y0) ? 1 : (theEdgeID < ID_E00z) ? 2 : 3; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <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> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <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>  <span class="comment">// for theShapeID( TShapeID ), returns 3 coefficients used</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <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>  <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>  <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>  <span class="comment">// defined by the returned coef like this:</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="comment">// ki = (coef[i] == 0) ? 1 : (coef[i] < 0) ? 1 - Pi : Pi</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> GetShapeIDByParams ( <span class="keyword">const</span> gp_XYZ& theParams );</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <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> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">static</span> std::ostream& DumpShapeID (<span class="keyword">const</span> <span class="keywordtype">int</span> theBlockShapeID, std::ostream& stream);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <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> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="comment">// ---------------</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="comment">// Initialization</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="comment">// ---------------</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <a class="code" href="classSMESH__Block.html">SMESH_Block</a>();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">bool</span> LoadBlockShapes(<span class="keyword">const</span> TopoDS_Shell& theShell,</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keyword">const</span> TopoDS_Vertex& theVertex000,</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">const</span> TopoDS_Vertex& theVertex001,</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  TopTools_IndexedMapOfOrientedShape& theShapeIDMap );</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="comment">// Initialize block geometry with theShell,</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <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>  <span class="comment">// IDs acoording to enum TShapeID</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordtype">bool</span> LoadBlockShapes(<span class="keyword">const</span> TopTools_IndexedMapOfOrientedShape& theShapeIDMap);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="comment">// Initialize block geometry with shapes from theShapeIDMap</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <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>  <span class="keyword">const</span> <span class="keywordtype">int</span> theNode000Index,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> theNode001Index,</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  std::vector<const SMDS_MeshNode*>& theOrderedNodes);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="comment">// prepare to work with theVolume and</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <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> </div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordtype">bool</span> LoadFace(<span class="keyword">const</span> TopoDS_Face& theFace,</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> theFaceID,</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">const</span> TopTools_IndexedMapOfOrientedShape& theShapeIDMap);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">// Load face geometry.</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <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>  <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> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> Insert(<span class="keyword">const</span> TopoDS_Shape& theShape,</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> theShapeID,</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  TopTools_IndexedMapOfOrientedShape& theShapeIDMap);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="comment">// Insert theShape into theShapeIDMap with theShapeID,</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <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>  <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> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> FindBlockShapes(<span class="keyword">const</span> TopoDS_Shell& theShell,</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keyword">const</span> TopoDS_Vertex& theVertex000,</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keyword">const</span> TopoDS_Vertex& theVertex001,</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  TopTools_IndexedMapOfOrientedShape& theShapeIDMap );</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <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>  <span class="comment">// IDs acoording to enum TShapeID</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="comment">// ---------------------------------</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="comment">// Define coordinates by parameters</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="comment">// ---------------------------------</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a968f1d3345cf52c6640007227abb9d66"> 195</a></span>  <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& thePoint )<span class="keyword"> const </span>{</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <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>  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>  }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <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> </div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#ae7b8b9fc4a329db9eab90ca804db6f90"> 201</a></span>  <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& theParams, gp_XYZ& thePoint )<span class="keyword"> const </span>{</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <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>  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>  }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="comment">// return coordinates of a point on edge</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a8200bd325a9f9651908c90db57c34832"> 207</a></span>  <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& theParams, <span class="keywordtype">double</span>& theU )<span class="keyword"> const </span>{</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <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>  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>  }</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <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> </div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a8ad68f9901bcbc0940e455c83fd7568c"> 213</a></span>  <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& theParams, gp_XYZ& thePoint )<span class="keyword"> const </span>{</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <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>  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>  }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="comment">// return coordinates of a point on face</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a06959a67e8c3599369360c7574396be5"> 219</a></span>  <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& theParams, gp_XY& theUV )<span class="keyword"> const </span>{</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <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>  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>  }</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <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> </div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordtype">bool</span> ShellPoint( <span class="keyword">const</span> gp_XYZ& theParams, gp_XYZ& thePoint ) <span class="keyword">const</span>;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="comment">// return coordinates of a point in shell</span></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> ShellPoint(<span class="keyword">const</span> gp_XYZ& theParams,</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keyword">const</span> std::vector<gp_XYZ>& thePointOnShape,</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  gp_XYZ& thePoint );</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <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>  <span class="comment">// and point parameters.</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <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>  <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> </div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="comment">// ---------------------------------</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="comment">// Define parameters by coordinates</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="comment">// ---------------------------------</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordtype">bool</span> ComputeParameters (<span class="keyword">const</span> gp_Pnt& thePoint,</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  gp_XYZ& theParams,</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <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>  <span class="keyword">const</span> gp_XYZ& theParamsHint = gp_XYZ(-1,-1,-1));</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="comment">// compute point parameters in the block.</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <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> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordtype">bool</span> VertexParameters(<span class="keyword">const</span> <span class="keywordtype">int</span> theVertexID, gp_XYZ& theParams);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <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> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <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& theParams);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <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> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="comment">// ---------------</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="comment">// Block geomerty</span></div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="comment">// ---------------</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  </div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  </div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="comment">// ---------</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="comment">// Services</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="comment">// ---------</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#acebbeddae5d1b50f7061f5033014a6db"> 268</a></span>  <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 & theEdge,</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">const</span> TopTools_IndexedMapOfOrientedShape& theShapeIDMap) {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <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>  <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>  <span class="keywordflow">return</span> ( v1ID < v2ID );</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <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> </div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> GetOrderedEdges (<span class="keyword">const</span> TopoDS_Face& theFace,</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  TopoDS_Vertex theFirstVertex,</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  std::list< TopoDS_Edge >& theEdges,</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  std::list< int > & theNbVertexInWires,</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <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>  <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>  <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>  <span class="comment">// theFirstVertex may be NULL.</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <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>  <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>  <span class="comment">// wire else BRepTools::OuterWire() is used</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="comment">// -----------------------------------------------------------</span></div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="comment">// Methods of math_FunctionSetWithDerivatives used internally</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="comment">// to define parameters by coordinates</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="comment">// -----------------------------------------------------------</span></div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  Standard_Integer NbVariables() <span class="keyword">const</span>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  Standard_Integer NbEquations() <span class="keyword">const</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  Standard_Boolean Value(<span class="keyword">const</span> math_Vector& X,math_Vector& F) ;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  Standard_Boolean Derivatives(<span class="keyword">const</span> math_Vector& X,math_Matrix& D) ;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  Standard_Boolean Values(<span class="keyword">const</span> math_Vector& X,math_Vector& F,math_Matrix& D) ;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  Standard_Integer GetStateNumber ();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordtype">void</span> init();</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <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>  <span class="comment">// TFace, TEdge's and points for that face only</span></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <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>  <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> </div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TEdge.html"> 313</a></span>  <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>  <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>  <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>  <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>  <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>  <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>  gp_XYZ myNodes[2];</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <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>  <span class="keywordtype">void</span> Set( <span class="keyword">const</span> <span class="keywordtype">int</span> edgeID, <span class="keyword">const</span> gp_XYZ& node1, <span class="keyword">const</span> gp_XYZ& 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>  <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>  <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>  <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>  <span class="keyword">const</span> gp_XYZ& <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>  gp_XYZ Point( <span class="keyword">const</span> gp_XYZ& 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>  <span class="keywordtype">double</span> GetU( <span class="keyword">const</span> gp_XYZ& 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>  <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>  ~<a class="code" href="classSMESH__Block_1_1TEdge.html">TEdge</a>();</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  };</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classSMESH__Block_1_1TFace.html"> 333</a></span>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  gp_XY myCorner [ 4 ];</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <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>  <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>  <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>  gp_XYZ myNodes[4];</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <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>  <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>  <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>& edgeU0, <span class="keyword">const</span> <a class="code" href="classSMESH__Block_1_1TEdge.html">TEdge</a>& edgeU1 );</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  gp_XY GetUV( <span class="keyword">const</span> gp_XYZ& theParams ) <span class="keyword">const</span>;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  gp_XYZ Point( <span class="keyword">const</span> gp_XYZ& 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>  <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>  <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>  <span class="keywordtype">void</span> GetCoefs( <span class="keywordtype">int</span> i, <span class="keyword">const</span> gp_XYZ& theParams, <span class="keywordtype">double</span>& eCoef, <span class="keywordtype">double</span>& 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>  <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>  ~<a class="code" href="classSMESH__Block_1_1TFace.html">TFace</a>();</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  };</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="comment">// geometry in the order as in TShapeID:</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <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>  gp_XYZ myPnt[ 8 ];</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <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>  <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>  <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>  <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> </div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="comment">// for param computation</span></div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a6b648e69065118901f4cb1f0476f0571aa7b849517ca963bc1232695a5b01ccb5"> 368</a></span>  <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>  <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>  <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>  <span class="keywordtype">bool</span> computeParameters(<span class="keyword">const</span> gp_Pnt& thePoint, gp_XYZ& theParams, <span class="keyword">const</span> gp_XYZ& theParamsHint);</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#a2604b8f692afd4e0a82ab562e164aac3"> 373</a></span>  <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>  <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>  <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>  <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>  <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>  <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> </div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#adb9318b6087b90b23e622744d274a0a8"> 380</a></span>  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>  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>  <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> </div><div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classSMESH__Block.html#ab7810a1fdd273e0eb1d2a558dd5c7c61"> 384</a></span>  <span class="keyword">typedef</span> std::pair<gp_XYZ,gp_XYZ> <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>  <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>  <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> };</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <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 &theParams, gp_XYZ &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 &theParams, gp_XY &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 &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 &theParams, gp_XYZ &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 &theParams, double &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< gp_XYZ, gp_XYZ > 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 &theEdge, const TopTools_IndexedMapOfOrientedShape &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 & 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>