<!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: TbbEvaluator 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 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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('a00091.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="#pub-static-methods">Static Public Member Functions</a> | <a href="a00280.html">List of all members</a> </div> <div class="headertitle"> <div class="title">TbbEvaluator Class Reference</div> </div> </div><!--header--> <div class="contents"> <p><code>#include <<a class="el" href="a00164_source.html">tbbEvaluator.h</a>></code></p> <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:a1083776ed758e8a1ebd8915eb68c5010"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > </td></tr> <tr class="memitem:a1083776ed758e8a1ebd8915eb68c5010"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#a1083776ed758e8a1ebd8915eb68c5010">EvalStencils</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, STENCIL_TABLE const *stencilTable, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:a1083776ed758e8a1ebd8915eb68c5010"><td class="mdescLeft"> </td><td class="mdescRight">Generic static eval stencils function. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. <a href="#a1083776ed758e8a1ebd8915eb68c5010">More...</a><br /></td></tr> <tr class="separator:a1083776ed758e8a1ebd8915eb68c5010"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4345e3659b7fb82f23dd51c688179ce3"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a4345e3659b7fb82f23dd51c688179ce3">EvalStencils</a> (const float *src, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, float *dst, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, const int *sizes, const int *offsets, const int *indices, const float *weights, int start, int end)</td></tr> <tr class="memdesc:a4345e3659b7fb82f23dd51c688179ce3"><td class="mdescLeft"> </td><td class="mdescRight">Static eval stencils function which takes raw CPU pointers for input and output. <a href="#a4345e3659b7fb82f23dd51c688179ce3">More...</a><br /></td></tr> <tr class="separator:a4345e3659b7fb82f23dd51c688179ce3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af04c6d999c9f014e93711ceb9097e2a0"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > </td></tr> <tr class="memitem:af04c6d999c9f014e93711ceb9097e2a0"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#af04c6d999c9f014e93711ceb9097e2a0">EvalStencils</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, DST_BUFFER *duBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, DST_BUFFER *dvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, STENCIL_TABLE const *stencilTable, const <a class="el" href="a00091.html">TbbEvaluator</a> *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:af04c6d999c9f014e93711ceb9097e2a0"><td class="mdescLeft"> </td><td class="mdescRight">Generic static eval stencils function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. <a href="#af04c6d999c9f014e93711ceb9097e2a0">More...</a><br /></td></tr> <tr class="separator:af04c6d999c9f014e93711ceb9097e2a0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6daed6135a40cda2daf6c6ea2047b330"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a6daed6135a40cda2daf6c6ea2047b330">EvalStencils</a> (const float *src, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, float *dst, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, float *du, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, float *dv, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, const int *sizes, const int *offsets, const int *indices, const float *weights, const float *duWeights, const float *dvWeights, int start, int end)</td></tr> <tr class="memdesc:a6daed6135a40cda2daf6c6ea2047b330"><td class="mdescLeft"> </td><td class="mdescRight">Static eval stencils function with derivatives, which takes raw CPU pointers for input and output. <a href="#a6daed6135a40cda2daf6c6ea2047b330">More...</a><br /></td></tr> <tr class="separator:a6daed6135a40cda2daf6c6ea2047b330"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3c5d150e67161bce880678f16c11f579"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename STENCIL_TABLE > </td></tr> <tr class="memitem:a3c5d150e67161bce880678f16c11f579"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#a3c5d150e67161bce880678f16c11f579">EvalStencils</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, DST_BUFFER *duBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, DST_BUFFER *dvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, DST_BUFFER *duuBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duuDesc, DST_BUFFER *duvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duvDesc, DST_BUFFER *dvvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvvDesc, STENCIL_TABLE const *stencilTable, const <a class="el" href="a00091.html">TbbEvaluator</a> *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:a3c5d150e67161bce880678f16c11f579"><td class="mdescLeft"> </td><td class="mdescRight">Generic static eval stencils function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. <a href="#a3c5d150e67161bce880678f16c11f579">More...</a><br /></td></tr> <tr class="separator:a3c5d150e67161bce880678f16c11f579"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a76707de0a89ab94f15ad4b2c398a2c23"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a76707de0a89ab94f15ad4b2c398a2c23">EvalStencils</a> (const float *src, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, float *dst, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, float *du, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, float *dv, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, float *duu, <a class="el" href="a00003.html">BufferDescriptor</a> const &duuDesc, float *duv, <a class="el" href="a00003.html">BufferDescriptor</a> const &duvDesc, float *dvv, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvvDesc, const int *sizes, const int *offsets, const int *indices, const float *weights, const float *duWeights, const float *dvWeights, const float *duuWeights, const float *duvWeights, const float *dvvWeights, int start, int end)</td></tr> <tr class="memdesc:a76707de0a89ab94f15ad4b2c398a2c23"><td class="mdescLeft"> </td><td class="mdescRight">Static eval stencils function with derivatives, which takes raw CPU pointers for input and output. <a href="#a76707de0a89ab94f15ad4b2c398a2c23">More...</a><br /></td></tr> <tr class="separator:a76707de0a89ab94f15ad4b2c398a2c23"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a16b9e4c7e07040ae42e3d49454393f5f"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:a16b9e4c7e07040ae42e3d49454393f5f"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#a16b9e4c7e07040ae42e3d49454393f5f">EvalPatches</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:a16b9e4c7e07040ae42e3d49454393f5f"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#a16b9e4c7e07040ae42e3d49454393f5f">More...</a><br /></td></tr> <tr class="separator:a16b9e4c7e07040ae42e3d49454393f5f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab78e3701e650dfc99c2beb39c7e611a4"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:ab78e3701e650dfc99c2beb39c7e611a4"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#ab78e3701e650dfc99c2beb39c7e611a4">EvalPatches</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, DST_BUFFER *duBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, DST_BUFFER *dvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:ab78e3701e650dfc99c2beb39c7e611a4"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#ab78e3701e650dfc99c2beb39c7e611a4">More...</a><br /></td></tr> <tr class="separator:ab78e3701e650dfc99c2beb39c7e611a4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6d42209eb10894a07bcb88585b5ce2f3"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:a6d42209eb10894a07bcb88585b5ce2f3"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#a6d42209eb10894a07bcb88585b5ce2f3">EvalPatches</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, DST_BUFFER *duBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, DST_BUFFER *dvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, DST_BUFFER *duuBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duuDesc, DST_BUFFER *duvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duvDesc, DST_BUFFER *dvvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:a6d42209eb10894a07bcb88585b5ce2f3"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#a6d42209eb10894a07bcb88585b5ce2f3">More...</a><br /></td></tr> <tr class="separator:a6d42209eb10894a07bcb88585b5ce2f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad5b907c22dfcb943e5f25f3c16543535"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#ad5b907c22dfcb943e5f25f3c16543535">EvalPatches</a> (const float *src, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, float *dst, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, int numPatchCoords, const <a class="el" href="a00063.html">PatchCoord</a> *patchCoords, const <a class="el" href="a00062.html">PatchArray</a> *patchArrays, const int *patchIndexBuffer, const <a class="el" href="a00069.html">PatchParam</a> *patchParamBuffer)</td></tr> <tr class="memdesc:ad5b907c22dfcb943e5f25f3c16543535"><td class="mdescLeft"> </td><td class="mdescRight">Static limit eval function. It takes an array of <a class="el" href="a00063.html" title="Coordinates set on a patch table. ">PatchCoord</a> and evaluate limit values on given PatchTable. <a href="#ad5b907c22dfcb943e5f25f3c16543535">More...</a><br /></td></tr> <tr class="separator:ad5b907c22dfcb943e5f25f3c16543535"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac1dba254bc287312f8f812113c8e8ad3"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#ac1dba254bc287312f8f812113c8e8ad3">EvalPatches</a> (const float *src, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, float *dst, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, float *du, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, float *dv, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, int numPatchCoords, <a class="el" href="a00063.html">PatchCoord</a> const *patchCoords, <a class="el" href="a00062.html">PatchArray</a> const *patchArrays, const int *patchIndexBuffer, <a class="el" href="a00069.html">PatchParam</a> const *patchParamBuffer)</td></tr> <tr class="memdesc:ac1dba254bc287312f8f812113c8e8ad3"><td class="mdescLeft"> </td><td class="mdescRight">Static limit eval function. It takes an array of <a class="el" href="a00063.html" title="Coordinates set on a patch table. ">PatchCoord</a> and evaluate limit values on given PatchTable. <a href="#ac1dba254bc287312f8f812113c8e8ad3">More...</a><br /></td></tr> <tr class="separator:ac1dba254bc287312f8f812113c8e8ad3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7b556148d6ef2e04fbe99677e3a87e91"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a7b556148d6ef2e04fbe99677e3a87e91">EvalPatches</a> (const float *src, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, float *dst, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, float *du, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, float *dv, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, float *duu, <a class="el" href="a00003.html">BufferDescriptor</a> const &duuDesc, float *duv, <a class="el" href="a00003.html">BufferDescriptor</a> const &duvDesc, float *dvv, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvvDesc, int numPatchCoords, <a class="el" href="a00063.html">PatchCoord</a> const *patchCoords, <a class="el" href="a00062.html">PatchArray</a> const *patchArrays, const int *patchIndexBuffer, <a class="el" href="a00069.html">PatchParam</a> const *patchParamBuffer)</td></tr> <tr class="memdesc:a7b556148d6ef2e04fbe99677e3a87e91"><td class="mdescLeft"> </td><td class="mdescRight">Static limit eval function. It takes an array of <a class="el" href="a00063.html" title="Coordinates set on a patch table. ">PatchCoord</a> and evaluate limit values on given PatchTable. <a href="#a7b556148d6ef2e04fbe99677e3a87e91">More...</a><br /></td></tr> <tr class="separator:a7b556148d6ef2e04fbe99677e3a87e91"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afb857c7493452a91389f40021a03c45d"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:afb857c7493452a91389f40021a03c45d"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#afb857c7493452a91389f40021a03c45d">EvalPatchesVarying</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:afb857c7493452a91389f40021a03c45d"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#afb857c7493452a91389f40021a03c45d">More...</a><br /></td></tr> <tr class="separator:afb857c7493452a91389f40021a03c45d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a52f3dbfeaec0360f92ac83464c7c2e6c"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:a52f3dbfeaec0360f92ac83464c7c2e6c"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#a52f3dbfeaec0360f92ac83464c7c2e6c">EvalPatchesVarying</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, DST_BUFFER *duBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, DST_BUFFER *dvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:a52f3dbfeaec0360f92ac83464c7c2e6c"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#a52f3dbfeaec0360f92ac83464c7c2e6c">More...</a><br /></td></tr> <tr class="separator:a52f3dbfeaec0360f92ac83464c7c2e6c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa3171fe53d673ceca93eb75372c3d7c4"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:aa3171fe53d673ceca93eb75372c3d7c4"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#aa3171fe53d673ceca93eb75372c3d7c4">EvalPatchesVarying</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, DST_BUFFER *duBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, DST_BUFFER *dvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, DST_BUFFER *duuBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duuDesc, DST_BUFFER *duvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duvDesc, DST_BUFFER *dvvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:aa3171fe53d673ceca93eb75372c3d7c4"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#aa3171fe53d673ceca93eb75372c3d7c4">More...</a><br /></td></tr> <tr class="separator:aa3171fe53d673ceca93eb75372c3d7c4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abeb5f95d1536bd3a7cadf440c2db96af"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:abeb5f95d1536bd3a7cadf440c2db96af"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#abeb5f95d1536bd3a7cadf440c2db96af">EvalPatchesFaceVarying</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:abeb5f95d1536bd3a7cadf440c2db96af"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#abeb5f95d1536bd3a7cadf440c2db96af">More...</a><br /></td></tr> <tr class="separator:abeb5f95d1536bd3a7cadf440c2db96af"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaa27f47cddc2a42796014b8da00633fd"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:aaa27f47cddc2a42796014b8da00633fd"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#aaa27f47cddc2a42796014b8da00633fd">EvalPatchesFaceVarying</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, DST_BUFFER *duBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, DST_BUFFER *dvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:aaa27f47cddc2a42796014b8da00633fd"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#aaa27f47cddc2a42796014b8da00633fd">More...</a><br /></td></tr> <tr class="separator:aaa27f47cddc2a42796014b8da00633fd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af8ac6af5dd3993a38da263eec54d83b0"><td class="memTemplParams" colspan="2">template<typename SRC_BUFFER , typename DST_BUFFER , typename PATCHCOORD_BUFFER , typename PATCH_TABLE > </td></tr> <tr class="memitem:af8ac6af5dd3993a38da263eec54d83b0"><td class="memTemplItemLeft" align="right" valign="top">static bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00091.html#af8ac6af5dd3993a38da263eec54d83b0">EvalPatchesFaceVarying</a> (SRC_BUFFER *srcBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &srcDesc, DST_BUFFER *dstBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dstDesc, DST_BUFFER *duBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duDesc, DST_BUFFER *dvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvDesc, DST_BUFFER *duuBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duuDesc, DST_BUFFER *duvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &duvDesc, DST_BUFFER *dvvBuffer, <a class="el" href="a00003.html">BufferDescriptor</a> const &dvvDesc, int numPatchCoords, PATCHCOORD_BUFFER *patchCoords, PATCH_TABLE *patchTable, int fvarChannel, <a class="el" href="a00091.html">TbbEvaluator</a> const *instance=NULL, void *deviceContext=NULL)</td></tr> <tr class="memdesc:af8ac6af5dd3993a38da263eec54d83b0"><td class="mdescLeft"> </td><td class="mdescRight">Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. <a href="#af8ac6af5dd3993a38da263eec54d83b0">More...</a><br /></td></tr> <tr class="separator:af8ac6af5dd3993a38da263eec54d83b0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9689407af718de4263562bb3a760c1dd"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a9689407af718de4263562bb3a760c1dd">Synchronize</a> (void *deviceContext=NULL)</td></tr> <tr class="memdesc:a9689407af718de4263562bb3a760c1dd"><td class="mdescLeft"> </td><td class="mdescRight">synchronize all asynchronous computation invoked on this device. <a href="#a9689407af718de4263562bb3a760c1dd">More...</a><br /></td></tr> <tr class="separator:a9689407af718de4263562bb3a760c1dd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad58f2120e84fdd3f92d7cd861e97822d"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#ad58f2120e84fdd3f92d7cd861e97822d">SetNumThreads</a> (int numThreads)</td></tr> <tr class="memdesc:ad58f2120e84fdd3f92d7cd861e97822d"><td class="mdescLeft"> </td><td class="mdescRight">initialize tbb task schedular (optional: client may use tbb::task_scheduler_init) <a href="#ad58f2120e84fdd3f92d7cd861e97822d">More...</a><br /></td></tr> <tr class="separator:ad58f2120e84fdd3f92d7cd861e97822d"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"> <p>Definition at line <a class="el" href="a00164_source.html#l00039">39</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div><h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a16b9e4c7e07040ae42e3d49454393f5f"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatches </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <hr/> <p>Limit evaluations with PatchTable </p><hr/> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00454">454</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="ab78e3701e650dfc99c2beb39c7e611a4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatches </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">duBuffer</td><td>Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dvBuffer</td><td>Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00517">517</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="a6d42209eb10894a07bcb88585b5ce2f3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatches </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duuBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duuDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">duBuffer</td><td>Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dvBuffer</td><td>Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">duuBuffer</td><td>Output buffer 2nd derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duuDesc</td><td>vertex buffer descriptor for the duuBuffer</td></tr> <tr><td class="paramname">duvBuffer</td><td>Output buffer 2nd derivative wrt u and v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duvDesc</td><td>vertex buffer descriptor for the duvBuffer</td></tr> <tr><td class="paramname">dvvBuffer</td><td>Output buffer 2nd derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvvDesc</td><td>vertex buffer descriptor for the dvvBuffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00607">607</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="ad5b907c22dfcb943e5f25f3c16543535"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatches </td> <td>(</td> <td class="paramtype">const float * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00063.html">PatchCoord</a> * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00062.html">PatchArray</a> * </td> <td class="paramname"><em>patchArrays</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>patchIndexBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00069.html">PatchParam</a> * </td> <td class="paramname"><em>patchParamBuffer</em> </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>Static limit eval function. It takes an array of <a class="el" href="a00063.html" title="Coordinates set on a patch table. ">PatchCoord</a> and evaluate limit values on given PatchTable. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset)</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dst</td><td>Output primvar pointer. An offset of dstDesc will be applied internally.</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchArrays</td><td>an array of <a class="el" href="a00062.html">Osd::PatchArray</a> struct indexed by PatchCoord::arrayIndex</td></tr> <tr><td class="paramname">patchIndexBuffer</td><td>an array of patch indices indexed by PatchCoord::vertIndex</td></tr> <tr><td class="paramname">patchParamBuffer</td><td>an array of <a class="el" href="a00069.html">Osd::PatchParam</a> struct indexed by PatchCoord::patchIndex </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ac1dba254bc287312f8f812113c8e8ad3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatches </td> <td>(</td> <td class="paramtype">const float * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>du</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00063.html">PatchCoord</a> const * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00062.html">PatchArray</a> const * </td> <td class="paramname"><em>patchArrays</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>patchIndexBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00069.html">PatchParam</a> const * </td> <td class="paramname"><em>patchParamBuffer</em> </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>Static limit eval function. It takes an array of <a class="el" href="a00063.html" title="Coordinates set on a patch table. ">PatchCoord</a> and evaluate limit values on given PatchTable. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset)</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dst</td><td>Output primvar pointer. An offset of dstDesc will be applied internally.</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">du</td><td>Output pointer derivative wrt u. An offset of duDesc will be applied internally.</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dv</td><td>Output pointer derivative wrt v. An offset of dvDesc will be applied internally.</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchArrays</td><td>an array of <a class="el" href="a00062.html">Osd::PatchArray</a> struct indexed by PatchCoord::arrayIndex</td></tr> <tr><td class="paramname">patchIndexBuffer</td><td>an array of patch indices indexed by PatchCoord::vertIndex</td></tr> <tr><td class="paramname">patchParamBuffer</td><td>an array of <a class="el" href="a00069.html">Osd::PatchParam</a> struct indexed by PatchCoord::patchIndex </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a7b556148d6ef2e04fbe99677e3a87e91"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatches </td> <td>(</td> <td class="paramtype">const float * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>du</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>duu</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duuDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>duv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dvv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00063.html">PatchCoord</a> const * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00062.html">PatchArray</a> const * </td> <td class="paramname"><em>patchArrays</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>patchIndexBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00069.html">PatchParam</a> const * </td> <td class="paramname"><em>patchParamBuffer</em> </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>Static limit eval function. It takes an array of <a class="el" href="a00063.html" title="Coordinates set on a patch table. ">PatchCoord</a> and evaluate limit values on given PatchTable. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset)</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dst</td><td>Output primvar pointer. An offset of dstDesc will be applied internally.</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">du</td><td>Output pointer derivative wrt u. An offset of duDesc will be applied internally.</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dv</td><td>Output pointer derivative wrt v. An offset of dvDesc will be applied internally.</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">duu</td><td>Output pointer 2nd derivative wrt u. An offset of duuDesc will be applied internally.</td></tr> <tr><td class="paramname">duuDesc</td><td>vertex buffer descriptor for the duuBuffer</td></tr> <tr><td class="paramname">duv</td><td>Output pointer 2nd derivative wrt u and v. An offset of duvDesc will be applied internally.</td></tr> <tr><td class="paramname">duvDesc</td><td>vertex buffer descriptor for the duvBuffer</td></tr> <tr><td class="paramname">dvv</td><td>Output pointer 2nd derivative wrt v. An offset of dvvDesc will be applied internally.</td></tr> <tr><td class="paramname">dvvDesc</td><td>vertex buffer descriptor for the dvvBuffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchArrays</td><td>an array of <a class="el" href="a00062.html">Osd::PatchArray</a> struct indexed by PatchCoord::arrayIndex</td></tr> <tr><td class="paramname">patchIndexBuffer</td><td>an array of patch indices indexed by PatchCoord::vertIndex</td></tr> <tr><td class="paramname">patchParamBuffer</td><td>an array of <a class="el" href="a00069.html">Osd::PatchParam</a> struct indexed by PatchCoord::patchIndex </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="abeb5f95d1536bd3a7cadf440c2db96af"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatchesFaceVarying </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>fvarChannel</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">fvarChannel</td><td>face-varying channel</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l01034">1034</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="aaa27f47cddc2a42796014b8da00633fd"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatchesFaceVarying </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>fvarChannel</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">duBuffer</td><td>Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dvBuffer</td><td>Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">fvarChannel</td><td>face-varying channel</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l01100">1100</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="af8ac6af5dd3993a38da263eec54d83b0"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatchesFaceVarying </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duuBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duuDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>fvarChannel</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">duBuffer</td><td>Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dvBuffer</td><td>Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">duuBuffer</td><td>Output buffer 2nd derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duuDesc</td><td>vertex buffer descriptor for the duuBuffer</td></tr> <tr><td class="paramname">duvBuffer</td><td>Output buffer 2nd derivative wrt u and v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duvDesc</td><td>vertex buffer descriptor for the duvBuffer</td></tr> <tr><td class="paramname">dvvBuffer</td><td>Output buffer 2nd derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvvDesc</td><td>vertex buffer descriptor for the dvvBuffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">fvarChannel</td><td>face-varying channel</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l01188">1188</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="afb857c7493452a91389f40021a03c45d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatchesVarying </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00823">823</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="a52f3dbfeaec0360f92ac83464c7c2e6c"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatchesVarying </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">duBuffer</td><td>Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dvBuffer</td><td>Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00886">886</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="aa3171fe53d673ceca93eb75372c3d7c4"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalPatchesVarying </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duuBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duuDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>numPatchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCHCOORD_BUFFER * </td> <td class="paramname"><em>patchCoords</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">PATCH_TABLE * </td> <td class="paramname"><em>patchTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic limit eval function. This function has a same signature as other device kernels have so that it can be called in the same way. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">duBuffer</td><td>Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dvBuffer</td><td>Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">duuBuffer</td><td>Output buffer 2nd derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duuDesc</td><td>vertex buffer descriptor for the duuBuffer</td></tr> <tr><td class="paramname">duvBuffer</td><td>Output buffer 2nd derivative wrt u and v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duvDesc</td><td>vertex buffer descriptor for the duvBuffer</td></tr> <tr><td class="paramname">dvvBuffer</td><td>Output buffer 2nd derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvvDesc</td><td>vertex buffer descriptor for the dvvBuffer</td></tr> <tr><td class="paramname">numPatchCoords</td><td>number of patchCoords.</td></tr> <tr><td class="paramname">patchCoords</td><td>array of locations to be evaluated.</td></tr> <tr><td class="paramname">patchTable</td><td><a class="el" href="a00014.html" title="Cpu patch table. ">CpuPatchTable</a> or equivalent XXX: currently <a class="el" href="a00070.html" title="Container for arrays of parametric patches. ">Far::PatchTable</a> can't be used due to interface mismatch</td></tr> <tr><td class="paramname">instance</td><td>not used in the cpu evaluator</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the cpu evaluator </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00971">971</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="a1083776ed758e8a1ebd8915eb68c5010"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalStencils </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">STENCIL_TABLE const * </td> <td class="paramname"><em>stencilTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00091.html">TbbEvaluator</a> const * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic static eval stencils function. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. </p> <hr/> <p>Stencil evaluations with StencilTable </p><hr/> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">stencilTable</td><td><a class="el" href="a00082.html" title="Stencil table class wrapping the template for compatibility. ">Far::StencilTable</a> or equivalent</td></tr> <tr><td class="paramname">instance</td><td>not used in the tbb kernel (declared as a typed pointer to prevent undesirable template resolution)</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the tbb kernel </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00072">72</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="a4345e3659b7fb82f23dd51c688179ce3"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalStencils </td> <td>(</td> <td class="paramtype">const float * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>sizes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>offsets</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>indices</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>weights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>end</em> </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>Static eval stencils function which takes raw CPU pointers for input and output. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset)</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dst</td><td>Output primvar pointer. An offset of dstDesc will be applied internally.</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">sizes</td><td>pointer to the sizes buffer of the stencil table</td></tr> <tr><td class="paramname">offsets</td><td>pointer to the offsets buffer of the stencil table</td></tr> <tr><td class="paramname">indices</td><td>pointer to the indices buffer of the stencil table</td></tr> <tr><td class="paramname">weights</td><td>pointer to the weights buffer of the stencil table</td></tr> <tr><td class="paramname">start</td><td>start index of stencil table</td></tr> <tr><td class="paramname">end</td><td>end index of stencil table </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="af04c6d999c9f014e93711ceb9097e2a0"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalStencils </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">STENCIL_TABLE const * </td> <td class="paramname"><em>stencilTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00091.html">TbbEvaluator</a> * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic static eval stencils function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">duBuffer</td><td>Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dvBuffer</td><td>Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">stencilTable</td><td><a class="el" href="a00082.html" title="Stencil table class wrapping the template for compatibility. ">Far::StencilTable</a> or equivalent</td></tr> <tr><td class="paramname">instance</td><td>not used in the tbb kernel (declared as a typed pointer to prevent undesirable template resolution)</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the tbb kernel </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00168">168</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="a6daed6135a40cda2daf6c6ea2047b330"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalStencils </td> <td>(</td> <td class="paramtype">const float * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>du</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>sizes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>offsets</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>indices</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>weights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>duWeights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>dvWeights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>end</em> </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>Static eval stencils function with derivatives, which takes raw CPU pointers for input and output. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset)</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dst</td><td>Output primvar pointer. An offset of dstDesc will be applied internally.</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">du</td><td>Output pointer derivative wrt u. An offset of duDesc will be applied internally.</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dv</td><td>Output pointer derivative wrt v. An offset of dvDesc will be applied internally.</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">sizes</td><td>pointer to the sizes buffer of the stencil table</td></tr> <tr><td class="paramname">offsets</td><td>pointer to the offsets buffer of the stencil table</td></tr> <tr><td class="paramname">indices</td><td>pointer to the indices buffer of the stencil table</td></tr> <tr><td class="paramname">weights</td><td>pointer to the weights buffer of the stencil table</td></tr> <tr><td class="paramname">duWeights</td><td>pointer to the du-weights buffer of the stencil table</td></tr> <tr><td class="paramname">dvWeights</td><td>pointer to the dv-weights buffer of the stencil table</td></tr> <tr><td class="paramname">start</td><td>start index of stencil table</td></tr> <tr><td class="paramname">end</td><td>end index of stencil table </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a3c5d150e67161bce880678f16c11f579"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalStencils </td> <td>(</td> <td class="paramtype">SRC_BUFFER * </td> <td class="paramname"><em>srcBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dstBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duuBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duuDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>duvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">DST_BUFFER * </td> <td class="paramname"><em>dvvBuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">STENCIL_TABLE const * </td> <td class="paramname"><em>stencilTable</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00091.html">TbbEvaluator</a> * </td> <td class="paramname"><em>instance</em> = <code>NULL</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Generic static eval stencils function with derivatives. This function has a same signature as other device kernels have so that it can be called in the same way from OsdMesh template interface. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">srcBuffer</td><td>Input primvar buffer. must have BindCpuBuffer() method returning a const float pointer for read</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dstBuffer</td><td>Output primvar buffer must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">duBuffer</td><td>Output buffer derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dvBuffer</td><td>Output buffer derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">duuBuffer</td><td>Output buffer 2nd derivative wrt u must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duuDesc</td><td>vertex buffer descriptor for the duuBuffer</td></tr> <tr><td class="paramname">duvBuffer</td><td>Output buffer 2nd derivative wrt u and v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">duvDesc</td><td>vertex buffer descriptor for the duvBuffer</td></tr> <tr><td class="paramname">dvvBuffer</td><td>Output buffer 2nd derivative wrt v must have BindCpuBuffer() method returning a float pointer for write</td></tr> <tr><td class="paramname">dvvDesc</td><td>vertex buffer descriptor for the dvvBuffer</td></tr> <tr><td class="paramname">stencilTable</td><td><a class="el" href="a00082.html" title="Stencil table class wrapping the template for compatibility. ">Far::StencilTable</a> or equivalent</td></tr> <tr><td class="paramname">instance</td><td>not used in the tbb kernel (declared as a typed pointer to prevent undesirable template resolution)</td></tr> <tr><td class="paramname">deviceContext</td><td>not used in the tbb kernel </td></tr> </table> </dd> </dl> <p>Definition at line <a class="el" href="a00164_source.html#l00303">303</a> of file <a class="el" href="a00164_source.html">tbbEvaluator.h</a>.</p> </div> </div> <a class="anchor" id="a76707de0a89ab94f15ad4b2c398a2c23"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static bool EvalStencils </td> <td>(</td> <td class="paramtype">const float * </td> <td class="paramname"><em>src</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>srcDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dstDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>du</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>duu</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duuDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>duv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>duvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"><em>dvv</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00003.html">BufferDescriptor</a> const & </td> <td class="paramname"><em>dvvDesc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>sizes</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>offsets</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int * </td> <td class="paramname"><em>indices</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>weights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>duWeights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>dvWeights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>duuWeights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>duvWeights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float * </td> <td class="paramname"><em>dvvWeights</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>end</em> </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>Static eval stencils function with derivatives, which takes raw CPU pointers for input and output. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">src</td><td>Input primvar pointer. An offset of srcDesc will be applied internally (i.e. the pointer should not include the offset)</td></tr> <tr><td class="paramname">srcDesc</td><td>vertex buffer descriptor for the input buffer</td></tr> <tr><td class="paramname">dst</td><td>Output primvar pointer. An offset of dstDesc will be applied internally.</td></tr> <tr><td class="paramname">dstDesc</td><td>vertex buffer descriptor for the output buffer</td></tr> <tr><td class="paramname">du</td><td>Output pointer derivative wrt u. An offset of duDesc will be applied internally.</td></tr> <tr><td class="paramname">duDesc</td><td>vertex buffer descriptor for the duBuffer</td></tr> <tr><td class="paramname">dv</td><td>Output pointer derivative wrt v. An offset of dvDesc will be applied internally.</td></tr> <tr><td class="paramname">dvDesc</td><td>vertex buffer descriptor for the dvBuffer</td></tr> <tr><td class="paramname">duu</td><td>Output pointer 2nd derivative wrt u. An offset of duuDesc will be applied internally.</td></tr> <tr><td class="paramname">duuDesc</td><td>vertex buffer descriptor for the duuBuffer</td></tr> <tr><td class="paramname">duv</td><td>Output pointer 2nd derivative wrt u and v. An offset of duvDesc will be applied internally.</td></tr> <tr><td class="paramname">duvDesc</td><td>vertex buffer descriptor for the duvBuffer</td></tr> <tr><td class="paramname">dvv</td><td>Output pointer 2nd derivative wrt v. An offset of dvvDesc will be applied internally.</td></tr> <tr><td class="paramname">dvvDesc</td><td>vertex buffer descriptor for the dvvBuffer</td></tr> <tr><td class="paramname">sizes</td><td>pointer to the sizes buffer of the stencil table</td></tr> <tr><td class="paramname">offsets</td><td>pointer to the offsets buffer of the stencil table</td></tr> <tr><td class="paramname">indices</td><td>pointer to the indices buffer of the stencil table</td></tr> <tr><td class="paramname">weights</td><td>pointer to the weights buffer of the stencil table</td></tr> <tr><td class="paramname">duWeights</td><td>pointer to the du-weights buffer of the stencil table</td></tr> <tr><td class="paramname">dvWeights</td><td>pointer to the dv-weights buffer of the stencil table</td></tr> <tr><td class="paramname">duuWeights</td><td>pointer to the duu-weights buffer of the stencil table</td></tr> <tr><td class="paramname">duvWeights</td><td>pointer to the duv-weights buffer of the stencil table</td></tr> <tr><td class="paramname">dvvWeights</td><td>pointer to the dvv-weights buffer of the stencil table</td></tr> <tr><td class="paramname">start</td><td>start index of stencil table</td></tr> <tr><td class="paramname">end</td><td>end index of stencil table </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ad58f2120e84fdd3f92d7cd861e97822d"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static void SetNumThreads </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>numThreads</em></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>initialize tbb task schedular (optional: client may use tbb::task_scheduler_init) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">numThreads</td><td>how many threads </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a9689407af718de4263562bb3a760c1dd"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">static void Synchronize </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>deviceContext</em> = <code>NULL</code></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>synchronize all asynchronous computation invoked on this device. </p> <hr/> <p>Other methods </p><hr/> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>opensubdiv/osd/<a class="el" href="a00164_source.html">tbbEvaluator.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="a00185.html">Osd</a></li><li class="navelem"><a class="el" href="a00091.html">TbbEvaluator</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>