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

1699 lines
109 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_ComponentManifest 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-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="../../d8/db2/class_o_n___component_manifest-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_ComponentManifest Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d3/dad/opennurbs__archive_8h_source.html">opennurbs_archive.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a52bbb55ff09137dfb350dab96bd88b49"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">: int { <a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a52bbb55ff09137dfb350dab96bd88b49aef25730e4e48de9b7a5c0a8e6fcb78f8">UnsetComponentIndex</a> = ON_UNSET_INT_INDEX
}</td></tr>
<tr class="separator:a52bbb55ff09137dfb350dab96bd88b49"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:af02d7bd1b6bef002765b6d4d28f146fb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#af02d7bd1b6bef002765b6d4d28f146fb">ON_ComponentManifest</a> () ON_NOEXCEPT</td></tr>
<tr class="separator:af02d7bd1b6bef002765b6d4d28f146fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad268dfddae992e7df18e773d8cd434d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#ad268dfddae992e7df18e773d8cd434d4">~ON_ComponentManifest</a> ()</td></tr>
<tr class="separator:ad268dfddae992e7df18e773d8cd434d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa95929cd4e57cb5d99898b3d63685e33"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#aa95929cd4e57cb5d99898b3d63685e33">ActiveAndDeletedComponentCount</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type) const</td></tr>
<tr class="separator:aa95929cd4e57cb5d99898b3d63685e33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aacbfb3035abe624c66d378a56ca88544"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#aacbfb3035abe624c66d378a56ca88544">ActiveComponentCount</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type) const</td></tr>
<tr class="separator:aacbfb3035abe624c66d378a56ca88544"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9abda0fc5137f08dd7a73cf2f5135a92"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a9abda0fc5137f08dd7a73cf2f5135a92">AddComponentToManifest</a> (const class <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;component, bool bResolveIdAndNameCollisions, <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> *assigned_name)</td></tr>
<tr class="memdesc:a9abda0fc5137f08dd7a73cf2f5135a92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a component to this manifest. If the id is not set or not unique, the component will not be added. If a unique name is required and the name is not set or not unique, the component will not be added. <a href="#a9abda0fc5137f08dd7a73cf2f5135a92">More...</a><br /></td></tr>
<tr class="separator:a9abda0fc5137f08dd7a73cf2f5135a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b754a59a38f9cfc2ffac6137d90cc8b"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a0b754a59a38f9cfc2ffac6137d90cc8b">AddComponentToManifest</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, ON__UINT64 component_serial_number, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> component_id, const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;component_name_hash)</td></tr>
<tr class="memdesc:a0b754a59a38f9cfc2ffac6137d90cc8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a component to this manifest. <a href="#a0b754a59a38f9cfc2ffac6137d90cc8b">More...</a><br /></td></tr>
<tr class="separator:a0b754a59a38f9cfc2ffac6137d90cc8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13839befdc5805c79c61b032b3c5b384"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a13839befdc5805c79c61b032b3c5b384">AddComponentToManifest</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, ON__UINT64 component_serial_number, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> component_parent_id, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> component_id, const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;component_name_hash, const wchar_t *candidate_name, <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;assigned_name)</td></tr>
<tr class="memdesc:a13839befdc5805c79c61b032b3c5b384"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a component to this manifest. If the id is not set or in use, then a new one will be assigned. If the component type requires a unique name and the name is not set or in use, then a new one will be assigned. <a href="#a13839befdc5805c79c61b032b3c5b384">More...</a><br /></td></tr>
<tr class="separator:a13839befdc5805c79c61b032b3c5b384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08bbb80771e5f93d38888cf2438462da"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a08bbb80771e5f93d38888cf2438462da">AddComponentToManifest</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, ON__UINT64 component_serial_number, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> component_parent_id, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> component_id, const wchar_t *original_name, <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;assigned_name)</td></tr>
<tr class="separator:a08bbb80771e5f93d38888cf2438462da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a790d271717737c4043ab419d1426f180"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a790d271717737c4043ab419d1426f180">AddSystemComponentToManifest</a> (const class <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;component)</td></tr>
<tr class="separator:a790d271717737c4043ab419d1426f180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a098e691dd59c4fde1764e5f251fe5c64"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a098e691dd59c4fde1764e5f251fe5c64">ChangeComponentName</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id, <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> component_parent_id, const wchar_t *component_name)</td></tr>
<tr class="memdesc:a098e691dd59c4fde1764e5f251fe5c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify a manifest items's component name <a href="#a098e691dd59c4fde1764e5f251fe5c64">More...</a><br /></td></tr>
<tr class="separator:a098e691dd59c4fde1764e5f251fe5c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c9d5b1cbf797690ec1e403ea97714f7"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a8c9d5b1cbf797690ec1e403ea97714f7">ChangeComponentName</a> (const class <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;component)</td></tr>
<tr class="memdesc:a8c9d5b1cbf797690ec1e403ea97714f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify a manifest items's component name <a href="#a8c9d5b1cbf797690ec1e403ea97714f7">More...</a><br /></td></tr>
<tr class="separator:a8c9d5b1cbf797690ec1e403ea97714f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7682b69ec72892031635725f09285b15"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a7682b69ec72892031635725f09285b15">ChangeComponentNameHash</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id, const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;component_name_hash)</td></tr>
<tr class="memdesc:a7682b69ec72892031635725f09285b15"><td class="mdescLeft">&#160;</td><td class="mdescRight">A function for expert users to directly set the component's name hash. Generally, it is better to use the <a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a098e691dd59c4fde1764e5f251fe5c64" title="Modify a manifest items&#39;s component name ">ChangeComponentName()</a> functions. <a href="#a7682b69ec72892031635725f09285b15">More...</a><br /></td></tr>
<tr class="separator:a7682b69ec72892031635725f09285b15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ca471bbdadc841453fbde298a7a773d"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a1ca471bbdadc841453fbde298a7a773d">ChangeComponentRuntimeSerialNumber</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id, ON__UINT64 component_runtime_serial_number)</td></tr>
<tr class="memdesc:a1ca471bbdadc841453fbde298a7a773d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify a manifest items's component m_component_runtime_serial_number, m_original_index, m_original_id, and m_name_hash values. <a href="#a1ca471bbdadc841453fbde298a7a773d">More...</a><br /></td></tr>
<tr class="separator:a1ca471bbdadc841453fbde298a7a773d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44a8a9259acfe02986cbc49bc3284793"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a44a8a9259acfe02986cbc49bc3284793">ComponentIndexLimit</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type) const</td></tr>
<tr class="separator:a44a8a9259acfe02986cbc49bc3284793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc537e65458f94f8f2c7f11070318649"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#afc537e65458f94f8f2c7f11070318649">DeleteComponent</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id)</td></tr>
<tr class="memdesc:afc537e65458f94f8f2c7f11070318649"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a component's status to deleted. <a href="#afc537e65458f94f8f2c7f11070318649">More...</a><br /></td></tr>
<tr class="separator:afc537e65458f94f8f2c7f11070318649"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add30c9497bb1d5965c51fec4be781cea"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#add30c9497bb1d5965c51fec4be781cea">DeleteComponent</a> (ON__UINT64 component_runtime_serial_number)</td></tr>
<tr class="separator:add30c9497bb1d5965c51fec4be781cea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5de00430e84021a90653ce60e867ffd"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#ac5de00430e84021a90653ce60e867ffd">DeletedComponentCount</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type) const</td></tr>
<tr class="separator:ac5de00430e84021a90653ce60e867ffd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6db480e7b31755e6891f99e12e31003b"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a6db480e7b31755e6891f99e12e31003b">FirstItem</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type) const</td></tr>
<tr class="separator:a6db480e7b31755e6891f99e12e31003b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae63d83274dbb55231b64eef9270459b6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#ae63d83274dbb55231b64eef9270459b6">IdIsAvailable</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> id) const</td></tr>
<tr class="separator:ae63d83274dbb55231b64eef9270459b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52fca8ac8ec7336d0b2b875ac65f5bae"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a52fca8ac8ec7336d0b2b875ac65f5bae">ItemCount</a> () const</td></tr>
<tr class="memdesc:a52fca8ac8ec7336d0b2b875ac65f5bae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of items in the manifest, including items referencing system components and deleted items. <a href="#a52fca8ac8ec7336d0b2b875ac65f5bae">More...</a><br /></td></tr>
<tr class="separator:a52fca8ac8ec7336d0b2b875ac65f5bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd9e3ea619b75a1f4b57b89f04a9e49a"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#acd9e3ea619b75a1f4b57b89f04a9e49a">ItemFromComponentRuntimeSerialNumber</a> (ON__UINT64 component_runtime_serial_number) const</td></tr>
<tr class="separator:acd9e3ea619b75a1f4b57b89f04a9e49a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d83036853b69e4ff30830d756a11f34"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a0d83036853b69e4ff30830d756a11f34">ItemFromId</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id) const</td></tr>
<tr class="separator:a0d83036853b69e4ff30830d756a11f34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a117aee9aa44b8468f7f07cd1045729"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a0a117aee9aa44b8468f7f07cd1045729">ItemFromId</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id) const</td></tr>
<tr class="memdesc:a0a117aee9aa44b8468f7f07cd1045729"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the item if it has the required component type and id. <a href="#a0a117aee9aa44b8468f7f07cd1045729">More...</a><br /></td></tr>
<tr class="separator:a0a117aee9aa44b8468f7f07cd1045729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a097059af66f6aa6377eb2836214c2daa"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a097059af66f6aa6377eb2836214c2daa">ItemFromIndex</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, int item_index) const</td></tr>
<tr class="separator:a097059af66f6aa6377eb2836214c2daa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad565f9d61e1b9fbf4a71f0c03400cb19"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#ad565f9d61e1b9fbf4a71f0c03400cb19">ItemFromName</a> (const class <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> *model_component) const</td></tr>
<tr class="separator:ad565f9d61e1b9fbf4a71f0c03400cb19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1abca2ce3cf0302cb470b283407e5c4b"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a1abca2ce3cf0302cb470b283407e5c4b">ItemFromName</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> parent_id, const wchar_t *name) const</td></tr>
<tr class="separator:a1abca2ce3cf0302cb470b283407e5c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e90877e797134e16babaeb48f170a07"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a1e90877e797134e16babaeb48f170a07">ItemFromNameHash</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;component_name_hash) const</td></tr>
<tr class="separator:a1e90877e797134e16babaeb48f170a07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b6bf90c5d0c1969bf8e59ae579303b1"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a6b6bf90c5d0c1969bf8e59ae579303b1">ItemFromUnsignedIndex</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, unsigned int unsigned_item_index) const</td></tr>
<tr class="separator:a6b6bf90c5d0c1969bf8e59ae579303b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa57d11168898aab8b206d33e70bf7d68"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#aa57d11168898aab8b206d33e70bf7d68">LastItem</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type) const</td></tr>
<tr class="separator:aa57d11168898aab8b206d33e70bf7d68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5298099ebaba4486e5239c4fdd0d1a33"><td class="memItemLeft" align="right" valign="top">ON__UINT64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a5298099ebaba4486e5239c4fdd0d1a33">ManifestContentVersionNumber</a> () const</td></tr>
<tr class="memdesc:a5298099ebaba4486e5239c4fdd0d1a33"><td class="mdescLeft">&#160;</td><td class="mdescRight">This number is incremented every time the manifest changes. <a href="#a5298099ebaba4486e5239c4fdd0d1a33">More...</a><br /></td></tr>
<tr class="separator:a5298099ebaba4486e5239c4fdd0d1a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac59e090410faf4de883c7a29496f474f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#ac59e090410faf4de883c7a29496f474f">NameIsAvailable</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;candidate_name_hash) const</td></tr>
<tr class="separator:ac59e090410faf4de883c7a29496f474f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e7ba8146e00f8bd5d6fb0cf3e3348d"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a09e7ba8146e00f8bd5d6fb0cf3e3348d">NextItem</a> (const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *item) const</td></tr>
<tr class="separator:a09e7ba8146e00f8bd5d6fb0cf3e3348d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8a55880241e09894afe289c6b75e27e"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#aa8a55880241e09894afe289c6b75e27e">NextItem</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> manifest_item_id) const</td></tr>
<tr class="separator:aa8a55880241e09894afe289c6b75e27e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a3cfc27a0da46a296b33b8258694f4f"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a7a3cfc27a0da46a296b33b8258694f4f">PreviousItem</a> (const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *item) const</td></tr>
<tr class="separator:a7a3cfc27a0da46a296b33b8258694f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf77a9fc9465e8b7837bb28ef8aff12e"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#abf77a9fc9465e8b7837bb28ef8aff12e">PreviousItem</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> manifest_item_id) const</td></tr>
<tr class="separator:abf77a9fc9465e8b7837bb28ef8aff12e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab19edd32dae3762b982aed7d2b3c5360"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#ab19edd32dae3762b982aed7d2b3c5360">RemoveAllComponents</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, bool bResetManifestIndex)</td></tr>
<tr class="separator:ab19edd32dae3762b982aed7d2b3c5360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad074d4bfbb5b9a1bb785ce494b6e161"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#aad074d4bfbb5b9a1bb785ce494b6e161">RemoveComponent</a> (const <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;component)</td></tr>
<tr class="separator:aad074d4bfbb5b9a1bb785ce494b6e161"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeadcd6716bf8f5bee62e240dea1724c1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#aeadcd6716bf8f5bee62e240dea1724c1">RemoveComponent</a> (ON__UINT64 component_runtime_serial_number)</td></tr>
<tr class="separator:aeadcd6716bf8f5bee62e240dea1724c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b6a22e3f10e9eecabbaeaa3438ef29c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a7b6a22e3f10e9eecabbaeaa3438ef29c">RemoveComponent</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id)</td></tr>
<tr class="separator:a7b6a22e3f10e9eecabbaeaa3438ef29c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66dd191683605cbbde489364d0bedfb3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a66dd191683605cbbde489364d0bedfb3">RemoveIndexedComponent</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, int item_index)</td></tr>
<tr class="separator:a66dd191683605cbbde489364d0bedfb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9db72593fd42b32b4919608eac4959f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a9db72593fd42b32b4919608eac4959f7">Reset</a> ()</td></tr>
<tr class="separator:a9db72593fd42b32b4919608eac4959f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4098c52c9ca70883ae94285151dbca42"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a4098c52c9ca70883ae94285151dbca42">SystemComponentCount</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type) const</td></tr>
<tr class="separator:a4098c52c9ca70883ae94285151dbca42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a845075f945783f1091a510b942641cf1"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a845075f945783f1091a510b942641cf1">SystemItemFromIndex</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, int system_item_index) const</td></tr>
<tr class="separator:a845075f945783f1091a510b942641cf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e5c5f8365d86e58289a0bc0e4fc2c8c"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a6e5c5f8365d86e58289a0bc0e4fc2c8c">SystemItemFromNameHash</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;system_item_name_hash) const</td></tr>
<tr class="separator:a6e5c5f8365d86e58289a0bc0e4fc2c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5b709013a02750bb0a79a9b78982559"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#aa5b709013a02750bb0a79a9b78982559">TotalComponentCount</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type) const</td></tr>
<tr class="separator:aa5b709013a02750bb0a79a9b78982559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24898626c7891326d8d0985754e6bc38"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a24898626c7891326d8d0985754e6bc38">UndeleteComponent</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> parent_id, const wchar_t *candidate_name, <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;assigned_name)</td></tr>
<tr class="memdesc:a24898626c7891326d8d0985754e6bc38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undelete a previously deleted component. <a href="#a24898626c7891326d8d0985754e6bc38">More...</a><br /></td></tr>
<tr class="separator:a24898626c7891326d8d0985754e6bc38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada4aaf1f8aa8308a401f74224d7463df"><td class="memItemLeft" align="right" valign="top">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#ada4aaf1f8aa8308a401f74224d7463df">UndeleteComponentAndChangeRuntimeSerialNumber</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> item_id, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> parent_id, ON__UINT64 new_component_runtime_serial_number, const wchar_t *candidate_name, <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;assigned_name)</td></tr>
<tr class="memdesc:ada4aaf1f8aa8308a401f74224d7463df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Undelete a previously deleted component with the same id and change the serial number to new_component_runtime_serial_number. <a href="#ada4aaf1f8aa8308a401f74224d7463df">More...</a><br /></td></tr>
<tr class="separator:ada4aaf1f8aa8308a401f74224d7463df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf5842f7b8325f0ef894b90bb26c8d25"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#adf5842f7b8325f0ef894b90bb26c8d25">UnusedId</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> candidate_id) const</td></tr>
<tr class="memdesc:adf5842f7b8325f0ef894b90bb26c8d25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an id that is not currently used in this manifest <a href="#adf5842f7b8325f0ef894b90bb26c8d25">More...</a><br /></td></tr>
<tr class="separator:adf5842f7b8325f0ef894b90bb26c8d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01624b17bfe7db1d96c773b07fb1ca83"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a01624b17bfe7db1d96c773b07fb1ca83">UnusedName</a> (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a> component_type, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> component_parent_id, const wchar_t *candidate_name, const wchar_t *base_name, const wchar_t *suffix_separator, unsigned int suffix0, unsigned int *suffix_value) const</td></tr>
<tr class="memdesc:a01624b17bfe7db1d96c773b07fb1ca83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a name that is currently not used in this manifest as either a component or manifest name. <a href="#a01624b17bfe7db1d96c773b07fb1ca83">More...</a><br /></td></tr>
<tr class="separator:a01624b17bfe7db1d96c773b07fb1ca83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad887a3844776b6a08473f2725f868203"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#ad887a3844776b6a08473f2725f868203">UnusedName</a> (const <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;model_component) const</td></tr>
<tr class="memdesc:ad887a3844776b6a08473f2725f868203"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a name that is currently not used in this manifest as either a component or manifest name. <a href="#ad887a3844776b6a08473f2725f868203">More...</a><br /></td></tr>
<tr class="separator:ad887a3844776b6a08473f2725f868203"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a7a838571207b4e5a8771c7aacffec086"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d8/d72/class_o_n___component_manifest.html">ON_ComponentManifest</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a7a838571207b4e5a8771c7aacffec086">Empty</a></td></tr>
<tr class="separator:a7a838571207b4e5a8771c7aacffec086"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a52bbb55ff09137dfb350dab96bd88b49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52bbb55ff09137dfb350dab96bd88b49">&#9670;&nbsp;</a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum : int</td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a52bbb55ff09137dfb350dab96bd88b49aef25730e4e48de9b7a5c0a8e6fcb78f8"></a>UnsetComponentIndex&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af02d7bd1b6bef002765b6d4d28f146fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af02d7bd1b6bef002765b6d4d28f146fb">&#9670;&nbsp;</a></span>ON_ComponentManifest()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_ComponentManifest::ON_ComponentManifest </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad268dfddae992e7df18e773d8cd434d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad268dfddae992e7df18e773d8cd434d4">&#9670;&nbsp;</a></span>~ON_ComponentManifest()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_ComponentManifest::~ON_ComponentManifest </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="aa95929cd4e57cb5d99898b3d63685e33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa95929cd4e57cb5d99898b3d63685e33">&#9670;&nbsp;</a></span>ActiveAndDeletedComponentCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_ComponentManifest::ActiveAndDeletedComponentCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] If component_type is <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eacac9f88e098f6fe4e4e112eeb05ccb9671" title="No value set.">ON_ModelComponent::Type::Unset</a> or <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eaca699b4f79215d191584653efebf156e52" title="Multiple component types. Used when a component type filter must include all explicit component types...">ON_ModelComponent::Type::Mixed</a>, then the every explict component type is counted.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of model components of the specified type in this manifest. </dd></dl>
<p>The count includes active and deleted components. The count does not include system components (those added by calling <a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a790d271717737c4043ab419d1426f180">AddSystemComponentToManifest()</a>). </p>
</div>
</div>
<a id="aacbfb3035abe624c66d378a56ca88544"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacbfb3035abe624c66d378a56ca88544">&#9670;&nbsp;</a></span>ActiveComponentCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_ComponentManifest::ActiveComponentCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] If component_type is <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eacac9f88e098f6fe4e4e112eeb05ccb9671" title="No value set.">ON_ModelComponent::Type::Unset</a> or <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eaca699b4f79215d191584653efebf156e52" title="Multiple component types. Used when a component type filter must include all explicit component types...">ON_ModelComponent::Type::Mixed</a>, then the every explict component type is counted.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of active model components of the specified type in this manifest. </dd></dl>
<p>The count does not include deleted components (IsDeleted() = true). The count does not include system components (those added by calling <a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a790d271717737c4043ab419d1426f180">AddSystemComponentToManifest()</a>). </p>
</div>
</div>
<a id="a9abda0fc5137f08dd7a73cf2f5135a92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9abda0fc5137f08dd7a73cf2f5135a92">&#9670;&nbsp;</a></span>AddComponentToManifest() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::AddComponentToManifest </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;&#160;</td>
<td class="paramname"><em>component</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bResolveIdAndNameCollisions</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> *&#160;</td>
<td class="paramname"><em>assigned_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a component to this manifest. If the id is not set or not unique, the component will not be added. If a unique name is required and the name is not set or not unique, the component will not be added. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component</td><td>[in] If you want to update the component id, index and name values to match the ones assigned in the manifest, then call component.SetIdentification(manifest_item), where manifest_item is the information returned by this function.</td></tr>
<tr><td class="paramname">bResolveIdAndNameCollisions</td><td>[in] If false, then the component parameter id must not be used in the manifest and, when required, the name must be set and unique. If true and a new id or name is required, one will be assigned. Note that the component parameter is const and its id and name are not modified.</td></tr>
<tr><td class="paramname">assigned_name</td><td>[out] If not null, the assigned name is returned here.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If an item is added to this manifest, then the assigned identification information is returned. Otherwise ON_ComponentManifestItem::Unset is returned. Note the manifest index is generally different from component.Index(). </dd></dl>
<p>Use </p>
</div>
</div>
<a id="a0b754a59a38f9cfc2ffac6137d90cc8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b754a59a38f9cfc2ffac6137d90cc8b">&#9670;&nbsp;</a></span>AddComponentToManifest() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::AddComponentToManifest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>component_serial_number</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>component_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;&#160;</td>
<td class="paramname"><em>component_name_hash</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a component to this manifest. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] Type of component.</td></tr>
<tr><td class="paramname">component_serial_number</td><td>[in] 0 or the component's unique runtime serial number (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#aec107d943b87f00ed57478ccc389ba17">ON_ModelComponent::RuntimeSerialNumber()</a>).</td></tr>
<tr><td class="paramname">component_id</td><td>[in]</td></tr>
<tr><td class="paramname">component_name_hash</td><td>[in] If the the component type requires a unique name and the name is not valid or in use, the component will not be added.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If an item is added to this manifest, then the identification information is returned. Otherwise ON_ComponentManifestItem::Unset is returned. Note: The manifest index is assigned to components that require an index. </dd></dl>
</div>
</div>
<a id="a13839befdc5805c79c61b032b3c5b384"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13839befdc5805c79c61b032b3c5b384">&#9670;&nbsp;</a></span>AddComponentToManifest() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::AddComponentToManifest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>component_serial_number</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>component_parent_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>component_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;&#160;</td>
<td class="paramname"><em>component_name_hash</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>candidate_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;&#160;</td>
<td class="paramname"><em>assigned_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a component to this manifest. If the id is not set or in use, then a new one will be assigned. If the component type requires a unique name and the name is not set or in use, then a new one will be assigned. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] Type of component.</td></tr>
<tr><td class="paramname">component_serial_number</td><td>[in] 0 or the component's unique runtime serial number (<a class="el" href="../../dc/d5c/class_o_n___model_component.html#aec107d943b87f00ed57478ccc389ba17">ON_ModelComponent::RuntimeSerialNumber()</a>).</td></tr>
<tr><td class="paramname">component_id</td><td>[in] If the id is nil or in use, a new id will be assigned.</td></tr>
<tr><td class="paramname">component_name_hash</td><td>[in] If the the component type requires a unique name and the name is not valid or in use, the component will not be added.</td></tr>
<tr><td class="paramname">original_name</td><td>[in/out] If a new name needs to be assigned, the input value will be used as a candidate and then as the root. Passing in the current name is a good choice. The output value is the final assigned name.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If an item is added to this manifest, then the identification information is returned. Otherwise ON_ComponentManifestItem::Unset is returned. </dd></dl>
</div>
</div>
<a id="a08bbb80771e5f93d38888cf2438462da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08bbb80771e5f93d38888cf2438462da">&#9670;&nbsp;</a></span>AddComponentToManifest() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::AddComponentToManifest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>component_serial_number</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>component_parent_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>component_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>original_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;&#160;</td>
<td class="paramname"><em>assigned_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a790d271717737c4043ab419d1426f180"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a790d271717737c4043ab419d1426f180">&#9670;&nbsp;</a></span>AddSystemComponentToManifest()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::AddSystemComponentToManifest </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;&#160;</td>
<td class="paramname"><em>component</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a098e691dd59c4fde1764e5f251fe5c64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a098e691dd59c4fde1764e5f251fe5c64">&#9670;&nbsp;</a></span>ChangeComponentName() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ChangeComponentName </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>component_parent_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>component_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify a manifest items's component name </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">item_id</td><td>[in] Identifies the manifest item to modify.</td></tr>
<tr><td class="paramname">component_parent_id</td><td>[in] <a class="el" href="../../dc/d5c/class_o_n___model_component.html#ab7e0be5af010061d9e32dd74cfcf8315">ON_ModelComponent.ParentId()</a> value. When ON_ModelComponent::UniqueNameIncludesParent(component_type) is true, it is critical that component_parent_id be set correctly.</td></tr>
<tr><td class="paramname">name</td><td>[in] new name</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if name was modified. </dd></dl>
</div>
</div>
<a id="a8c9d5b1cbf797690ec1e403ea97714f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c9d5b1cbf797690ec1e403ea97714f7">&#9670;&nbsp;</a></span>ChangeComponentName() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ChangeComponentName </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;&#160;</td>
<td class="paramname"><em>component</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify a manifest items's component name </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component</td><td>[in] The component that is in the manifest with the new name set.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if name was modified. </dd></dl>
</div>
</div>
<a id="a7682b69ec72892031635725f09285b15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7682b69ec72892031635725f09285b15">&#9670;&nbsp;</a></span>ChangeComponentNameHash()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ChangeComponentNameHash </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;&#160;</td>
<td class="paramname"><em>component_name_hash</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>A function for expert users to directly set the component's name hash. Generally, it is better to use the <a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a098e691dd59c4fde1764e5f251fe5c64" title="Modify a manifest items&#39;s component name ">ChangeComponentName()</a> functions. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">item_id</td><td>[in] Identifies the manifest item to modify.</td></tr>
<tr><td class="paramname">component_name_hash</td><td>[in] new name hash</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a1ca471bbdadc841453fbde298a7a773d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ca471bbdadc841453fbde298a7a773d">&#9670;&nbsp;</a></span>ChangeComponentRuntimeSerialNumber()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ChangeComponentRuntimeSerialNumber </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>component_runtime_serial_number</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modify a manifest items's component m_component_runtime_serial_number, m_original_index, m_original_id, and m_name_hash values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">manifest_id</td><td>[in] identifies the manifest item to modify</td></tr>
<tr><td class="paramname">component_runtime_serial_number</td><td>[in]</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a44a8a9259acfe02986cbc49bc3284793"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44a8a9259acfe02986cbc49bc3284793">&#9670;&nbsp;</a></span>ComponentIndexLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_ComponentManifest::ComponentIndexLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in]</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the component type is indexed, then all current manifest indices for the component_type are &gt;= 0 and &lt; <a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a44a8a9259acfe02986cbc49bc3284793">ComponentIndexLimit()</a>. Otherwise 0 is returned. </dd></dl>
</div>
</div>
<a id="afc537e65458f94f8f2c7f11070318649"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc537e65458f94f8f2c7f11070318649">&#9670;&nbsp;</a></span>DeleteComponent() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::DeleteComponent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set a component's status to deleted. </p>
</div>
</div>
<a id="add30c9497bb1d5965c51fec4be781cea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add30c9497bb1d5965c51fec4be781cea">&#9670;&nbsp;</a></span>DeleteComponent() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::DeleteComponent </td>
<td>(</td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>component_runtime_serial_number</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac5de00430e84021a90653ce60e867ffd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5de00430e84021a90653ce60e867ffd">&#9670;&nbsp;</a></span>DeletedComponentCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_ComponentManifest::DeletedComponentCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] If component_type is <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eacac9f88e098f6fe4e4e112eeb05ccb9671" title="No value set.">ON_ModelComponent::Type::Unset</a> or <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eaca699b4f79215d191584653efebf156e52" title="Multiple component types. Used when a component type filter must include all explicit component types...">ON_ModelComponent::Type::Mixed</a>, then the every explict component type is counted.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of model components of the specified type in this manifest that have IsDeleted() = true. </dd></dl>
<p>System components cannot be deleted. </p>
</div>
</div>
<a id="a6db480e7b31755e6891f99e12e31003b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6db480e7b31755e6891f99e12e31003b">&#9670;&nbsp;</a></span>FirstItem()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>* ON_ComponentManifest::FirstItem </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae63d83274dbb55231b64eef9270459b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae63d83274dbb55231b64eef9270459b6">&#9670;&nbsp;</a></span>IdIsAvailable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ComponentManifest::IdIsAvailable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the id is valid and currently not used in this ON_Manifest as either a component or a manifest id value. </dd></dl>
</div>
</div>
<a id="a52fca8ac8ec7336d0b2b875ac65f5bae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52fca8ac8ec7336d0b2b875ac65f5bae">&#9670;&nbsp;</a></span>ItemCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_ComponentManifest::ItemCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Total number of items in the manifest, including items referencing system components and deleted items. </p>
</div>
</div>
<a id="acd9e3ea619b75a1f4b57b89f04a9e49a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd9e3ea619b75a1f4b57b89f04a9e49a">&#9670;&nbsp;</a></span>ItemFromComponentRuntimeSerialNumber()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ItemFromComponentRuntimeSerialNumber </td>
<td>(</td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>component_runtime_serial_number</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0d83036853b69e4ff30830d756a11f34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d83036853b69e4ff30830d756a11f34">&#9670;&nbsp;</a></span>ItemFromId() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ItemFromId </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0a117aee9aa44b8468f7f07cd1045729"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a117aee9aa44b8468f7f07cd1045729">&#9670;&nbsp;</a></span>ItemFromId() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ItemFromId </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the item if it has the required component type and id. </p>
<p>Every item has a unique manifest id. The component_type parameter is provided if an additional check needs to be made on component type. </p>
</div>
</div>
<a id="a097059af66f6aa6377eb2836214c2daa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a097059af66f6aa6377eb2836214c2daa">&#9670;&nbsp;</a></span>ItemFromIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ItemFromIndex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>item_index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad565f9d61e1b9fbf4a71f0c03400cb19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad565f9d61e1b9fbf4a71f0c03400cb19">&#9670;&nbsp;</a></span>ItemFromName() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ItemFromName </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> *&#160;</td>
<td class="paramname"><em>model_component</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in]</td></tr>
<tr><td class="paramname">component_name_hash</td><td>[in] The value of ON_ModelComponent::UniqueNameIgnoresCase(component_type) must be used when creating the name hash (group names are case sensitive).</td></tr>
</table>
</dd>
</dl>
<p>If ON_ModelComponent::UniqueNameIncludesParent(component_type) is true, then the parent_id must be used to calculate the name hash (layer names require parent ids).</p>
</div>
</div>
<a id="a1abca2ce3cf0302cb470b283407e5c4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1abca2ce3cf0302cb470b283407e5c4b">&#9670;&nbsp;</a></span>ItemFromName() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ItemFromName </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>parent_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1e90877e797134e16babaeb48f170a07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e90877e797134e16babaeb48f170a07">&#9670;&nbsp;</a></span>ItemFromNameHash()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ItemFromNameHash </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;&#160;</td>
<td class="paramname"><em>component_name_hash</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in]</td></tr>
<tr><td class="paramname">component_name_hash</td><td>[in] The value of ON_ModelComponent::UniqueNameIgnoresCase(component_type) must be used when creating the name hash (group names are case sensitive).</td></tr>
</table>
</dd>
</dl>
<p>If ON_ModelComponent::UniqueNameIncludesParent(component_type) is true, then the parent_id must be used to calculate the name hash (layer names require parent ids).</p>
</div>
</div>
<a id="a6b6bf90c5d0c1969bf8e59ae579303b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b6bf90c5d0c1969bf8e59ae579303b1">&#9670;&nbsp;</a></span>ItemFromUnsignedIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::ItemFromUnsignedIndex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>unsigned_item_index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa57d11168898aab8b206d33e70bf7d68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa57d11168898aab8b206d33e70bf7d68">&#9670;&nbsp;</a></span>LastItem()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>* ON_ComponentManifest::LastItem </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5298099ebaba4486e5239c4fdd0d1a33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5298099ebaba4486e5239c4fdd0d1a33">&#9670;&nbsp;</a></span>ManifestContentVersionNumber()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON__UINT64 ON_ComponentManifest::ManifestContentVersionNumber </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>This number is incremented every time the manifest changes. </p>
</div>
</div>
<a id="ac59e090410faf4de883c7a29496f474f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac59e090410faf4de883c7a29496f474f">&#9670;&nbsp;</a></span>NameIsAvailable()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ComponentManifest::NameIsAvailable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;&#160;</td>
<td class="paramname"><em>candidate_name_hash</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] ON_ModelComponent::ComponentTypeIsValidAndNotMixed(component_type) must be true or false will be returned.</td></tr>
<tr><td class="paramname">candidate_name_hash</td><td>[in] candidate_name_hash.IsValidAndNotEmpty() must be true or false will be returned.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the candidate_name_hash a hash of a valid, non-empty name and the name is currently not used as either a component or manifest name value. </dd></dl>
</div>
</div>
<a id="a09e7ba8146e00f8bd5d6fb0cf3e3348d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09e7ba8146e00f8bd5d6fb0cf3e3348d">&#9670;&nbsp;</a></span>NextItem() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>* ON_ComponentManifest::NextItem </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *&#160;</td>
<td class="paramname"><em>item</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Next item in the manifest with the same component type. </dd></dl>
</div>
</div>
<a id="aa8a55880241e09894afe289c6b75e27e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8a55880241e09894afe289c6b75e27e">&#9670;&nbsp;</a></span>NextItem() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>* ON_ComponentManifest::NextItem </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>manifest_item_id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Next item in the manifest with the same component type. </dd></dl>
</div>
</div>
<a id="a7a3cfc27a0da46a296b33b8258694f4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a3cfc27a0da46a296b33b8258694f4f">&#9670;&nbsp;</a></span>PreviousItem() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>* ON_ComponentManifest::PreviousItem </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a> *&#160;</td>
<td class="paramname"><em>item</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Previous item in the manifest with the same component type. </dd></dl>
</div>
</div>
<a id="abf77a9fc9465e8b7837bb28ef8aff12e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf77a9fc9465e8b7837bb28ef8aff12e">&#9670;&nbsp;</a></span>PreviousItem() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>* ON_ComponentManifest::PreviousItem </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>manifest_item_id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Previous item in the manifest with the same component type. </dd></dl>
</div>
</div>
<a id="ab19edd32dae3762b982aed7d2b3c5360"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab19edd32dae3762b982aed7d2b3c5360">&#9670;&nbsp;</a></span>RemoveAllComponents()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ComponentManifest::RemoveAllComponents </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bResetManifestIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aad074d4bfbb5b9a1bb785ce494b6e161"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad074d4bfbb5b9a1bb785ce494b6e161">&#9670;&nbsp;</a></span>RemoveComponent() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ComponentManifest::RemoveComponent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;&#160;</td>
<td class="paramname"><em>component</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aeadcd6716bf8f5bee62e240dea1724c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeadcd6716bf8f5bee62e240dea1724c1">&#9670;&nbsp;</a></span>RemoveComponent() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ComponentManifest::RemoveComponent </td>
<td>(</td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>component_runtime_serial_number</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7b6a22e3f10e9eecabbaeaa3438ef29c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b6a22e3f10e9eecabbaeaa3438ef29c">&#9670;&nbsp;</a></span>RemoveComponent() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ComponentManifest::RemoveComponent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a66dd191683605cbbde489364d0bedfb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66dd191683605cbbde489364d0bedfb3">&#9670;&nbsp;</a></span>RemoveIndexedComponent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ComponentManifest::RemoveIndexedComponent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>item_index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9db72593fd42b32b4919608eac4959f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9db72593fd42b32b4919608eac4959f7">&#9670;&nbsp;</a></span>Reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_ComponentManifest::Reset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4098c52c9ca70883ae94285151dbca42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4098c52c9ca70883ae94285151dbca42">&#9670;&nbsp;</a></span>SystemComponentCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_ComponentManifest::SystemComponentCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a845075f945783f1091a510b942641cf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a845075f945783f1091a510b942641cf1">&#9670;&nbsp;</a></span>SystemItemFromIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::SystemItemFromIndex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>system_item_index</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6e5c5f8365d86e58289a0bc0e4fc2c8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e5c5f8365d86e58289a0bc0e4fc2c8c">&#9670;&nbsp;</a></span>SystemItemFromNameHash()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::SystemItemFromNameHash </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../da/de3/class_o_n___name_hash.html">ON_NameHash</a> &amp;&#160;</td>
<td class="paramname"><em>system_item_name_hash</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa5b709013a02750bb0a79a9b78982559"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5b709013a02750bb0a79a9b78982559">&#9670;&nbsp;</a></span>TotalComponentCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_ComponentManifest::TotalComponentCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] If component_type is <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eacac9f88e098f6fe4e4e112eeb05ccb9671" title="No value set.">ON_ModelComponent::Type::Unset</a> or <a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eaca699b4f79215d191584653efebf156e52" title="Multiple component types. Used when a component type filter must include all explicit component types...">ON_ModelComponent::Type::Mixed</a>, then the every explict component type is counted.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Total number of model components of the specified type in this manifest. </dd></dl>
<p>The count includes active, deleted, and system components. </p>
</div>
</div>
<a id="a24898626c7891326d8d0985754e6bc38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24898626c7891326d8d0985754e6bc38">&#9670;&nbsp;</a></span>UndeleteComponent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::UndeleteComponent </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>parent_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>candidate_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;&#160;</td>
<td class="paramname"><em>assigned_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Undelete a previously deleted component. </p>
</div>
</div>
<a id="ada4aaf1f8aa8308a401f74224d7463df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada4aaf1f8aa8308a401f74224d7463df">&#9670;&nbsp;</a></span>UndeleteComponentAndChangeRuntimeSerialNumber()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const class <a class="el" href="../../de/d34/class_o_n___component_manifest_item.html">ON_ComponentManifestItem</a>&amp; ON_ComponentManifest::UndeleteComponentAndChangeRuntimeSerialNumber </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>item_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>parent_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON__UINT64&#160;</td>
<td class="paramname"><em>new_component_runtime_serial_number</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>candidate_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;&#160;</td>
<td class="paramname"><em>assigned_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Undelete a previously deleted component with the same id and change the serial number to new_component_runtime_serial_number. </p>
<p>Often when an object is modified, the original and new object have the same id but different serial numbers. The original is deleted. When the item is undeleted for the object, the runtime serial number needs to be udated. </p>
</div>
</div>
<a id="adf5842f7b8325f0ef894b90bb26c8d25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf5842f7b8325f0ef894b90bb26c8d25">&#9670;&nbsp;</a></span>UnusedId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> ON_ComponentManifest::UnusedId </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>candidate_id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get an id that is not currently used in this manifest </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] ON_ModelComponent::ComponentTypeIsValidAndNotMixed(component_type) must be true. candidate_id If candidate_id is valid component id and not in use, then its value is returned.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An id that is valid and currently not used in this ON_Manifest as either a component or a manifest id value. </dd></dl>
<p>If candidate_id cannot be used, then ON_CreateId() is used to create a new id. </p>
</div>
</div>
<a id="a01624b17bfe7db1d96c773b07fb1ca83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01624b17bfe7db1d96c773b07fb1ca83">&#9670;&nbsp;</a></span>UnusedName() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> ON_ComponentManifest::UnusedName </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d5c/class_o_n___model_component.html#a2977d69091b4952cc19b0189a28a0eac">ON_ModelComponent::Type</a>&#160;</td>
<td class="paramname"><em>component_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td>
<td class="paramname"><em>component_parent_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>candidate_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>base_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>suffix_separator</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>suffix0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int *&#160;</td>
<td class="paramname"><em>suffix_value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a name that is currently not used in this manifest as either a component or manifest name. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_type</td><td>[in] ON_ModelComponent::ComponentTypeIsValidAndNotMixed(component_type) must be true.</td></tr>
<tr><td class="paramname">component_parent_id</td><td>[in] If ON_ModelComponent::UniqueNameIncludesParent(component_type) is true and candidate_name is not empty, then the component parent id must be accurate. This is the case for <a class="el" href="../../d6/d78/class_o_n___layer.html">ON_Layer</a> names. Otherwise, you may pass ON_nil_uuid.</td></tr>
<tr><td class="paramname">candidate_name</td><td>[in] If candidate_name is a valid and not it use, then unused_component_name = candidate_name. If ON_ModelComponent::UniqueNameIncludesParent(component_type) is true and candidate_name is not empty, then component_parent_id must be accurate. This is the case for <a class="el" href="../../d6/d78/class_o_n___layer.html">ON_Layer</a> names.</td></tr>
<tr><td class="paramname">base_name</td><td>[in] If base_name is empty or not valid, then ON_ModelComponent::ComponentTypeToString(component_type) is used as base_name</td></tr>
<tr><td class="paramname">suffix_separator</td><td>[in] empty or the string to place between base_name and the suffix when searching for an unsued name.</td></tr>
<tr><td class="paramname">suffix0</td><td>[in] If a suffix needs to be appended, the search for a unused name begins with the suffix values suffix0+1.</td></tr>
<tr><td class="paramname">suffix_value</td><td>[out] If nullptr != suffix_value, the value used to generate the unique name suffix is returned.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An component name that is not used in this manifest. </dd></dl>
<p>If candidate_name could not be used, then it has the form base_name + suffix_separator + X, where X is an integer &gt; suffix0. </p>
</div>
</div>
<a id="ad887a3844776b6a08473f2725f868203"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad887a3844776b6a08473f2725f868203">&#9670;&nbsp;</a></span>UnusedName() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> ON_ComponentManifest::UnusedName </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dc/d5c/class_o_n___model_component.html">ON_ModelComponent</a> &amp;&#160;</td>
<td class="paramname"><em>model_component</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a name that is currently not used in this manifest as either a component or manifest name. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">model_component</td><td>[in] The component type, id, parent id, and candidate name parameters for the more complicated version of <a class="el" href="../../d8/d72/class_o_n___component_manifest.html#a01624b17bfe7db1d96c773b07fb1ca83" title="Get a name that is currently not used in this manifest as either a component or manifest name...">UnusedName()</a> are taken from this parameter.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>An component name that is not used in this manifest. </dd></dl>
<p>If candidate_name could not be used, then it has the form base_name + suffix_separator + X, where X is an integer &gt; suffix0. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a7a838571207b4e5a8771c7aacffec086"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a838571207b4e5a8771c7aacffec086">&#9670;&nbsp;</a></span>Empty</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../d8/d72/class_o_n___component_manifest.html">ON_ComponentManifest</a> ON_ComponentManifest::Empty</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</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:30 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>