Sophie

Sophie

distrib > PLD > th > x86_64 > by-pkgid > 3b87faceb47db01a011d04a86cccd880 > files > 176

OpenSubdiv-apidocs-3.5.1-1.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>OpenSubdiv: PatchTableFactory Class Reference</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">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</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>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxy.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="projectlogo"><img alt="Logo" src="opensubdiv_logo_header.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OpenSubdiv
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </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">
$(document).ready(function(){initNavTree('a00071.html','');});
</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="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="a00217.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">PatchTableFactory Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Factory for constructing a <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">PatchTable</a> from a <a class="el" href="a00095.html" title="Stores topology data for a specified set of refinement options. ">TopologyRefiner</a>.  
 <a href="a00071.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00114_source.html">patchTableFactory.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html">Options</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Public options for the <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">PatchTable</a> factory.  <a href="a00059.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html">PatchFaceTag</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obsolete internal struct not intended for public use &ndash; due to be deprecated.  <a href="a00065.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a37218ea13f75caee4c93cc4e94d26060"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="a00065.html">PatchFaceTag</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a37218ea13f75caee4c93cc4e94d26060">PatchTagVector</a></td></tr>
<tr class="separator:a37218ea13f75caee4c93cc4e94d26060"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a0f78f19fa54a5987cb11f03796f45a86"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00070.html">PatchTable</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html#a0f78f19fa54a5987cb11f03796f45a86">Create</a> (<a class="el" href="a00095.html">TopologyRefiner</a> const &amp;refiner, <a class="el" href="a00059.html">Options</a> options=<a class="el" href="a00059.html">Options</a>(), <a class="el" href="a00183.html#a35788aa710e3f7e277e5f0b008d76d61">ConstIndexArray</a> selectedFaces=<a class="el" href="a00183.html#a35788aa710e3f7e277e5f0b008d76d61">ConstIndexArray</a>())</td></tr>
<tr class="memdesc:a0f78f19fa54a5987cb11f03796f45a86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiates a <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">PatchTable</a> from a client-provided <a class="el" href="a00095.html" title="Stores topology data for a specified set of refinement options. ">TopologyRefiner</a>.  <a href="#a0f78f19fa54a5987cb11f03796f45a86">More...</a><br /></td></tr>
<tr class="separator:a0f78f19fa54a5987cb11f03796f45a86"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Factory for constructing a <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">PatchTable</a> from a <a class="el" href="a00095.html" title="Stores topology data for a specified set of refinement options. ">TopologyRefiner</a>. </p>

<p>Definition at line <a class="el" href="a00114_source.html#l00040">40</a> of file <a class="el" href="a00114_source.html">patchTableFactory.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a37218ea13f75caee4c93cc4e94d26060"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;<a class="el" href="a00065.html">PatchFaceTag</a>&gt; <a class="el" href="a00071.html#a37218ea13f75caee4c93cc4e94d26060">PatchTagVector</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="a00114_source.html#l00208">208</a> of file <a class="el" href="a00114_source.html">patchTableFactory.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0f78f19fa54a5987cb11f03796f45a86"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a00070.html">PatchTable</a>* Create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00095.html">TopologyRefiner</a> const &amp;&#160;</td>
          <td class="paramname"><em>refiner</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00059.html">Options</a>&#160;</td>
          <td class="paramname"><em>options</em> = <code><a class="el" href="a00059.html">Options</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00183.html#a35788aa710e3f7e277e5f0b008d76d61">ConstIndexArray</a>&#160;</td>
          <td class="paramname"><em>selectedFaces</em> = <code><a class="el" href="a00183.html#a35788aa710e3f7e277e5f0b008d76d61">ConstIndexArray</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Instantiates a <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">PatchTable</a> from a client-provided <a class="el" href="a00095.html" title="Stores topology data for a specified set of refinement options. ">TopologyRefiner</a>. </p>
<p>A <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">PatchTable</a> can be constructed from a <a class="el" href="a00095.html" title="Stores topology data for a specified set of refinement options. ">TopologyRefiner</a> that has been either adaptively or uniformly refined. In both cases, the resulting patches reference vertices in the various refined levels by index, and those indices accumulate with the levels in different ways.</p>
<p>For adaptively refined patches, patches are defined at different levels, including the base level, so the indices of patch vertices include vertices from all levels. A sparse set of patches can be created by restricting the patches generated to those descending from a given set of faces at the base level. This sparse set of base faces is expected to be a subset of the faces that were adaptively refined in the given <a class="el" href="a00095.html" title="Stores topology data for a specified set of refinement options. ">TopologyRefiner</a>, otherwise results are undefined.</p>
<p>For uniformly refined patches, all patches are completely defined within the last level. There is often no use for intermediate levels and they can usually be ignored. Indices of patch vertices might therefore be expected to be defined solely within the last level. While this is true for face-varying patches, for historical reasons it is not the case for vertex and varying patches. Indices for vertex and varying patches include the base level in addition to the last level while indices for face-varying patches include only the last level.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">refiner</td><td><a class="el" href="a00095.html" title="Stores topology data for a specified set of refinement options. ">TopologyRefiner</a> from which to generate patches</td></tr>
    <tr><td class="paramname">options</td><td><a class="el" href="a00059.html" title="Public options for the PatchTable factory. ">Options</a> controlling the creation of the table</td></tr>
    <tr><td class="paramname">selectedFaces</td><td>Only create patches for the given set of base faces.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A new instance of <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">PatchTable</a> </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>opensubdiv/far/<a class="el" href="a00114_source.html">patchTableFactory.h</a></li>
</ul>
</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="a00180.html">OpenSubdiv</a></li><li class="navelem"><a class="el" href="a00181.html">OPENSUBDIV_VERSION</a></li><li class="navelem"><a class="el" href="a00183.html">Far</a></li><li class="navelem"><a class="el" href="a00071.html">PatchTableFactory</a></li>
    <li class="footer">Generated on Wed Sep 6 2023 17:36:01 for OpenSubdiv by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
  </ul>
</div>
</body>
</html>