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

557 lines
31 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_ObjRef 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="#pub-attribs">Public Attributes</a> &#124;
<a href="class_o_n___obj_ref-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_ObjRef Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="opennurbs__objref_8h_source.html">opennurbs_objref.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:a40c5bcb15a97e8367829e7d616051a2d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a40c5bcb15a97e8367829e7d616051a2d">ON_ObjRef</a> ()</td></tr>
<tr class="separator:a40c5bcb15a97e8367829e7d616051a2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05b32ddb2ded613805c5ca75be1e2678"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a05b32ddb2ded613805c5ca75be1e2678">ON_ObjRef</a> (const <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> &amp;src)</td></tr>
<tr class="separator:a05b32ddb2ded613805c5ca75be1e2678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa47ec76460fa4e19470568cfd0964da"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#aaa47ec76460fa4e19470568cfd0964da">~ON_ObjRef</a> ()</td></tr>
<tr class="separator:aaa47ec76460fa4e19470568cfd0964da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28085af6bac22cc5b2be0d717e82a42e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a28085af6bac22cc5b2be0d717e82a42e">DecrementProxyReferenceCount</a> ()</td></tr>
<tr class="separator:a28085af6bac22cc5b2be0d717e82a42e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d39cf2167a1c9ef68688f59bb17f5f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a3d39cf2167a1c9ef68688f59bb17f5f1">Destroy</a> ()</td></tr>
<tr class="separator:a3d39cf2167a1c9ef68688f59bb17f5f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d0841d0514fd9c8eec5dff151c41240"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a9d0841d0514fd9c8eec5dff151c41240">operator=</a> (const <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> &amp;src)</td></tr>
<tr class="separator:a9d0841d0514fd9c8eec5dff151c41240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbd0b54718a9b3fa0e3b84c083372323"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_o_n___object.html">ON_Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#afbd0b54718a9b3fa0e3b84c083372323">ProxyObject</a> (int proxy_object_index) const</td></tr>
<tr class="separator:afbd0b54718a9b3fa0e3b84c083372323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad93198c79a40cddbf1788c26582d2bb2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#ad93198c79a40cddbf1788c26582d2bb2">ProxyReferenceCount</a> () const</td></tr>
<tr class="separator:ad93198c79a40cddbf1788c26582d2bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2196f6637c6571ea92f37237fa9ab2bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a2196f6637c6571ea92f37237fa9ab2bd">Read</a> (<a class="el" href="class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;)</td></tr>
<tr class="separator:a2196f6637c6571ea92f37237fa9ab2bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20552c00e67ccf76a1b93fa8fe046ebc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a20552c00e67ccf76a1b93fa8fe046ebc">RemapObjectId</a> (const <a class="el" href="class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="class_o_n___uuid_pair.html">ON_UuidPair</a> &gt; &amp;uuid_remap)</td></tr>
<tr class="separator:a20552c00e67ccf76a1b93fa8fe046ebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad67113207a49fc4e2da2ace05ecdf4f7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#ad67113207a49fc4e2da2ace05ecdf4f7">SetParentIRef</a> (const <a class="el" href="class_o_n___instance_ref.html">ON_InstanceRef</a> &amp;iref, <a class="el" href="struct_o_n___u_u_i_d__struct.html">ON_UUID</a> iref_id, int idef_geometry_index)</td></tr>
<tr class="separator:ad67113207a49fc4e2da2ace05ecdf4f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38f2f78fbff8fada250d4cc1119baa2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a38f2f78fbff8fada250d4cc1119baa2d">SetProxy</a> (<a class="el" href="class_o_n___object.html">ON_Object</a> *proxy1, <a class="el" href="class_o_n___object.html">ON_Object</a> *proxy2, bool bCountReferences)</td></tr>
<tr class="separator:a38f2f78fbff8fada250d4cc1119baa2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2da05e608cc071c37169835d2fa7c872"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a2da05e608cc071c37169835d2fa7c872">Write</a> (<a class="el" href="class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;) const</td></tr>
<tr class="separator:a2da05e608cc071c37169835d2fa7c872"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a27c1433660f45e922512f1bbdf7e4cd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="class_o_n___obj_ref___i_ref_i_d.html">ON_ObjRef_IRefID</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a27c1433660f45e922512f1bbdf7e4cd2">m__iref</a></td></tr>
<tr class="separator:a27c1433660f45e922512f1bbdf7e4cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38650602fdc43da6c13914f47ccda58f"><td class="memItemLeft" align="right" valign="top">ON_COMPONENT_INDEX&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a38650602fdc43da6c13914f47ccda58f">m_component_index</a></td></tr>
<tr class="separator:a38650602fdc43da6c13914f47ccda58f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af939eab31a7238b44125c806824d827d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_n___obj_ref_evaluation_parameter.html">ON_ObjRefEvaluationParameter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#af939eab31a7238b44125c806824d827d">m_evp</a></td></tr>
<tr class="separator:af939eab31a7238b44125c806824d827d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98167955401831769ab8dc587d23d6a5"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_o_n___geometry.html">ON_Geometry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a98167955401831769ab8dc587d23d6a5">m_geometry</a></td></tr>
<tr class="separator:a98167955401831769ab8dc587d23d6a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eb509b5ddad4b1e43519ba8ab20e9de"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a5eb509b5ddad4b1e43519ba8ab20e9de">m_geometry_type</a></td></tr>
<tr class="separator:a5eb509b5ddad4b1e43519ba8ab20e9de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2394f088347d47b3cea35bdf9d3991"><td class="memItemLeft" align="right" valign="top">ON::osnap_mode&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a5a2394f088347d47b3cea35bdf9d3991">m_osnap_mode</a></td></tr>
<tr class="separator:a5a2394f088347d47b3cea35bdf9d3991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfa4f779de04b5ebd096d719141338bb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_o_n___geometry.html">ON_Geometry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#acfa4f779de04b5ebd096d719141338bb">m_parent_geometry</a></td></tr>
<tr class="separator:acfa4f779de04b5ebd096d719141338bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f0b23e5cb00ea45a2dc3db5b9e16d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a14f0b23e5cb00ea45a2dc3db5b9e16d6">m_point</a></td></tr>
<tr class="separator:a14f0b23e5cb00ea45a2dc3db5b9e16d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab15145f3dbc8ed496ff272f051815b6a"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#ab15145f3dbc8ed496ff272f051815b6a">m_runtime_sn</a></td></tr>
<tr class="separator:ab15145f3dbc8ed496ff272f051815b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a786220658c1cf03ca3356c348596478c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_o_n___obj_ref.html#a786220658c1cf03ca3356c348596478c">m_uuid</a></td></tr>
<tr class="separator:a786220658c1cf03ca3356c348596478c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a40c5bcb15a97e8367829e7d616051a2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40c5bcb15a97e8367829e7d616051a2d">&#9670;&nbsp;</a></span>ON_ObjRef() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_ObjRef::ON_ObjRef </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a05b32ddb2ded613805c5ca75be1e2678"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05b32ddb2ded613805c5ca75be1e2678">&#9670;&nbsp;</a></span>ON_ObjRef() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_ObjRef::ON_ObjRef </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> &amp;&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaa47ec76460fa4e19470568cfd0964da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa47ec76460fa4e19470568cfd0964da">&#9670;&nbsp;</a></span>~ON_ObjRef()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_ObjRef::~ON_ObjRef </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a28085af6bac22cc5b2be0d717e82a42e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28085af6bac22cc5b2be0d717e82a42e">&#9670;&nbsp;</a></span>DecrementProxyReferenceCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_ObjRef::DecrementProxyReferenceCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Expert user tool to decrement reference counts. Most users will never need to call this tool. It is called by ~ON_ObjRef and used in rare cases when a <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> needs to reference an object only by uuid and component index. </p>
</div>
</div>
<a id="a3d39cf2167a1c9ef68688f59bb17f5f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d39cf2167a1c9ef68688f59bb17f5f1">&#9670;&nbsp;</a></span>Destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_ObjRef::Destroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9d0841d0514fd9c8eec5dff151c41240"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d0841d0514fd9c8eec5dff151c41240">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a>&amp; ON_ObjRef::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> &amp;&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afbd0b54718a9b3fa0e3b84c083372323"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbd0b54718a9b3fa0e3b84c083372323">&#9670;&nbsp;</a></span>ProxyObject()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="class_o_n___object.html">ON_Object</a>* ON_ObjRef::ProxyObject </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>proxy_object_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Parameters: proxy_object_index - [in] 1 or 2. Returns: A pointer to the requested proxy object. </p>
</div>
</div>
<a id="ad93198c79a40cddbf1788c26582d2bb2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad93198c79a40cddbf1788c26582d2bb2">&#9670;&nbsp;</a></span>ProxyReferenceCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_ObjRef::ProxyReferenceCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: 0: This <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> is not counting references. &gt;0: Number of references. </p>
</div>
</div>
<a id="a2196f6637c6571ea92f37237fa9ab2bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2196f6637c6571ea92f37237fa9ab2bd">&#9670;&nbsp;</a></span>Read()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ObjRef::Read </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a20552c00e67ccf76a1b93fa8fe046ebc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20552c00e67ccf76a1b93fa8fe046ebc">&#9670;&nbsp;</a></span>RemapObjectId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_ObjRef::RemapObjectId </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="class_o_n___uuid_pair.html">ON_UuidPair</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>uuid_remap</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: This tool is used in rare situations when the object ids stored in the uuid list need to be remapped. Parameters: uuid_remap - [in] Is it critical that uuid_remap[] be sorted with respect to <a class="el" href="class_o_n___uuid_pair.html#a453128b528d685bf7d8358abe9af21f0">ON_UuidPair::CompareFirstUuid</a>. </p>
</div>
</div>
<a id="ad67113207a49fc4e2da2ace05ecdf4f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad67113207a49fc4e2da2ace05ecdf4f7">&#9670;&nbsp;</a></span>SetParentIRef()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ObjRef::SetParentIRef </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_o_n___instance_ref.html">ON_InstanceRef</a> &amp;&#160;</td>
<td class="paramname"><em>iref</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>iref_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>idef_geometry_index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a38f2f78fbff8fada250d4cc1119baa2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38f2f78fbff8fada250d4cc1119baa2d">&#9670;&nbsp;</a></span>SetProxy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_ObjRef::SetProxy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_o_n___object.html">ON_Object</a> *&#160;</td>
<td class="paramname"><em>proxy1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_o_n___object.html">ON_Object</a> *&#160;</td>
<td class="paramname"><em>proxy2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bCountReferences</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Expert user tool to initialize the <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> m__proxy1, m__proxy2, and m__proxy_ref_count fields. </p>
</div>
</div>
<a id="a2da05e608cc071c37169835d2fa7c872"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2da05e608cc071c37169835d2fa7c872">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ObjRef::Write </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a27c1433660f45e922512f1bbdf7e4cd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27c1433660f45e922512f1bbdf7e4cd2">&#9670;&nbsp;</a></span>m__iref</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_o_n___simple_array.html">ON_SimpleArray</a>&lt;<a class="el" href="class_o_n___obj_ref___i_ref_i_d.html">ON_ObjRef_IRefID</a>&gt; ON_ObjRef::m__iref</td>
</tr>
</table>
</div><div class="memdoc">
<p>If m__iref[] is not empty, then m_uuid identifies and instance reference (ON_InstanceRef/CRhinoInstanceObject) and m__iref[] records the chain of instance references from the base piece of geometry to the instance reference. The top level instance reference is last in the list. </p>
</div>
</div>
<a id="a38650602fdc43da6c13914f47ccda58f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38650602fdc43da6c13914f47ccda58f">&#9670;&nbsp;</a></span>m_component_index</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_COMPONENT_INDEX ON_ObjRef::m_component_index</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af939eab31a7238b44125c806824d827d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af939eab31a7238b44125c806824d827d">&#9670;&nbsp;</a></span>m_evp</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_o_n___obj_ref_evaluation_parameter.html">ON_ObjRefEvaluationParameter</a> ON_ObjRef::m_evp</td>
</tr>
</table>
</div><div class="memdoc">
<p>If m_point != <a class="el" href="class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a> and m_evp.m_t_type != 0, then m_evp records the records the m_geometry evaluation parameters for the m_point. </p>
</div>
</div>
<a id="a98167955401831769ab8dc587d23d6a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98167955401831769ab8dc587d23d6a5">&#9670;&nbsp;</a></span>m_geometry</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="class_o_n___geometry.html">ON_Geometry</a>* ON_ObjRef::m_geometry</td>
</tr>
</table>
</div><div class="memdoc">
<p>The m_geometry and m_parent_geometry pointers are runtime values that point to the object being referenced. The destructor ~ON_ObjRef does not delete the objects these pointers reference.</p>
<p>m_geometry_type records the type of geometry m_geometry points to.</p>
<p>When the referenced object is a subobject, like a part of a brep or mesh, m_geometry points to the subobject and m_parent_geometry points to the parent object, like the brep or mesh. In this case m_component_index records the location of the subobject.</p>
<p>Parts of instance reference objects: When the geometry belongs to an instance reference m_uuid is the id of the CRhinoInstanceObject, m_parent_geometry points to the instance definition geometry or a transformed proxy, and m_geometry points to the piece of m_geometry. The m__iref[] array records the connection between the instance reference and the geometry the <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> refers to.</p>
<p>For example if the <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> is to an edge of a brep in and instance reference, m_uuid would be the Rhino id of the CRhinoInstanceObject, m_parent_geometry would point to a, possibly proxy, <a class="el" href="class_o_n___brep.html">ON_Brep</a> object, m_geometry would point to the <a class="el" href="class_o_n___brep_edge.html">ON_BrepEdge</a> in the <a class="el" href="class_o_n___brep.html">ON_Brep</a>, m_component_index would record the edge's index in the <a class="el" href="class_o_n___brep.html#a0cab74697be6282befc920ab0db73c63" title="edges ">ON_Brep.m_E</a>[] array and m_geometry_type would be ON::curve_object or ON::brep_edge. m__iref-&gt;Last() would contain the information about the top level instance reference. If the brep was at the bottom of a chain of instance references, m__iref[0] would be the reference that immediately used the brep. </p>
</div>
</div>
<a id="a5eb509b5ddad4b1e43519ba8ab20e9de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eb509b5ddad4b1e43519ba8ab20e9de">&#9670;&nbsp;</a></span>m_geometry_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_ObjRef::m_geometry_type</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5a2394f088347d47b3cea35bdf9d3991"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a2394f088347d47b3cea35bdf9d3991">&#9670;&nbsp;</a></span>m_osnap_mode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON::osnap_mode ON_ObjRef::m_osnap_mode</td>
</tr>
</table>
</div><div class="memdoc">
<p>If the point was the result of some type of object snap, then the object snap is recorded here. </p>
</div>
</div>
<a id="acfa4f779de04b5ebd096d719141338bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfa4f779de04b5ebd096d719141338bb">&#9670;&nbsp;</a></span>m_parent_geometry</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="class_o_n___geometry.html">ON_Geometry</a>* ON_ObjRef::m_parent_geometry</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a14f0b23e5cb00ea45a2dc3db5b9e16d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14f0b23e5cb00ea45a2dc3db5b9e16d6">&#9670;&nbsp;</a></span>m_point</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_o_n__3d_point.html">ON_3dPoint</a> ON_ObjRef::m_point</td>
</tr>
</table>
</div><div class="memdoc">
<p>If m_point != <a class="el" href="class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a>, then the ObjRef resolves to a point location. The point location is saved here so the information can persist if the object itself vanishes. </p>
</div>
</div>
<a id="ab15145f3dbc8ed496ff272f051815b6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab15145f3dbc8ed496ff272f051815b6a">&#9670;&nbsp;</a></span>m_runtime_sn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_ObjRef::m_runtime_sn</td>
</tr>
</table>
</div><div class="memdoc">
<p>If m_runtime_sn &gt; 0, then it is the value of a Rhino object's CRhinoObject::m_runtime_object_serial_number field. The serial number is used instead of the pointer to prevent crashes in cases when the CRhinoObject is deleted but an <a class="el" href="class_o_n___obj_ref.html">ON_ObjRef</a> continues to reference the Rhino object. The value of m_runtime_sn is not saved in archives because it generally changes if you save and reload an archive. </p>
</div>
</div>
<a id="a786220658c1cf03ca3356c348596478c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a786220658c1cf03ca3356c348596478c">&#9670;&nbsp;</a></span>m_uuid</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="struct_o_n___u_u_i_d__struct.html">ON_UUID</a> ON_ObjRef::m_uuid</td>
</tr>
</table>
</div><div class="memdoc">
<p>In Rhino, this uuid is the persistent id of the CRhinoObject that owns the referenced geometry. The value of the CRhinoObject id is stored on <a class="el" href="class_o_n__3dm_object_attributes.html#a806a85052b002c45021650e3b97e2018">ON_3dmObjectAttributes.m_uuid</a>. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 25 2018 17:01:11 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>