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

611 lines
38 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_ClassId Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<!-- <script type="text/javascript" src="../../jquery.js"></script> -->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../customdoxygen.css" rel="stylesheet" type="text/css"/>
<!-- bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- smartmenus -->
<link href="../../jquery.smartmenus.bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="../../jquery.smartmenus.js"></script>
<script type="text/javascript" src="../../jquery.smartmenus.bootstrap.js"></script>
</head>
<body>
<!-- <div class="version-banner">
Go back to the <a href="/">main site</a>...
</div> -->
<div class="container">
<!-- navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<a class="navbar-brand" href="#">openNURBS SDK Help</a>
<div class="navbar-collapse collapse" id="main-nav-placeholder">
<!-- <p class="navbar-text navbar-right">v6.0</p> -->
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" href="#">v6.0 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Latest (6.x)</a></li>
<li class="disabled"><a href="#">WIP (7.x)</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="page-content">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('../../',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="../../de/d88/class_o_n___class_id-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_ClassId Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>OpenNURBS classes derived from <a class="el" href="../../d9/d7b/class_o_n___object.html" title="Pure virtual base class for all classes that must provide runtime class id or support object level 3D...">ON_Object</a> use <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> to store run-time type information
<a href="../../d3/d3c/class_o_n___class_id.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="../../d6/d95/opennurbs__object_8h_source.html">opennurbs_object.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a54d44e5890083a7c0fd477759d1d43e9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a54d44e5890083a7c0fd477759d1d43e9">ON_ClassId</a> (const char *sClassName, const char *sBaseClassName, class <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> *(*create)(), const char *sUUID)</td></tr>
<tr class="memdesc:a54d44e5890083a7c0fd477759d1d43e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constructor is called to initialize each class id. The call is generated by the ON_OBJECT_IMPLEMENT macro. <a href="#a54d44e5890083a7c0fd477759d1d43e9">More...</a><br /></td></tr>
<tr class="separator:a54d44e5890083a7c0fd477759d1d43e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9118867ca2ca89f90d20c6b2746224cf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a9118867ca2ca89f90d20c6b2746224cf">~ON_ClassId</a> ()</td></tr>
<tr class="separator:a9118867ca2ca89f90d20c6b2746224cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b5ace262e3fe33a154d59a34fcc9744"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a2b5ace262e3fe33a154d59a34fcc9744">BaseClass</a> () const</td></tr>
<tr class="separator:a2b5ace262e3fe33a154d59a34fcc9744"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a213c017c6eb384425856c8fbcf6658e8"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a213c017c6eb384425856c8fbcf6658e8">BaseClassName</a> () const</td></tr>
<tr class="separator:a213c017c6eb384425856c8fbcf6658e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06c2b9c1f70b797fdb586fc3d6768ef5"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a06c2b9c1f70b797fdb586fc3d6768ef5">ClassIdVersion</a> () const</td></tr>
<tr class="separator:a06c2b9c1f70b797fdb586fc3d6768ef5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e5486ffb5f4aa9c069808032875df10"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a7e5486ffb5f4aa9c069808032875df10">ClassName</a> () const</td></tr>
<tr class="separator:a7e5486ffb5f4aa9c069808032875df10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f29ec11f87ee922648c4cee3937d270"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a9f29ec11f87ee922648c4cee3937d270">Create</a> () const</td></tr>
<tr class="separator:a9f29ec11f87ee922648c4cee3937d270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec97b48a16781f306ca2d9eb126722a2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#aec97b48a16781f306ca2d9eb126722a2">IsDerivedFrom</a> (const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *potential_parent) const</td></tr>
<tr class="memdesc:aec97b48a16781f306ca2d9eb126722a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if the class associated with this <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> is derived from another class. <a href="#aec97b48a16781f306ca2d9eb126722a2">More...</a><br /></td></tr>
<tr class="separator:aec97b48a16781f306ca2d9eb126722a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af522a7bce6100fca29e9161ffbcd8dc3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#af522a7bce6100fca29e9161ffbcd8dc3">Mark</a> () const</td></tr>
<tr class="memdesc:af522a7bce6100fca29e9161ffbcd8dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opennurbs classes have a mark value of 0. Core Rhino classes have a mark value of 1. Rhino plug-in classes have a mark value of &gt; 1. <a href="#af522a7bce6100fca29e9161ffbcd8dc3">More...</a><br /></td></tr>
<tr class="separator:af522a7bce6100fca29e9161ffbcd8dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48cc5db89ba692ec60d3e53b4ba8fc6b"><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="../../d3/d3c/class_o_n___class_id.html#a48cc5db89ba692ec60d3e53b4ba8fc6b">Uuid</a> () const</td></tr>
<tr class="separator:a48cc5db89ba692ec60d3e53b4ba8fc6b"><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-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aebdde874ae6c99f1f09fcc0d52ee01d4"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#aebdde874ae6c99f1f09fcc0d52ee01d4">ClassId</a> (const char *sClassName)</td></tr>
<tr class="memdesc:aebdde874ae6c99f1f09fcc0d52ee01d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a class's <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> from the class's name. <a href="#aebdde874ae6c99f1f09fcc0d52ee01d4">More...</a><br /></td></tr>
<tr class="separator:aebdde874ae6c99f1f09fcc0d52ee01d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab69d80706421aa3212dce90100d6be34"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#ab69d80706421aa3212dce90100d6be34">ClassId</a> (<a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> class_uuid)</td></tr>
<tr class="memdesc:ab69d80706421aa3212dce90100d6be34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a class's <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> from the class's uuid. <a href="#ab69d80706421aa3212dce90100d6be34">More...</a><br /></td></tr>
<tr class="separator:ab69d80706421aa3212dce90100d6be34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac188318d4a8956db15f88bcaf7c44017"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#ac188318d4a8956db15f88bcaf7c44017">CurrentMark</a> ()</td></tr>
<tr class="separator:ac188318d4a8956db15f88bcaf7c44017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ca575224586a8d6a7b82a0bbe13aa32"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a9ca575224586a8d6a7b82a0bbe13aa32">Dump</a> (<a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;dump)</td></tr>
<tr class="memdesc:a9ca575224586a8d6a7b82a0bbe13aa32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dumps the <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> list <a href="#a9ca575224586a8d6a7b82a0bbe13aa32">More...</a><br /></td></tr>
<tr class="separator:a9ca575224586a8d6a7b82a0bbe13aa32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6388d6acfbfdc85fef591c09a7f1dfbf"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a6388d6acfbfdc85fef591c09a7f1dfbf">IncrementMark</a> ()</td></tr>
<tr class="memdesc:a6388d6acfbfdc85fef591c09a7f1dfbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Each class derived from <a class="el" href="../../d9/d7b/class_o_n___object.html" title="Pure virtual base class for all classes that must provide runtime class id or support object level 3D...">ON_Object</a> has a corresponding <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> stored in a linked list and the class is marked with an integer value. <a class="el" href="../../d3/d3c/class_o_n___class_id.html#a6388d6acfbfdc85fef591c09a7f1dfbf" title="Each class derived from ON_Object has a corresponding ON_ClassId stored in a linked list and the clas...">ON_ClassId::IncrementMark()</a> increments the value used to mark new classes and returns the new marking value. <a href="#a6388d6acfbfdc85fef591c09a7f1dfbf">More...</a><br /></td></tr>
<tr class="separator:a6388d6acfbfdc85fef591c09a7f1dfbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ea9a03a2f5203ef9f42606cfa0ab0cb"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a6ea9a03a2f5203ef9f42606cfa0ab0cb">LastClassId</a> ()</td></tr>
<tr class="separator:a6ea9a03a2f5203ef9f42606cfa0ab0cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b01403171a9c6c88a9fe8fc15eaa969"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#a8b01403171a9c6c88a9fe8fc15eaa969">Purge</a> (int mark)</td></tr>
<tr class="memdesc:a8b01403171a9c6c88a9fe8fc15eaa969"><td class="mdescLeft">&#160;</td><td class="mdescRight">Each class derived from <a class="el" href="../../d9/d7b/class_o_n___object.html" title="Pure virtual base class for all classes that must provide runtime class id or support object level 3D...">ON_Object</a> has a corresponding <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> stored in a linked list. If a class definition is going to disappear (which happens when the derived object definition is in a DLL that uses openNURBS as a DLL and the DLL containing the derived object's definition is unloaded), then the class's <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> needs to be removed from the class list. ON_ClassId::Purge( mark ) removes all ON_ClassIds with a a prescribed mark and returns the number of classes that were purged. <a href="#a8b01403171a9c6c88a9fe8fc15eaa969">More...</a><br /></td></tr>
<tr class="separator:a8b01403171a9c6c88a9fe8fc15eaa969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaed744675535eb780d4fd9311eae74cd"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3c/class_o_n___class_id.html#aaed744675535eb780d4fd9311eae74cd">PurgeAfter</a> (const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *pClassId)</td></tr>
<tr class="separator:aaed744675535eb780d4fd9311eae74cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>OpenNURBS classes derived from <a class="el" href="../../d9/d7b/class_o_n___object.html" title="Pure virtual base class for all classes that must provide runtime class id or support object level 3D...">ON_Object</a> use <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> to store run-time type information </p>
<p>The ON_OBJECT_DECLARE and ON_OBJECT_IMPLEMENT macros generate the code that creates and initializes the <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> for each class.</p>
<p>The <a class="el" href="../../d9/d7b/class_o_n___object.html#afe5367058a90545e81cd79b78103175d" title="Low level tool to test if an object is derived from a specified class. ">ON_Object::IsKindOf()</a> and ON_Object::Cast() functions use this run-time type information. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a54d44e5890083a7c0fd477759d1d43e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54d44e5890083a7c0fd477759d1d43e9">&#9670;&nbsp;</a></span>ON_ClassId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_ClassId::ON_ClassId </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>sClassName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>sBaseClassName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">class <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> *(*)()&#160;</td>
<td class="paramname"><em>create</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>sUUID</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This constructor is called to initialize each class id. The call is generated by the ON_OBJECT_IMPLEMENT macro. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sClassName</td><td>[in] name of the class (like <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a>)</td></tr>
<tr><td class="paramname">sBaseClassName</td><td>[in] name of baseclass (like <a class="el" href="../../d9/d7b/class_o_n___object.html" title="Pure virtual base class for all classes that must provide runtime class id or support object level 3D...">ON_Object</a>)</td></tr>
<tr><td class="paramname">create</td><td>[in] function to create a new object(like CreateNewON_Geometry())</td></tr>
<tr><td class="paramname">sUUID</td><td>[in] UUID in registry format from Windows guidgen.exe</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9118867ca2ca89f90d20c6b2746224cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9118867ca2ca89f90d20c6b2746224cf">&#9670;&nbsp;</a></span>~ON_ClassId()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_ClassId::~ON_ClassId </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="a2b5ace262e3fe33a154d59a34fcc9744"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b5ace262e3fe33a154d59a34fcc9744">&#9670;&nbsp;</a></span>BaseClass()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a>* ON_ClassId::BaseClass </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>base class id </dd></dl>
</div>
</div>
<a id="a213c017c6eb384425856c8fbcf6658e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a213c017c6eb384425856c8fbcf6658e8">&#9670;&nbsp;</a></span>BaseClassName()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* ON_ClassId::BaseClassName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>base class name </dd></dl>
</div>
</div>
<a id="aebdde874ae6c99f1f09fcc0d52ee01d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebdde874ae6c99f1f09fcc0d52ee01d4">&#9670;&nbsp;</a></span>ClassId() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a>* ON_ClassId::ClassId </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>sClassName</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a class's <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> from the class's name. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sClassName</td><td>[in] name of class</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the class's <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a>. </dd></dl>
<div class="fragment"><div class="line"><span class="keyword">const</span> <a class="code" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a>* brep_id = ON_CLassId::ClassId(<span class="stringliteral">&quot;ON_Brep&quot;</span>);</div></div><!-- fragment -->
</div>
</div>
<a id="ab69d80706421aa3212dce90100d6be34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab69d80706421aa3212dce90100d6be34">&#9670;&nbsp;</a></span>ClassId() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a>* ON_ClassId::ClassId </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>class_uuid</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets a class's <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> from the class's uuid. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">class_uuid</td><td>[in] uuid for the class</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the class's <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a>. </dd></dl>
<div class="fragment"><div class="line"><a class="code" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> brep_uuid = ON_UuidFromString(<span class="stringliteral">&quot;60B5DBC5-E660-11d3-BFE4-0010830122F0&quot;</span>);</div><div class="line"><span class="keyword">const</span> <a class="code" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a>* brep_id = <a class="code" href="../../d3/d3c/class_o_n___class_id.html#aebdde874ae6c99f1f09fcc0d52ee01d4">ON_ClassId::ClassId</a>(brep_uuid);</div></div><!-- fragment -->
</div>
</div>
<a id="a06c2b9c1f70b797fdb586fc3d6768ef5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06c2b9c1f70b797fdb586fc3d6768ef5">&#9670;&nbsp;</a></span>ClassIdVersion()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_ClassId::ClassIdVersion </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7e5486ffb5f4aa9c069808032875df10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e5486ffb5f4aa9c069808032875df10">&#9670;&nbsp;</a></span>ClassName()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* ON_ClassId::ClassName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>class name </dd></dl>
</div>
</div>
<a id="a9f29ec11f87ee922648c4cee3937d270"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f29ec11f87ee922648c4cee3937d270">&#9670;&nbsp;</a></span>Create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a>* ON_ClassId::Create </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Null or a pointer to an instance of the class created using new and the class's default constructor. </dd></dl>
</div>
</div>
<a id="ac188318d4a8956db15f88bcaf7c44017"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac188318d4a8956db15f88bcaf7c44017">&#9670;&nbsp;</a></span>CurrentMark()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int ON_ClassId::CurrentMark </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9ca575224586a8d6a7b82a0bbe13aa32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ca575224586a8d6a7b82a0bbe13aa32">&#9670;&nbsp;</a></span>Dump()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ON_ClassId::Dump </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;&#160;</td>
<td class="paramname"><em>dump</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Dumps the <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> list </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dump</td><td>[in] destination for the text dump.</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6388d6acfbfdc85fef591c09a7f1dfbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6388d6acfbfdc85fef591c09a7f1dfbf">&#9670;&nbsp;</a></span>IncrementMark()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int ON_ClassId::IncrementMark </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Each class derived from <a class="el" href="../../d9/d7b/class_o_n___object.html" title="Pure virtual base class for all classes that must provide runtime class id or support object level 3D...">ON_Object</a> has a corresponding <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> stored in a linked list and the class is marked with an integer value. <a class="el" href="../../d3/d3c/class_o_n___class_id.html#a6388d6acfbfdc85fef591c09a7f1dfbf" title="Each class derived from ON_Object has a corresponding ON_ClassId stored in a linked list and the clas...">ON_ClassId::IncrementMark()</a> increments the value used to mark new classes and returns the new marking value. </p>
<dl class="section return"><dt>Returns</dt><dd>Value that will be used to mark all future ON_ClassIds. </dd></dl>
</div>
</div>
<a id="aec97b48a16781f306ca2d9eb126722a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec97b48a16781f306ca2d9eb126722a2">&#9670;&nbsp;</a></span>IsDerivedFrom()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_ClassId::IsDerivedFrom </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *&#160;</td>
<td class="paramname"><em>potential_parent</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determine if the class associated with this <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> is derived from another class. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">potential_parent</td><td>[in] Class to test as parent.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if this is derived from potential_parent. </dd></dl>
</div>
</div>
<a id="a6ea9a03a2f5203ef9f42606cfa0ab0cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ea9a03a2f5203ef9f42606cfa0ab0cb">&#9670;&nbsp;</a></span>LastClassId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a>* ON_ClassId::LastClassId </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af522a7bce6100fca29e9161ffbcd8dc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af522a7bce6100fca29e9161ffbcd8dc3">&#9670;&nbsp;</a></span>Mark()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_ClassId::Mark </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Opennurbs classes have a mark value of 0. Core Rhino classes have a mark value of 1. Rhino plug-in classes have a mark value of &gt; 1. </p>
<dl class="section return"><dt>Returns</dt><dd>Class mark value </dd></dl>
</div>
</div>
<a id="a8b01403171a9c6c88a9fe8fc15eaa969"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b01403171a9c6c88a9fe8fc15eaa969">&#9670;&nbsp;</a></span>Purge()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int ON_ClassId::Purge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mark</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Each class derived from <a class="el" href="../../d9/d7b/class_o_n___object.html" title="Pure virtual base class for all classes that must provide runtime class id or support object level 3D...">ON_Object</a> has a corresponding <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> stored in a linked list. If a class definition is going to disappear (which happens when the derived object definition is in a DLL that uses openNURBS as a DLL and the DLL containing the derived object's definition is unloaded), then the class's <a class="el" href="../../d3/d3c/class_o_n___class_id.html" title="OpenNURBS classes derived from ON_Object use ON_ClassId to store run-time type information ...">ON_ClassId</a> needs to be removed from the class list. ON_ClassId::Purge( mark ) removes all ON_ClassIds with a a prescribed mark and returns the number of classes that were purged. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mark</td><td>[in] All ON_ClassIds with this mark will be purged.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of classes that were purged. </dd></dl>
<div class="fragment"><div class="line"><span class="comment">// Call ON_ClassId::IncrementMark() BEFORE loading MY.DLL.</span></div><div class="line"><span class="keywordtype">int</span> my_dll_classid_mark = <a class="code" href="../../d3/d3c/class_o_n___class_id.html#a6388d6acfbfdc85fef591c09a7f1dfbf">ON_ClassId::IncrementMark</a>();</div><div class="line">load MY.DLL with classes derived from <a class="code" href="../../d9/d7b/class_o_n___object.html">ON_Object</a></div><div class="line">...</div><div class="line"><span class="comment">// Call ON_ClassId::Purge() BEFORE unloading MY.DLL.</span></div><div class="line">ON_ClassId::Purge( my_dll_classid_mark );</div><div class="line">unload MY.DLL</div></div><!-- fragment -->
</div>
</div>
<a id="aaed744675535eb780d4fd9311eae74cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaed744675535eb780d4fd9311eae74cd">&#9670;&nbsp;</a></span>PurgeAfter()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool ON_ClassId::PurgeAfter </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *&#160;</td>
<td class="paramname"><em>pClassId</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a48cc5db89ba692ec60d3e53b4ba8fc6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48cc5db89ba692ec60d3e53b4ba8fc6b">&#9670;&nbsp;</a></span>Uuid()</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_ClassId::Uuid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>class uuid </dd></dl>
</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:29 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>