Files
opennurbs/6/db/da6/class_o_n___uncompress_stream.html
Bozo 832ccb5c1a Publish!
Generated from v6.0.11315.11111-test14
2018-02-03 11:08:49 -08:00

439 lines
32 KiB
HTML

<!-- HTML header for doxygen 1.8.13-->
<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_UncompressStream 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="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../customdoxygen.css" rel="stylesheet" type="text/css"/>
<!-- bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- smartmenus -->
<link href="../../jquery.smartmenus.bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="../../jquery.smartmenus.js"></script>
<script type="text/javascript" src="../../jquery.smartmenus.bootstrap.js"></script>
</head>
<body>
<!-- <div class="version-banner">
Go back to the <a href="/">main site</a>...
</div> -->
<div class="container">
<!-- navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<a class="navbar-brand" href="#">openNURBS SDK Help</a>
<div class="navbar-collapse collapse" id="main-nav-placeholder">
<!-- <p class="navbar-text navbar-right">v6.0</p> -->
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" href="#">v6.0 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Latest (6.x)</a></li>
<li class="disabled"><a href="#">WIP (7.x)</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="page-content">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('../../',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="../../d5/dba/class_o_n___uncompress_stream-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_UncompressStream Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d1/dac/opennurbs__compress_8h_source.html">opennurbs_compress.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:a8d91879b1fa172e5b813fcbaac40bd5c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8d91879b1fa172e5b813fcbaac40bd5c">ON_UncompressStream</a> ()</td></tr>
<tr class="separator:a8d91879b1fa172e5b813fcbaac40bd5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37e393cb6c9e32952610d56a0c46a733"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a37e393cb6c9e32952610d56a0c46a733">~ON_UncompressStream</a> ()</td></tr>
<tr class="separator:a37e393cb6c9e32952610d56a0c46a733"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f88148e68551489bfbaa663adb79d9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29f88148e68551489bfbaa663adb79d9">Begin</a> ()</td></tr>
<tr class="memdesc:a29f88148e68551489bfbaa663adb79d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call BeginUnompressStream() one time to initialize the compression calculation. Then call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a> one or more times to submit the compressed stream to the uncompression calculation. When you reach the end of the compressed stream, call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a>. <a href="#a29f88148e68551489bfbaa663adb79d9">More...</a><br /></td></tr>
<tr class="separator:a29f88148e68551489bfbaa663adb79d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25dc8cc0328e240ec387db4c36ee78ae"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a25dc8cc0328e240ec387db4c36ee78ae">CallbackContext</a> () const</td></tr>
<tr class="separator:a25dc8cc0328e240ec387db4c36ee78ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6485ccf2b6a8d656fbe1aba2c6cd189f"><td class="memItemLeft" align="right" valign="top">ON_StreamCallbackFunction&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a6485ccf2b6a8d656fbe1aba2c6cd189f">CallbackFunction</a> () const</td></tr>
<tr class="separator:a6485ccf2b6a8d656fbe1aba2c6cd189f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29eb4232418e9af5a71f16a7d5b547ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee">End</a> ()</td></tr>
<tr class="memdesc:a29eb4232418e9af5a71f16a7d5b547ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">After the last call to <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a>, call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a>. Calling <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a> may generate zero or more calls to the output stream handler. <a href="#a29eb4232418e9af5a71f16a7d5b547ee">More...</a><br /></td></tr>
<tr class="separator:a29eb4232418e9af5a71f16a7d5b547ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8106e0ba2e7d37c07f81ba9bece9b810"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810">In</a> (ON__UINT64 in_buffer_size, const void *in_buffer)</td></tr>
<tr class="memdesc:a8106e0ba2e7d37c07f81ba9bece9b810"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a> one or more times to uncompress a stream of compressed bytes. After the last call to <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a>, call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a>. Calling <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a> may generate zero or more calls to the output stream handler. <a href="#a8106e0ba2e7d37c07f81ba9bece9b810">More...</a><br /></td></tr>
<tr class="separator:a8106e0ba2e7d37c07f81ba9bece9b810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c46a88652e57e92d7d3ea22f63f7f20"><td class="memItemLeft" align="right" valign="top">ON__UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a5c46a88652e57e92d7d3ea22f63f7f20">InCRC</a> () const</td></tr>
<tr class="separator:a5c46a88652e57e92d7d3ea22f63f7f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3814a5462ffe1e2558fab5a60dabad4"><td class="memItemLeft" align="right" valign="top">ON__UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#ad3814a5462ffe1e2558fab5a60dabad4">InSize</a> () const</td></tr>
<tr class="separator:ad3814a5462ffe1e2558fab5a60dabad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad640f13ec9fa64c55ddd029084ed6fb"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#aad640f13ec9fa64c55ddd029084ed6fb">Out</a> (void *callback_context, ON__UINT32 out_buffer_size, const void *out_buffer)</td></tr>
<tr class="memdesc:aad640f13ec9fa64c55ddd029084ed6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">If an explicit uncompressed stream handler is not specified ( <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a6485ccf2b6a8d656fbe1aba2c6cd189f">CallbackFunction()</a> returns null ), then the virtual <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#aad640f13ec9fa64c55ddd029084ed6fb" title="If an explicit uncompressed stream handler is not specified ( CallbackFunction() returns null )...">Out()</a> function is called to handle the uncompressed output stream. As the input stream is uncompressed, one or more calls to <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#aad640f13ec9fa64c55ddd029084ed6fb" title="If an explicit uncompressed stream handler is not specified ( CallbackFunction() returns null )...">Out()</a> will occur. <a href="#aad640f13ec9fa64c55ddd029084ed6fb">More...</a><br /></td></tr>
<tr class="separator:aad640f13ec9fa64c55ddd029084ed6fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4b5a2e44b53e18ef50f61c448f6113f"><td class="memItemLeft" align="right" valign="top">ON__UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#ad4b5a2e44b53e18ef50f61c448f6113f">OutCRC</a> () const</td></tr>
<tr class="separator:ad4b5a2e44b53e18ef50f61c448f6113f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cee7a86e997b2c52db9c8e9385bd061"><td class="memItemLeft" align="right" valign="top">ON__UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a7cee7a86e997b2c52db9c8e9385bd061">OutSize</a> () const</td></tr>
<tr class="separator:a7cee7a86e997b2c52db9c8e9385bd061"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e2a92c7a5006a1553131ed21b594331"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a9e2a92c7a5006a1553131ed21b594331">SetCallback</a> (ON_StreamCallbackFunction callback_function, void *callback_context)</td></tr>
<tr class="memdesc:a9e2a92c7a5006a1553131ed21b594331"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html">ON_UncompressStream</a> delivers the uncompressed stream by calling an uncompressed stream output handler function. There are two options for specifying the uncompressed stream output handler function. <a href="#a9e2a92c7a5006a1553131ed21b594331">More...</a><br /></td></tr>
<tr class="separator:a9e2a92c7a5006a1553131ed21b594331"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8d91879b1fa172e5b813fcbaac40bd5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d91879b1fa172e5b813fcbaac40bd5c">&#9670;&nbsp;</a></span>ON_UncompressStream()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_UncompressStream::ON_UncompressStream </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a37e393cb6c9e32952610d56a0c46a733"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37e393cb6c9e32952610d56a0c46a733">&#9670;&nbsp;</a></span>~ON_UncompressStream()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ON_UncompressStream::~ON_UncompressStream </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a29f88148e68551489bfbaa663adb79d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29f88148e68551489bfbaa663adb79d9">&#9670;&nbsp;</a></span>Begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_UncompressStream::Begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Call BeginUnompressStream() one time to initialize the compression calculation. Then call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a> one or more times to submit the compressed stream to the uncompression calculation. When you reach the end of the compressed stream, call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>true if successful, false if an error occured. </dd></dl>
</div>
</div>
<a id="a25dc8cc0328e240ec387db4c36ee78ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25dc8cc0328e240ec387db4c36ee78ae">&#9670;&nbsp;</a></span>CallbackContext()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* ON_UncompressStream::CallbackContext </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Current value of the context pointer passed as the first argument to the uncompressed stream output handler function. </dd></dl>
</div>
</div>
<a id="a6485ccf2b6a8d656fbe1aba2c6cd189f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6485ccf2b6a8d656fbe1aba2c6cd189f">&#9670;&nbsp;</a></span>CallbackFunction()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_StreamCallbackFunction ON_UncompressStream::CallbackFunction </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Current value of the callback function for handling the uncompressed stream. If the callback function is null, the the virtual UncompressedStreamOut() function is used. </dd></dl>
</div>
</div>
<a id="a29eb4232418e9af5a71f16a7d5b547ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29eb4232418e9af5a71f16a7d5b547ee">&#9670;&nbsp;</a></span>End()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_UncompressStream::End </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>After the last call to <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a>, call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a>. Calling <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a> may generate zero or more calls to the output stream handler. </p>
<dl class="section return"><dt>Returns</dt><dd>true if successful, false if an error occured. </dd></dl>
</div>
</div>
<a id="a8106e0ba2e7d37c07f81ba9bece9b810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8106e0ba2e7d37c07f81ba9bece9b810">&#9670;&nbsp;</a></span>In()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_UncompressStream::In </td>
<td>(</td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>in_buffer_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>in_buffer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a> one or more times to uncompress a stream of compressed bytes. After the last call to <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a>, call <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a>. Calling <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a> may generate zero or more calls to the output stream handler. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">in_buffer_size</td><td>[in] number of bytes in in_buffer</td></tr>
<tr><td class="paramname">in_buffer</td><td>[in]</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful, false if an error occured. </dd></dl>
</div>
</div>
<a id="a5c46a88652e57e92d7d3ea22f63f7f20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c46a88652e57e92d7d3ea22f63f7f20">&#9670;&nbsp;</a></span>InCRC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON__UINT32 ON_UncompressStream::InCRC </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Then the returned value is the 32-bit crc of the input stream. The crc is updated every time <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a> is called before any calls are made to the output stream handler. If the compression calculation is finished ( <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a> has been called ), then the returned value is the 32-bit crc of the entire input stream. </dd></dl>
</div>
</div>
<a id="ad3814a5462ffe1e2558fab5a60dabad4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3814a5462ffe1e2558fab5a60dabad4">&#9670;&nbsp;</a></span>InSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON__UINT64 ON_UncompressStream::InSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Then the returned value is the total number bytes in the input stream. The size is updated every time <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a8106e0ba2e7d37c07f81ba9bece9b810" title="Call In() one or more times to uncompress a stream of compressed bytes. After the last call to In()...">In()</a> is called before any calls are made to the output stream handler. If the calculation is finished ( <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a> has been called ), then the returned value is the total number of bytes in the entire input stream. </dd></dl>
</div>
</div>
<a id="aad640f13ec9fa64c55ddd029084ed6fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad640f13ec9fa64c55ddd029084ed6fb">&#9670;&nbsp;</a></span>Out()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool ON_UncompressStream::Out </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>callback_context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT32&#160;</td>
<td class="paramname"><em>out_buffer_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>out_buffer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If an explicit uncompressed stream handler is not specified ( <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a6485ccf2b6a8d656fbe1aba2c6cd189f">CallbackFunction()</a> returns null ), then the virtual <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#aad640f13ec9fa64c55ddd029084ed6fb" title="If an explicit uncompressed stream handler is not specified ( CallbackFunction() returns null )...">Out()</a> function is called to handle the uncompressed output stream. As the input stream is uncompressed, one or more calls to <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#aad640f13ec9fa64c55ddd029084ed6fb" title="If an explicit uncompressed stream handler is not specified ( CallbackFunction() returns null )...">Out()</a> will occur. </p>
<dl class="section return"><dt>Returns</dt><dd>True to continue uncompressing and false to cancel the uncompression calculation. </dd></dl>
<p>In general, it is probably going to be easier to test and debug your code if you ignore the callback_context parameter and add a member variable to your derived class to make additional information accessable to your Out function. </p>
</div>
</div>
<a id="ad4b5a2e44b53e18ef50f61c448f6113f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4b5a2e44b53e18ef50f61c448f6113f">&#9670;&nbsp;</a></span>OutCRC()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON__UINT32 ON_UncompressStream::OutCRC </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Then the returned value is the 32bit crc of the output stream. The crc is updated immediately after each call to the output stream handler. If the calculation is finished ( <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a> has been called ), then the returned value is the 32-bit crc of the entire output stream. </dd></dl>
</div>
</div>
<a id="a7cee7a86e997b2c52db9c8e9385bd061"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cee7a86e997b2c52db9c8e9385bd061">&#9670;&nbsp;</a></span>OutSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON__UINT64 ON_UncompressStream::OutSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Then the returned value is the total number bytes in the output stream. The size is incremented immediately after each call to the output stream handler. If the compression calculation is finished ( <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a29eb4232418e9af5a71f16a7d5b547ee" title="After the last call to In(), call End(). Calling End() may generate zero or more calls to the output ...">End()</a> has been called ), then the returned value is the total number of bytes in the entire output stream. </dd></dl>
</div>
</div>
<a id="a9e2a92c7a5006a1553131ed21b594331"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e2a92c7a5006a1553131ed21b594331">&#9670;&nbsp;</a></span>SetCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_UncompressStream::SetCallback </td>
<td>(</td>
<td class="paramtype">ON_StreamCallbackFunction&#160;</td>
<td class="paramname"><em>callback_function</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>callback_context</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="../../db/da6/class_o_n___uncompress_stream.html">ON_UncompressStream</a> delivers the uncompressed stream by calling an uncompressed stream output handler function. There are two options for specifying the uncompressed stream output handler function. </p>
<ol type="1">
<li>Overriding the virtual <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#aad640f13ec9fa64c55ddd029084ed6fb" title="If an explicit uncompressed stream handler is not specified ( CallbackFunction() returns null )...">Out()</a> function.</li>
<li>Providing a callback function. <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#a9e2a92c7a5006a1553131ed21b594331" title="ON_UncompressStream delivers the uncompressed stream by calling an uncompressed stream output handler...">SetCallback()</a> is used to specify a callback function to handle the uncompressed stream and to specify a context pointer to be passed to either option of the handler. </li>
</ol>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">callback_function</td><td>[in] Function to call with sections of the uncompressed stream. If callback_function is null, then the virtual <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#aad640f13ec9fa64c55ddd029084ed6fb" title="If an explicit uncompressed stream handler is not specified ( CallbackFunction() returns null )...">Out()</a> function will be called. When callback_function is specified, it must return true if the uncompression calculation should continue and false to cancel the uncompression calculation.</td></tr>
<tr><td class="paramname">callback_context</td><td>[in] This value is passed as the first argument when calling callback_function or the virutal <a class="el" href="../../db/da6/class_o_n___uncompress_stream.html#aad640f13ec9fa64c55ddd029084ed6fb" title="If an explicit uncompressed stream handler is not specified ( CallbackFunction() returns null )...">Out()</a> function.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
<p>Once uncompression has started, it would be unusual to intentionally change the uncompressed stream output handler, but you can do this if you need to. </p>
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.13-->
<!-- start footer part -->
</div> <!-- page-content -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Feb 3 2018 11:08:33 for openNURBS SDK Help by <a href="http://www.doxygen.org/index.html">
<!-- <img class="footer" src="../../doxygen.png" alt="doxygen"/> -->
Doxygen
</a> 1.8.13
</small></address>
</div> <!-- container -->
<!-- doxy-boot -->
<script type="text/javascript" src="../../doxy-boot.js"></script>
</body>
</html>