<!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: StdMeshers_ProjectionUtils.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('StdMeshers__ProjectionUtils_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">StdMeshers_ProjectionUtils.hxx</div> </div> </div><!--header--> <div class="contents"> <a href="StdMeshers__ProjectionUtils_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">// SMESH SMESH : idl implementation based on 'SMESH' unit's calsses</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// File : StdMeshers_ProjectionUtils.hxx</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// Created : Thu Oct 26 15:37:24 2006</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// Author : Edward AGAPOV (eap)</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">//</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef StdMeshers_ProjectionUtils_HeaderFile</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#define StdMeshers_ProjectionUtils_HeaderFile</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="SMESH__StdMeshers_8hxx.html">SMESH_StdMeshers.hxx</a>"</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <TopTools_DataMapOfShapeShape.hxx></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <TopoDS_Edge.hxx></span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <TopoDS_Vertex.hxx></span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <TopoDS_Face.hxx></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <list></span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include <map></span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">class </span>TopoDS_Shape;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">class </span><a class="code" href="classSMDS__MeshNode.html">SMDS_MeshNode</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">class </span><a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">class </span><a class="code" href="classSMESH__Hypothesis.html">SMESH_Hypothesis</a>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">class </span><a class="code" href="classSMESH__subMesh.html">SMESH_subMesh</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">class </span>TopTools_IndexedDataMapOfShapeListOfShape;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classStdMeshers__ProjectionUtils.html"> 50</a></span> <span class="keyword">class </span><a class="code" href="classStdMeshers__ProjectionUtils.html">StdMeshers_ProjectionUtils</a></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classStdMeshers__ProjectionUtils.html#af55db05cd98000a718f62eadc19af749"> 54</a></span>  <span class="keyword">typedef</span> TopTools_DataMapOfShapeShape <a class="code" href="classStdMeshers__ProjectionUtils.html#af55db05cd98000a718f62eadc19af749">TShapeShapeMap</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classStdMeshers__ProjectionUtils.html#ab39ef40d31174914db7b71e5c38374fa"> 55</a></span>  <span class="keyword">typedef</span> TopTools_IndexedDataMapOfShapeListOfShape <a class="code" href="classStdMeshers__ProjectionUtils.html#ab39ef40d31174914db7b71e5c38374fa">TAncestorMap</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classStdMeshers__ProjectionUtils.html#a4fc92c140bbfd954c85d8c90e590a8ea"> 56</a></span>  <span class="keyword">typedef</span> std::map<const SMDS_MeshNode*, const SMDS_MeshNode*> <a class="code" href="classStdMeshers__ProjectionUtils.html#a4fc92c140bbfd954c85d8c90e590a8ea">TNodeNodeMap</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#a15e13bade009865d7b581f0d71cbd85c">FindSubShapeAssociation</a>(<span class="keyword">const</span> TopoDS_Shape& theShape1,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>* theMesh1,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">const</span> TopoDS_Shape& theShape2,</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>* theMesh2,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="classStdMeshers__ProjectionUtils.html#af55db05cd98000a718f62eadc19af749">TShapeShapeMap</a> & theAssociationMap);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#ad43e7e2f7e515fdf7e96e21f8b0a0887">FindFaceAssociation</a>(<span class="keyword">const</span> TopoDS_Face& face1,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  TopoDS_Vertex VV1[2],</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">const</span> TopoDS_Face& face2,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  TopoDS_Vertex VV2[2],</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  std::list< TopoDS_Edge > & edges1,</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  std::list< TopoDS_Edge > & edges2);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#a52eb5108372406f6d2b84b05ddb05866">InitVertexAssociation</a>( <span class="keyword">const</span> <a class="code" href="classSMESH__Hypothesis.html">SMESH_Hypothesis</a>* theHyp,</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="classStdMeshers__ProjectionUtils.html#af55db05cd98000a718f62eadc19af749">TShapeShapeMap</a> & theAssociationMap,</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">const</span> TopoDS_Shape& theTargetShape);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#a3a843fcfa2cff0360366840bf380239f">InsertAssociation</a>( <span class="keyword">const</span> TopoDS_Shape& theShape1,</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">const</span> TopoDS_Shape& theShape2,</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classStdMeshers__ProjectionUtils.html#af55db05cd98000a718f62eadc19af749">TShapeShapeMap</a> & theAssociationMap,</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> theBidirectional=<span class="keyword">true</span>);</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="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#a392960939443ab0b98e445d6081461df">IsSubShape</a>( <span class="keyword">const</span> TopoDS_Shape& shape, <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>* aMesh );</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#a392960939443ab0b98e445d6081461df">IsSubShape</a>( <span class="keyword">const</span> TopoDS_Shape& shape, <span class="keyword">const</span> TopoDS_Shape& mainShape );</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">static</span> TopoDS_Edge <a class="code" href="classStdMeshers__ProjectionUtils.html#aeca879d293847bfbdfe9b91414361eb6">GetEdgeByVertices</a>( <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>* aMesh,</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">const</span> TopoDS_Vertex& V1,</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">const</span> TopoDS_Vertex& V2);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keyword">static</span> TopoDS_Face <a class="code" href="classStdMeshers__ProjectionUtils.html#a119dc4b54e6df9c16e37d752d5104415">GetNextFace</a>( <span class="keyword">const</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#ab39ef40d31174914db7b71e5c38374fa">TAncestorMap</a>& edgeToFaces,</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keyword">const</span> TopoDS_Edge& edge,</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">const</span> TopoDS_Face& face);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">static</span> TopoDS_Vertex <a class="code" href="classStdMeshers__ProjectionUtils.html#ae82bd9931a27a9399b8d5f6c81204b8d">GetNextVertex</a>(<span class="keyword">const</span> TopoDS_Edge& edge,</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> TopoDS_Vertex& vertex);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">static</span> std::pair<int,TopoDS_Edge> <a class="code" href="classStdMeshers__ProjectionUtils.html#a25692ac0ef75e8970e945c80c673c8f4">GetPropagationEdge</a>( <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>* aMesh,</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keyword">const</span> TopoDS_Edge& anEdge,</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keyword">const</span> TopoDS_Edge& fromEdge);</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#aa683957a695d4444bdf57fcd6062d635">FindMatchingNodesOnFaces</a>( <span class="keyword">const</span> TopoDS_Face& face1,</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>* mesh1,</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">const</span> TopoDS_Face& face2,</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>* mesh2,</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keyword">const</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#af55db05cd98000a718f62eadc19af749">TShapeShapeMap</a> & assocMap,</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classStdMeshers__ProjectionUtils.html#a4fc92c140bbfd954c85d8c90e590a8ea">TNodeNodeMap</a> & nodeIn2OutMap);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#aabafb4eca46ffeef849b3dfa8e7ab8fb">IsClosedEdge</a>( <span class="keyword">const</span> TopoDS_Edge& anEdge );</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keyword">static</span> TopoDS_Shape <a class="code" href="classStdMeshers__ProjectionUtils.html#a8452d3e2ab1e55b1c9ed2fe64e6afd55">OuterShape</a>( <span class="keyword">const</span> TopoDS_Face& face,</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  TopAbs_ShapeEnum type);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#aec926e3f310404335aff1c2d5d5beee8">MakeComputed</a>(<a class="code" href="classSMESH__subMesh.html">SMESH_subMesh</a> * sm, <span class="keyword">const</span> <span class="keywordtype">int</span> iterationNb = 0);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#a4d719a662581375a4514f5fe8115efc9">Count</a>(<span class="keyword">const</span> TopoDS_Shape& shape,</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keyword">const</span> TopAbs_ShapeEnum type,</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">const</span> <span class="keywordtype">bool</span> ignoreSame);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#abcbfcd94d945b81394b4aff82dd0abdf">SetEventListener</a>(<a class="code" href="classSMESH__subMesh.html">SMESH_subMesh</a>* subMesh,</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  TopoDS_Shape srcShape,</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>* srcMesh);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classStdMeshers__ProjectionUtils.html#a3a81b7a5be5cb17a03c0bb57b8fd32d9">IsBoundaryEdge</a>(<span class="keyword">const</span> TopoDS_Edge& edge,</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keyword">const</span> TopoDS_Shape& edgeContainer,</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="classSMESH__Mesh.html">SMESH_Mesh</a>& mesh);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</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="preprocessor">#endif</span></div><div class="ttc" id="classStdMeshers__ProjectionUtils_html_a3a81b7a5be5cb17a03c0bb57b8fd32d9"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a3a81b7a5be5cb17a03c0bb57b8fd32d9">StdMeshers_ProjectionUtils::IsBoundaryEdge</a></div><div class="ttdeci">static bool IsBoundaryEdge(const TopoDS_Edge &edge, const TopoDS_Shape &edgeContainer, SMESH_Mesh &mesh)</div><div class="ttdoc">Return true if edge is a boundary of edgeContainer. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_af55db05cd98000a718f62eadc19af749"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#af55db05cd98000a718f62eadc19af749">StdMeshers_ProjectionUtils::TShapeShapeMap</a></div><div class="ttdeci">TopTools_DataMapOfShapeShape TShapeShapeMap</div><div class="ttdef"><b>Definition:</b> <a href="StdMeshers__ProjectionUtils_8hxx_source.html#l00054">StdMeshers_ProjectionUtils.hxx:54</a></div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_a4d719a662581375a4514f5fe8115efc9"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a4d719a662581375a4514f5fe8115efc9">StdMeshers_ProjectionUtils::Count</a></div><div class="ttdeci">static int Count(const TopoDS_Shape &shape, const TopAbs_ShapeEnum type, const bool ignoreSame)</div><div class="ttdoc">Count nb of subshapes. </div></div> <div class="ttc" id="classSMESH__Hypothesis_html"><div class="ttname"><a href="classSMESH__Hypothesis.html">SMESH_Hypothesis</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Hypothesis_8hxx_source.html#l00047">SMESH_Hypothesis.hxx:47</a></div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_ad43e7e2f7e515fdf7e96e21f8b0a0887"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#ad43e7e2f7e515fdf7e96e21f8b0a0887">StdMeshers_ProjectionUtils::FindFaceAssociation</a></div><div class="ttdeci">static int FindFaceAssociation(const TopoDS_Face &face1, TopoDS_Vertex VV1[2], const TopoDS_Face &face2, TopoDS_Vertex VV2[2], std::list< TopoDS_Edge > &edges1, std::list< TopoDS_Edge > &edges2)</div><div class="ttdoc">Find association of edges of faces. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_ab39ef40d31174914db7b71e5c38374fa"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#ab39ef40d31174914db7b71e5c38374fa">StdMeshers_ProjectionUtils::TAncestorMap</a></div><div class="ttdeci">TopTools_IndexedDataMapOfShapeListOfShape TAncestorMap</div><div class="ttdef"><b>Definition:</b> <a href="StdMeshers__ProjectionUtils_8hxx_source.html#l00055">StdMeshers_ProjectionUtils.hxx:55</a></div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_aec926e3f310404335aff1c2d5d5beee8"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#aec926e3f310404335aff1c2d5d5beee8">StdMeshers_ProjectionUtils::MakeComputed</a></div><div class="ttdeci">static bool MakeComputed(SMESH_subMesh *sm, const int iterationNb=0)</div><div class="ttdoc">Check that submeshis is computed and try to compute it if is not. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_aabafb4eca46ffeef849b3dfa8e7ab8fb"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#aabafb4eca46ffeef849b3dfa8e7ab8fb">StdMeshers_ProjectionUtils::IsClosedEdge</a></div><div class="ttdeci">static bool IsClosedEdge(const TopoDS_Edge &anEdge)</div><div class="ttdoc">Check if the first and last vertices of an edge are the same. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_aa683957a695d4444bdf57fcd6062d635"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#aa683957a695d4444bdf57fcd6062d635">StdMeshers_ProjectionUtils::FindMatchingNodesOnFaces</a></div><div class="ttdeci">static bool FindMatchingNodesOnFaces(const TopoDS_Face &face1, SMESH_Mesh *mesh1, const TopoDS_Face &face2, SMESH_Mesh *mesh2, const TShapeShapeMap &assocMap, TNodeNodeMap &nodeIn2OutMap)</div><div class="ttdoc">Find corresponding nodes on two faces. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_a8452d3e2ab1e55b1c9ed2fe64e6afd55"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a8452d3e2ab1e55b1c9ed2fe64e6afd55">StdMeshers_ProjectionUtils::OuterShape</a></div><div class="ttdeci">static TopoDS_Shape OuterShape(const TopoDS_Face &face, TopAbs_ShapeEnum type)</div><div class="ttdoc">Return any subshape of a face belonging to the outer wire. </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="classStdMeshers__ProjectionUtils_html_a3a843fcfa2cff0360366840bf380239f"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a3a843fcfa2cff0360366840bf380239f">StdMeshers_ProjectionUtils::InsertAssociation</a></div><div class="ttdeci">static bool InsertAssociation(const TopoDS_Shape &theShape1, const TopoDS_Shape &theShape2, TShapeShapeMap &theAssociationMap, const bool theBidirectional=true)</div><div class="ttdoc">Inserts association theShape1 <-> theShape2 to TShapeShapeMap. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_aeca879d293847bfbdfe9b91414361eb6"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#aeca879d293847bfbdfe9b91414361eb6">StdMeshers_ProjectionUtils::GetEdgeByVertices</a></div><div class="ttdeci">static TopoDS_Edge GetEdgeByVertices(SMESH_Mesh *aMesh, const TopoDS_Vertex &V1, const TopoDS_Vertex &V2)</div><div class="ttdoc">Finds an edge by its vertices in a main shape of the mesh. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_a25692ac0ef75e8970e945c80c673c8f4"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a25692ac0ef75e8970e945c80c673c8f4">StdMeshers_ProjectionUtils::GetPropagationEdge</a></div><div class="ttdeci">static std::pair< int, TopoDS_Edge > GetPropagationEdge(SMESH_Mesh *aMesh, const TopoDS_Edge &anEdge, const TopoDS_Edge &fromEdge)</div><div class="ttdoc">Return an oriented propagation edge. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_abcbfcd94d945b81394b4aff82dd0abdf"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#abcbfcd94d945b81394b4aff82dd0abdf">StdMeshers_ProjectionUtils::SetEventListener</a></div><div class="ttdeci">static void SetEventListener(SMESH_subMesh *subMesh, TopoDS_Shape srcShape, SMESH_Mesh *srcMesh)</div><div class="ttdoc">Set event listeners to submesh with projection algo. </div></div> <div class="ttc" id="classSMESH__subMesh_html"><div class="ttname"><a href="classSMESH__subMesh.html">SMESH_subMesh</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__subMesh_8hxx_source.html#l00059">SMESH_subMesh.hxx:59</a></div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_a52eb5108372406f6d2b84b05ddb05866"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a52eb5108372406f6d2b84b05ddb05866">StdMeshers_ProjectionUtils::InitVertexAssociation</a></div><div class="ttdeci">static void InitVertexAssociation(const SMESH_Hypothesis *theHyp, TShapeShapeMap &theAssociationMap, const TopoDS_Shape &theTargetShape)</div><div class="ttdoc">Insert vertex association defined by a hypothesis into a map. </div></div> <div class="ttc" id="classSMESH__Mesh_html"><div class="ttname"><a href="classSMESH__Mesh.html">SMESH_Mesh</a></div><div class="ttdef"><b>Definition:</b> <a href="SMESH__Mesh_8hxx_source.html#l00054">SMESH_Mesh.hxx:54</a></div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_a392960939443ab0b98e445d6081461df"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a392960939443ab0b98e445d6081461df">StdMeshers_ProjectionUtils::IsSubShape</a></div><div class="ttdeci">static bool IsSubShape(const TopoDS_Shape &shape, SMESH_Mesh *aMesh)</div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_a15e13bade009865d7b581f0d71cbd85c"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a15e13bade009865d7b581f0d71cbd85c">StdMeshers_ProjectionUtils::FindSubShapeAssociation</a></div><div class="ttdeci">static bool FindSubShapeAssociation(const TopoDS_Shape &theShape1, SMESH_Mesh *theMesh1, const TopoDS_Shape &theShape2, SMESH_Mesh *theMesh2, TShapeShapeMap &theAssociationMap)</div><div class="ttdoc">Looks for association of all subshapes of two shapes. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html">StdMeshers_ProjectionUtils</a></div><div class="ttdoc">Class encapsulating methods common to Projection algorithms. </div><div class="ttdef"><b>Definition:</b> <a href="StdMeshers__ProjectionUtils_8hxx_source.html#l00050">StdMeshers_ProjectionUtils.hxx:50</a></div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_a119dc4b54e6df9c16e37d752d5104415"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a119dc4b54e6df9c16e37d752d5104415">StdMeshers_ProjectionUtils::GetNextFace</a></div><div class="ttdeci">static TopoDS_Face GetNextFace(const TAncestorMap &edgeToFaces, const TopoDS_Edge &edge, const TopoDS_Face &face)</div><div class="ttdoc">Return another face sharing an edge. </div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_a4fc92c140bbfd954c85d8c90e590a8ea"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#a4fc92c140bbfd954c85d8c90e590a8ea">StdMeshers_ProjectionUtils::TNodeNodeMap</a></div><div class="ttdeci">std::map< const SMDS_MeshNode *, const SMDS_MeshNode * > TNodeNodeMap</div><div class="ttdef"><b>Definition:</b> <a href="StdMeshers__ProjectionUtils_8hxx_source.html#l00056">StdMeshers_ProjectionUtils.hxx:56</a></div></div> <div class="ttc" id="SMESH__StdMeshers_8hxx_html"><div class="ttname"><a href="SMESH__StdMeshers_8hxx.html">SMESH_StdMeshers.hxx</a></div></div> <div class="ttc" id="classStdMeshers__ProjectionUtils_html_ae82bd9931a27a9399b8d5f6c81204b8d"><div class="ttname"><a href="classStdMeshers__ProjectionUtils.html#ae82bd9931a27a9399b8d5f6c81204b8d">StdMeshers_ProjectionUtils::GetNextVertex</a></div><div class="ttdeci">static TopoDS_Vertex GetNextVertex(const TopoDS_Edge &edge, const TopoDS_Vertex &vertex)</div><div class="ttdoc">Return other vertex of an edge. </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="StdMeshers__ProjectionUtils_8hxx.html">StdMeshers_ProjectionUtils.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>