Files
opennurbs/6/class_o_n___bounding_box_cache.html
Bozo 2d5c650ea1 Publish!
Generated from TESTING
2018-01-26 12:35:52 +00:00

384 lines
20 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_BoundingBoxCache 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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">openNURBS SDK Help
&#160;<span id="projectnumber">6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_o_n___bounding_box_cache-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_BoundingBoxCache Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="opennurbs__bounding__box_8h_source.html">opennurbs_bounding_box.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af2bbf8416cadeef49dd12377be04790a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#af2bbf8416cadeef49dd12377be04790a">ON_BoundingBoxCache</a> ()=default</td></tr>
<tr class="separator:af2bbf8416cadeef49dd12377be04790a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2ac68876fc93a87d3a77962a880daf5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#aa2ac68876fc93a87d3a77962a880daf5">ON_BoundingBoxCache</a> (const <a class="el" href="class_o_n___bounding_box_cache.html">ON_BoundingBoxCache</a> &amp;)=default</td></tr>
<tr class="separator:aa2ac68876fc93a87d3a77962a880daf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0be31ea89d0b1d68d28df61df3a2644"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#af0be31ea89d0b1d68d28df61df3a2644">~ON_BoundingBoxCache</a> ()=default</td></tr>
<tr class="separator:af0be31ea89d0b1d68d28df61df3a2644"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ac0387114f9c40c6de5156e3fe0fdef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#a4ac0387114f9c40c6de5156e3fe0fdef">AddBoundingBox</a> (const <a class="el" href="class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;bbox, const <a class="el" href="class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> &amp;hash)</td></tr>
<tr class="separator:a4ac0387114f9c40c6de5156e3fe0fdef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf595e79625ab64cc48cb9a27461d451"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#abf595e79625ab64cc48cb9a27461d451">AddBoundingBox</a> (const <a class="el" href="class_o_n___bounding_box_and_hash.html">ON_BoundingBoxAndHash</a> &amp;bbox_and_hash)</td></tr>
<tr class="separator:abf595e79625ab64cc48cb9a27461d451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e39b3c204df497f853df622125fdc6a"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#a3e39b3c204df497f853df622125fdc6a">BoundingBoxCount</a> () const</td></tr>
<tr class="separator:a3e39b3c204df497f853df622125fdc6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a675038848e67b3fb79997f67194a965e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#a675038848e67b3fb79997f67194a965e">GetBoundingBox</a> (const <a class="el" href="class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> &amp;hash, <a class="el" href="class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;bbox) const</td></tr>
<tr class="separator:a675038848e67b3fb79997f67194a965e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27c1dabc6aafd46c039be8109a45fc2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_n___bounding_box_cache.html">ON_BoundingBoxCache</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#a27c1dabc6aafd46c039be8109a45fc2d">operator=</a> (const <a class="el" href="class_o_n___bounding_box_cache.html">ON_BoundingBoxCache</a> &amp;)=default</td></tr>
<tr class="separator:a27c1dabc6aafd46c039be8109a45fc2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8febc3c1e83fad9b55e385f2f67b03a5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#a8febc3c1e83fad9b55e385f2f67b03a5">Read</a> (class <a class="el" href="class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive)</td></tr>
<tr class="separator:a8febc3c1e83fad9b55e385f2f67b03a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6554ab8bfaee25036dc98220e62dbdac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#a6554ab8bfaee25036dc98220e62dbdac">RemoveAllBoundingBoxes</a> ()</td></tr>
<tr class="separator:a6554ab8bfaee25036dc98220e62dbdac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a495b00d260a7600756aaf1b9a0379a48"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#a495b00d260a7600756aaf1b9a0379a48">RemoveBoundingBox</a> (const <a class="el" href="class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> &amp;hash)</td></tr>
<tr class="separator:a495b00d260a7600756aaf1b9a0379a48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29959fe84112f3119730d807d937c76b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___bounding_box_cache.html#a29959fe84112f3119730d807d937c76b">Write</a> (class <a class="el" href="class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive) const</td></tr>
<tr class="separator:a29959fe84112f3119730d807d937c76b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A class that caches 8 bounding box - hash pairs and keeps the most frequently used bounding boxes. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af2bbf8416cadeef49dd12377be04790a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2bbf8416cadeef49dd12377be04790a">&#9670;&nbsp;</a></span>ON_BoundingBoxCache() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_BoundingBoxCache::ON_BoundingBoxCache </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af0be31ea89d0b1d68d28df61df3a2644"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0be31ea89d0b1d68d28df61df3a2644">&#9670;&nbsp;</a></span>~ON_BoundingBoxCache()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_BoundingBoxCache::~ON_BoundingBoxCache </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa2ac68876fc93a87d3a77962a880daf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2ac68876fc93a87d3a77962a880daf5">&#9670;&nbsp;</a></span>ON_BoundingBoxCache() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_BoundingBoxCache::ON_BoundingBoxCache </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___bounding_box_cache.html">ON_BoundingBoxCache</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a4ac0387114f9c40c6de5156e3fe0fdef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ac0387114f9c40c6de5156e3fe0fdef">&#9670;&nbsp;</a></span>AddBoundingBox() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_BoundingBoxCache::AddBoundingBox </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;&#160;</td>
<td class="paramname"><em>bbox</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> &amp;&#160;</td>
<td class="paramname"><em>hash</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Add a bounding box that can be found from a hash value. Parameters: bbox - [in] hash - [in] A hash of the information needed to create this bounding box. </p>
</div>
</div>
<a id="abf595e79625ab64cc48cb9a27461d451"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf595e79625ab64cc48cb9a27461d451">&#9670;&nbsp;</a></span>AddBoundingBox() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_BoundingBoxCache::AddBoundingBox </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___bounding_box_and_hash.html">ON_BoundingBoxAndHash</a> &amp;&#160;</td>
<td class="paramname"><em>bbox_and_hash</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3e39b3c204df497f853df622125fdc6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e39b3c204df497f853df622125fdc6a">&#9670;&nbsp;</a></span>BoundingBoxCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_BoundingBoxCache::BoundingBoxCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: Number of cached boxes. </p>
</div>
</div>
<a id="a675038848e67b3fb79997f67194a965e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a675038848e67b3fb79997f67194a965e">&#9670;&nbsp;</a></span>GetBoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BoundingBoxCache::GetBoundingBox </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> &amp;&#160;</td>
<td class="paramname"><em>hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;&#160;</td>
<td class="paramname"><em>bbox</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Get a cached bounding box. Parameters: hash - [in] bbox - [out] If the hash identifies a bounding box in the cache, then that bounding box is returned. Otherwise <a class="el" href="class_o_n___bounding_box.html#a638a489b986da528eccc0d252662ee7e" title="all coordinates are ON_DBL_QNAN ">ON_BoundingBox::NanBoundingBox</a> is returned. Returns: true - cached bounding box returned false - bounding box not in cache. </p>
</div>
</div>
<a id="a27c1dabc6aafd46c039be8109a45fc2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27c1dabc6aafd46c039be8109a45fc2d">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_o_n___bounding_box_cache.html">ON_BoundingBoxCache</a>&amp; ON_BoundingBoxCache::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___bounding_box_cache.html">ON_BoundingBoxCache</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8febc3c1e83fad9b55e385f2f67b03a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8febc3c1e83fad9b55e385f2f67b03a5">&#9670;&nbsp;</a></span>Read()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BoundingBoxCache::Read </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"><em>archive</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6554ab8bfaee25036dc98220e62dbdac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6554ab8bfaee25036dc98220e62dbdac">&#9670;&nbsp;</a></span>RemoveAllBoundingBoxes()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_BoundingBoxCache::RemoveAllBoundingBoxes </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Removes all bounding boxes. Remarks: If the hash values you are using are correctly computed and include all information that the bouding box depends on, then you never need to remove bounding boxes. Unused ones will get removed as new ones are added. If the hash does not include all information required to compute the bounding boxes, then call <a class="el" href="class_o_n___bounding_box_cache.html#a6554ab8bfaee25036dc98220e62dbdac">RemoveAllBoundingBoxes()</a> when the non-hashed information changes. </p>
</div>
</div>
<a id="a495b00d260a7600756aaf1b9a0379a48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a495b00d260a7600756aaf1b9a0379a48">&#9670;&nbsp;</a></span>RemoveBoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BoundingBoxCache::RemoveBoundingBox </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___s_h_a1___hash.html">ON_SHA1_Hash</a> &amp;&#160;</td>
<td class="paramname"><em>hash</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Remove a bounding box that can be found from a hash value. Parameters: hash - [in] Returns: true - hash was in the cache and removed. false - hash was not in the cache. Remarks: If the hash values you are using are correctly computed and include all information that the bouding box depends on, then you never need to remove bounding boxes. Unused ones will get removed as new ones are added. </p>
</div>
</div>
<a id="a29959fe84112f3119730d807d937c76b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29959fe84112f3119730d807d937c76b">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BoundingBoxCache::Write </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"><em>archive</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 25 2018 17:01:10 for openNURBS SDK Help by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>