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

2896 lines
185 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_NurbsCage 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-attribs">Public Attributes</a> &#124;
<a href="../../de/d00/class_o_n___nurbs_cage-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_NurbsCage Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d8/d31/opennurbs__nurbssurface_8h_source.html">opennurbs_nurbssurface.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ON_NurbsCage:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d7/d26/class_o_n___nurbs_cage.png" usemap="#ON_5FNurbsCage_map" alt=""/>
<map id="ON_5FNurbsCage_map" name="ON_5FNurbsCage_map">
<area 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..." alt="ON_Geometry" shape="rect" coords="0,56,102,80"/>
<area 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..." alt="ON_Object" shape="rect" coords="0,0,102,24"/>
</map>
</div></div>
<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:ad89175c52a938a7ef7c6154bec00b08f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ad89175c52a938a7ef7c6154bec00b08f">ON_NurbsCage</a> ()</td></tr>
<tr class="separator:ad89175c52a938a7ef7c6154bec00b08f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa424ecd00549de42e22a0c34bb747f6b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aa424ecd00549de42e22a0c34bb747f6b">ON_NurbsCage</a> (int dim, bool is_rat, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)</td></tr>
<tr class="separator:aa424ecd00549de42e22a0c34bb747f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d569d474bc90cd12be7286e53d6ec1d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a7d569d474bc90cd12be7286e53d6ec1d">ON_NurbsCage</a> (const <a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;bbox, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)</td></tr>
<tr class="separator:a7d569d474bc90cd12be7286e53d6ec1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dd1c63dc2b1e8ff8b0210d3a654e614"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a5dd1c63dc2b1e8ff8b0210d3a654e614">ON_NurbsCage</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *box_corners, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)</td></tr>
<tr class="separator:a5dd1c63dc2b1e8ff8b0210d3a654e614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfc0105638270899b07c313aba206386"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#acfc0105638270899b07c313aba206386">ON_NurbsCage</a> (const <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html">ON_BezierCage</a> &amp;src)</td></tr>
<tr class="separator:acfc0105638270899b07c313aba206386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a795184ce3c12e8a65bc8106f6ec37620"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a795184ce3c12e8a65bc8106f6ec37620">ON_NurbsCage</a> (const <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html">ON_NurbsCage</a> &amp;src)</td></tr>
<tr class="separator:a795184ce3c12e8a65bc8106f6ec37620"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f66099fd34ee10af8ef3b0c3229dc64"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a7f66099fd34ee10af8ef3b0c3229dc64">~ON_NurbsCage</a> ()</td></tr>
<tr class="separator:a7f66099fd34ee10af8ef3b0c3229dc64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bbcc59d975bb9127b97811539c919fd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a4bbcc59d975bb9127b97811539c919fd">ChangeDimension</a> (int desired_dimension)</td></tr>
<tr class="separator:a4bbcc59d975bb9127b97811539c919fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af600a46930319e7d2f3122b5ef3dd82d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#af600a46930319e7d2f3122b5ef3dd82d">ClampEnd</a> (int dir, int end)</td></tr>
<tr class="separator:af600a46930319e7d2f3122b5ef3dd82d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61b248ce6514e2afae7502f35bf571bb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a61b248ce6514e2afae7502f35bf571bb">Create</a> (int dim, bool is_rat, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)</td></tr>
<tr class="separator:a61b248ce6514e2afae7502f35bf571bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc067d6cfb73c31b4b6bda065c79742f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#acc067d6cfb73c31b4b6bda065c79742f">Create</a> (const <a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;bbox, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)</td></tr>
<tr class="memdesc:acc067d6cfb73c31b4b6bda065c79742f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a Nurbs volume with corners defined by a bounding box. <a href="#acc067d6cfb73c31b4b6bda065c79742f">More...</a><br /></td></tr>
<tr class="separator:acc067d6cfb73c31b4b6bda065c79742f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bd9ee964c44b6631a8e923148cac78e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a3bd9ee964c44b6631a8e923148cac78e">Create</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *box_corners, int order0, int order1, int order2, int cv_count0, int cv_count1, int cv_count2)</td></tr>
<tr class="memdesc:a3bd9ee964c44b6631a8e923148cac78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a nurbs volume from a 3d box <a href="#a3bd9ee964c44b6631a8e923148cac78e">More...</a><br /></td></tr>
<tr class="separator:a3bd9ee964c44b6631a8e923148cac78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab17532e65591073568bb977db381c4b7"><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ab17532e65591073568bb977db381c4b7">CV</a> (int i, int j, int k) const</td></tr>
<tr class="memdesc:ab17532e65591073568bb977db381c4b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user function to get a pointer to control vertex memory. If you are not an expert user, please use ON_NurbsCage::GetCV( ON_3dPoint&amp; ) or ON_NurbsCage::GetCV( ON_4dPoint&amp; ). <a href="#ab17532e65591073568bb977db381c4b7">More...</a><br /></td></tr>
<tr class="separator:ab17532e65591073568bb977db381c4b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaad40e859cac842f610769093f58e275"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aaad40e859cac842f610769093f58e275">CVCount</a> (int) const</td></tr>
<tr class="separator:aaad40e859cac842f610769093f58e275"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7e0f8e69b19f24dcb49bd26a35e36e2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ae7e0f8e69b19f24dcb49bd26a35e36e2">CVCount</a> (void) const</td></tr>
<tr class="separator:ae7e0f8e69b19f24dcb49bd26a35e36e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a629b5713316d83203aaaf761507652e7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a629b5713316d83203aaaf761507652e7">CVSize</a> () const</td></tr>
<tr class="separator:a629b5713316d83203aaaf761507652e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a791730119a44063f424c36ebc6b3e2dd"><td class="memItemLeft" align="right" valign="top">ON::point_style&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a791730119a44063f424c36ebc6b3e2dd">CVStyle</a> () const</td></tr>
<tr class="memdesc:a791730119a44063f424c36ebc6b3e2dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the style of control vertices in the m_cv array. <a href="#a791730119a44063f424c36ebc6b3e2dd">More...</a><br /></td></tr>
<tr class="separator:a791730119a44063f424c36ebc6b3e2dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6b3702214ed760b12b5e2a1ddd8cab0"><td class="memItemLeft" align="right" valign="top">ON__UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ac6b3702214ed760b12b5e2a1ddd8cab0">DataCRC</a> (ON__UINT32 current_remainder) const override</td></tr>
<tr class="memdesc:ac6b3702214ed760b12b5e2a1ddd8cab0"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#af51d5fcec9379ad9b7a56ac4dfc9a8b2" title="Returns a CRC calculated from the information that defines the object. This CRC can be used as a quic...">ON_Object::DataCRC</a> override <a href="#ac6b3702214ed760b12b5e2a1ddd8cab0">More...</a><br /></td></tr>
<tr class="separator:ac6b3702214ed760b12b5e2a1ddd8cab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac94fe3b889a6dc257e1d8e23e0de2b00"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ac94fe3b889a6dc257e1d8e23e0de2b00">Degree</a> (int dir) const</td></tr>
<tr class="separator:ac94fe3b889a6dc257e1d8e23e0de2b00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0069f9ada29860e8b77b0d4a375bb57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#af0069f9ada29860e8b77b0d4a375bb57">Destroy</a> ()</td></tr>
<tr class="separator:af0069f9ada29860e8b77b0d4a375bb57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14085930306251d54a559ebb435c41d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a14085930306251d54a559ebb435c41d0">DestroyRuntimeCache</a> (bool bDelete=true) override</td></tr>
<tr class="memdesc:a14085930306251d54a559ebb435c41d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#af8435c33ab53af41c22dac75e8917569" title="Expert user function. If you are using openNURBS in its default configuration to read and write 3dm a...">ON_Object::DestroyRuntimeCache</a> function. Saves the definition of this class in serial binary form that can be read by ON_BezierVolue::Read. <a href="#a14085930306251d54a559ebb435c41d0">More...</a><br /></td></tr>
<tr class="separator:a14085930306251d54a559ebb435c41d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ccf348b7dc9decc22281d0a514be482"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a4ccf348b7dc9decc22281d0a514be482">Dimension</a> () const override</td></tr>
<tr class="memdesc:a4ccf348b7dc9decc22281d0a514be482"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364" title="Dimension of the object. ">ON_Geometry::Dimension</a> function. Gets a tight bounding box with respect to the coordinate system specified by the frame parameter. <a href="#a4ccf348b7dc9decc22281d0a514be482">More...</a><br /></td></tr>
<tr class="separator:a4ccf348b7dc9decc22281d0a514be482"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ba076df1ee51e194f02caec34ef39ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a9ba076df1ee51e194f02caec34ef39ca">Domain</a> (int) const</td></tr>
<tr class="separator:a9ba076df1ee51e194f02caec34ef39ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4193a42744b9300bdb653da84986d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a0f4193a42744b9300bdb653da84986d7">Dump</a> (<a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;text_log) const override</td></tr>
<tr class="memdesc:a0f4193a42744b9300bdb653da84986d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a21c7b04a80f1806c3a45f72d7c491a44" title="Creates a text dump of the object. ">ON_Object::Dump</a> function. <a href="#a0f4193a42744b9300bdb653da84986d7">More...</a><br /></td></tr>
<tr class="separator:a0f4193a42744b9300bdb653da84986d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20c45726ac66872e9be81b5e9c6c49a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a20c45726ac66872e9be81b5e9c6c49a3">EmergencyDestroy</a> ()</td></tr>
<tr class="separator:a20c45726ac66872e9be81b5e9c6c49a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d0900c474a92c82f1cd2db1d7a1c034"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a8d0900c474a92c82f1cd2db1d7a1c034">Evaluate</a> (double r, double s, double t, int der_count, int v_stride, double *v, int side=0, int *hint=0) const</td></tr>
<tr class="memdesc:a8d0900c474a92c82f1cd2db1d7a1c034"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the NURBS cage <a href="#a8d0900c474a92c82f1cd2db1d7a1c034">More...</a><br /></td></tr>
<tr class="separator:a8d0900c474a92c82f1cd2db1d7a1c034"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a945be8f1d3ba192a5491c23ab76904dc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a945be8f1d3ba192a5491c23ab76904dc">Extend</a> (int dir, const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> &amp;domain)</td></tr>
<tr class="separator:a945be8f1d3ba192a5491c23ab76904dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42df8968cf264bba61d594d0f760a7d3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a42df8968cf264bba61d594d0f760a7d3">GetBBox</a> (double *boxmin, double *boxmax, bool bGrowBox=false) const override</td></tr>
<tr class="memdesc:a42df8968cf264bba61d594d0f760a7d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <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> GetBBox override <a href="#a42df8968cf264bba61d594d0f760a7d3">More...</a><br /></td></tr>
<tr class="separator:a42df8968cf264bba61d594d0f760a7d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1a76abdd38ec06f1b3bceb253c73e6a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aa1a76abdd38ec06f1b3bceb253c73e6a">GetCV</a> (int i, int j, int k, ON::point_style, double *) const</td></tr>
<tr class="separator:aa1a76abdd38ec06f1b3bceb253c73e6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9dbf92486b6f0a921b209ec03b7a76f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ae9dbf92486b6f0a921b209ec03b7a76f">GetCV</a> (int i, int j, int k, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;) const</td></tr>
<tr class="separator:ae9dbf92486b6f0a921b209ec03b7a76f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31c9ac0e1053bd9e7e5b5d0f82160da2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a31c9ac0e1053bd9e7e5b5d0f82160da2">GetCV</a> (int i, int j, int k, <a class="el" href="../../d9/db1/class_o_n__4d_point.html">ON_4dPoint</a> &amp;) const</td></tr>
<tr class="separator:a31c9ac0e1053bd9e7e5b5d0f82160da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49c65d206828979caf3cecf481d0d5c7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a49c65d206828979caf3cecf481d0d5c7">GetSpanVector</a> (int dir, double *span_vector) const</td></tr>
<tr class="separator:a49c65d206828979caf3cecf481d0d5c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dca3f237343319491d86722aa8b32be"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a3dca3f237343319491d86722aa8b32be">GetTightBoundingBox</a> (class <a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;tight_bbox, bool bGrowBox=false, const class <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> *xform=nullptr) const override</td></tr>
<tr class="memdesc:a3dca3f237343319491d86722aa8b32be"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <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> GetTightBoundingBox override <a href="#a3dca3f237343319491d86722aa8b32be">More...</a><br /></td></tr>
<tr class="separator:a3dca3f237343319491d86722aa8b32be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafb3ee1c09262f7d8255357a888d0ccc"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aafb3ee1c09262f7d8255357a888d0ccc">GrevilleAbcissa</a> (int dir, int gindex) const</td></tr>
<tr class="separator:aafb3ee1c09262f7d8255357a888d0ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e5034aede6e6c73611bbd4c3f64433"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ad4e5034aede6e6c73611bbd4c3f64433">IncreaseDegree</a> (int dir, int desired_degree)</td></tr>
<tr class="separator:ad4e5034aede6e6c73611bbd4c3f64433"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f3dacb613188da2ae49021dba5c16bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a8f3dacb613188da2ae49021dba5c16bd">InsertKnot</a> (int dir, double knot_value, int knot_multiplicity=1)</td></tr>
<tr class="separator:a8f3dacb613188da2ae49021dba5c16bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d262736d71315e0a62695a884fab41d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a8d262736d71315e0a62695a884fab41d">IsClosed</a> (int) const</td></tr>
<tr class="separator:a8d262736d71315e0a62695a884fab41d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d56da987b140ee3e947f5cb4334ba26"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a4d56da987b140ee3e947f5cb4334ba26">IsDeformable</a> () const override</td></tr>
<tr class="memdesc:a4d56da987b140ee3e947f5cb4334ba26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#af156cd098b9e68fab5f32e76b1e274e2">ON_Geometry::IsDeformable</a> function. <a href="#a4d56da987b140ee3e947f5cb4334ba26">More...</a><br /></td></tr>
<tr class="separator:a4d56da987b140ee3e947f5cb4334ba26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83425fa3d1aca78904ee8bae346bd69c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html">ON_NurbsSurface</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a83425fa3d1aca78904ee8bae346bd69c">IsoSurface</a> (int dir, double c, <a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html">ON_NurbsSurface</a> *srf=0) const</td></tr>
<tr class="separator:a83425fa3d1aca78904ee8bae346bd69c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfb583e3cfbf6c444918f449163e88f6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#adfb583e3cfbf6c444918f449163e88f6">IsParallelogram</a> (double tolerance) const</td></tr>
<tr class="separator:adfb583e3cfbf6c444918f449163e88f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d27ae5bdcde125ff38f7660f458e2d0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a9d27ae5bdcde125ff38f7660f458e2d0">IsPeriodic</a> (int) const</td></tr>
<tr class="separator:a9d27ae5bdcde125ff38f7660f458e2d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdf43fb043ebac6ee3615131fc962365"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#abdf43fb043ebac6ee3615131fc962365">IsRational</a> () const</td></tr>
<tr class="separator:abdf43fb043ebac6ee3615131fc962365"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a114cf287baa4a4e21cc609dd94ab4ad3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a114cf287baa4a4e21cc609dd94ab4ad3">IsSingular</a> (int) const</td></tr>
<tr class="separator:a114cf287baa4a4e21cc609dd94ab4ad3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92f6166e55e981d8f699ec6833b44d5e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a92f6166e55e981d8f699ec6833b44d5e">IsValid</a> (class <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log=nullptr) const override</td></tr>
<tr class="memdesc:a92f6166e55e981d8f699ec6833b44d5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests an object to see if its data members are correctly initialized. <a href="#a92f6166e55e981d8f699ec6833b44d5e">More...</a><br /></td></tr>
<tr class="separator:a92f6166e55e981d8f699ec6833b44d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36bd5b72fda4d740a089d3a0ca17af6e"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a36bd5b72fda4d740a089d3a0ca17af6e">Knot</a> (int dir, int knot_index) const</td></tr>
<tr class="separator:a36bd5b72fda4d740a089d3a0ca17af6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adefeff58b59e92f9fd08e8c579dfe593"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#adefeff58b59e92f9fd08e8c579dfe593">KnotCount</a> (int dir) const</td></tr>
<tr class="separator:adefeff58b59e92f9fd08e8c579dfe593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ef5ef9d3fb99c28978b5de61bec6fad"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a6ef5ef9d3fb99c28978b5de61bec6fad">MakeDeformable</a> () override</td></tr>
<tr class="memdesc:a6ef5ef9d3fb99c28978b5de61bec6fad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#ac3d5cb708edca66a4a6c1992299329a3" title="If possible, converts the object into a form that can be accuratly modified with &quot;squishy&quot; transforma...">ON_Geometry::MakeDeformable</a> function. <a href="#a6ef5ef9d3fb99c28978b5de61bec6fad">More...</a><br /></td></tr>
<tr class="separator:a6ef5ef9d3fb99c28978b5de61bec6fad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5530ca060d6af2bb4ac0a38d5e0de6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#afe5530ca060d6af2bb4ac0a38d5e0de6">MakeNonRational</a> ()</td></tr>
<tr class="separator:afe5530ca060d6af2bb4ac0a38d5e0de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a636bde5a7bb61d034dc5263850c277"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a9a636bde5a7bb61d034dc5263850c277">MakeRational</a> ()</td></tr>
<tr class="separator:a9a636bde5a7bb61d034dc5263850c277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee66d13d9abde767671d8ce9c1e3659"><td class="memItemLeft" align="right" valign="top">ON::object_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aaee66d13d9abde767671d8ce9c1e3659">ObjectType</a> () const override</td></tr>
<tr class="memdesc:aaee66d13d9abde767671d8ce9c1e3659"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#afa19aee4a411a8fda53aff00bd02d86e" title="Useful for switch statements that need to differentiate between basic object types like points...">ON_Object::ObjectType</a> function. Saves the definition of this class in serial binary form that can be read by ON_BezierVolue::Read. <a href="#aaee66d13d9abde767671d8ce9c1e3659">More...</a><br /></td></tr>
<tr class="separator:aaee66d13d9abde767671d8ce9c1e3659"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bb919882b54b2195cb28fbbcb59ff95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html">ON_NurbsCage</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a7bb919882b54b2195cb28fbbcb59ff95">operator=</a> (const <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html">ON_NurbsCage</a> &amp;src)</td></tr>
<tr class="separator:a7bb919882b54b2195cb28fbbcb59ff95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d01732807830e936c858cc0535d295"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html">ON_NurbsCage</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a64d01732807830e936c858cc0535d295">operator=</a> (const <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html">ON_BezierCage</a> &amp;src)</td></tr>
<tr class="separator:a64d01732807830e936c858cc0535d295"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74269857f5cb471082cbf6f0011e1d87"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a74269857f5cb471082cbf6f0011e1d87">Order</a> (int dir) const</td></tr>
<tr class="separator:a74269857f5cb471082cbf6f0011e1d87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e77799d95bfc08a8eee9db9fd91285a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a7e77799d95bfc08a8eee9db9fd91285a">PointAt</a> (double r, double s, double t) const</td></tr>
<tr class="memdesc:a7e77799d95bfc08a8eee9db9fd91285a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates bezer volume map. <a href="#a7e77799d95bfc08a8eee9db9fd91285a">More...</a><br /></td></tr>
<tr class="separator:a7e77799d95bfc08a8eee9db9fd91285a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d9c37bc210f9c2c0989f508cbb0e9c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a2d9c37bc210f9c2c0989f508cbb0e9c3">PointAt</a> (<a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> rst) const</td></tr>
<tr class="memdesc:a2d9c37bc210f9c2c0989f508cbb0e9c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluates bezer volume map. <a href="#a2d9c37bc210f9c2c0989f508cbb0e9c3">More...</a><br /></td></tr>
<tr class="separator:a2d9c37bc210f9c2c0989f508cbb0e9c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52cfd9156b0aee8bbe1253cc88fdc3a6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a52cfd9156b0aee8bbe1253cc88fdc3a6">Read</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive) override</td></tr>
<tr class="memdesc:a52cfd9156b0aee8bbe1253cc88fdc3a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a09ac9742ead91dd8f9cdd579bcbfed10" title="Low level archive writing tool used by ON_BinaryArchive::ReadObject(). ">ON_Object::Read</a> function. Reads the definition of this class from an archive previously saved by ON_BezierVolue::Write. <a href="#a52cfd9156b0aee8bbe1253cc88fdc3a6">More...</a><br /></td></tr>
<tr class="separator:a52cfd9156b0aee8bbe1253cc88fdc3a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7487e08b72cc60cf1567eeb30344179"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ae7487e08b72cc60cf1567eeb30344179">ReserveCVCapacity</a> (int cv_capacity)</td></tr>
<tr class="memdesc:ae7487e08b72cc60cf1567eeb30344179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tools for managing CV and knot memory. <a href="#ae7487e08b72cc60cf1567eeb30344179">More...</a><br /></td></tr>
<tr class="separator:ae7487e08b72cc60cf1567eeb30344179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab345546c97d36794dd3c40adbee1c3a6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ab345546c97d36794dd3c40adbee1c3a6">ReserveKnotCapacity</a> (int dir, int cv_capacity)</td></tr>
<tr class="separator:ab345546c97d36794dd3c40adbee1c3a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada0615c43838c18acf75379e4dc8d8e4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#ada0615c43838c18acf75379e4dc8d8e4">Reverse</a> (int dir)</td></tr>
<tr class="separator:ada0615c43838c18acf75379e4dc8d8e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f9e73c0169bf613279a8dc81364dd82"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a7f9e73c0169bf613279a8dc81364dd82">SetCV</a> (int i, int j, int k, ON::point_style, const double *)</td></tr>
<tr class="separator:a7f9e73c0169bf613279a8dc81364dd82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42cc5ed1f47f2db6ee1eb954d747dab4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a42cc5ed1f47f2db6ee1eb954d747dab4">SetCV</a> (int i, int j, int k, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;point)</td></tr>
<tr class="separator:a42cc5ed1f47f2db6ee1eb954d747dab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d12ae3e0cdba49fee698bbbf1db62d9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a8d12ae3e0cdba49fee698bbbf1db62d9">SetCV</a> (int i, int j, int k, const <a class="el" href="../../d9/db1/class_o_n__4d_point.html">ON_4dPoint</a> &amp;hpoint)</td></tr>
<tr class="separator:a8d12ae3e0cdba49fee698bbbf1db62d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fa8a3f09e08c51e72d4b117b7d21a1a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a1fa8a3f09e08c51e72d4b117b7d21a1a">SetKnot</a> (int dir, int knot_index, double knot_value)</td></tr>
<tr class="separator:a1fa8a3f09e08c51e72d4b117b7d21a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a853bf29cb4626992d072119b47aae0d8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a853bf29cb4626992d072119b47aae0d8">SetWeight</a> (int i, int j, int k, double w)</td></tr>
<tr class="separator:a853bf29cb4626992d072119b47aae0d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafd6ba72ecd772e6ea6c92c4281ed327"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aafd6ba72ecd772e6ea6c92c4281ed327">SizeOf</a> () const override</td></tr>
<tr class="memdesc:aafd6ba72ecd772e6ea6c92c4281ed327"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a0299df21bfed90d7b5bfb24cdcf5e6c1">ON_Object::SizeOf</a> function. <a href="#aafd6ba72ecd772e6ea6c92c4281ed327">More...</a><br /></td></tr>
<tr class="separator:aafd6ba72ecd772e6ea6c92c4281ed327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaea266bd2577f7f5ae18acd3737143e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aaea266bd2577f7f5ae18acd3737143e0">SpanCount</a> (int dir) const</td></tr>
<tr class="separator:aaea266bd2577f7f5ae18acd3737143e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbb446376fe3fa363430cdee7a21d0ff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#acbb446376fe3fa363430cdee7a21d0ff">Transform</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;xform) override</td></tr>
<tr class="memdesc:acbb446376fe3fa363430cdee7a21d0ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1" title="Transforms the object. ">ON_Geometry::Transform</a> function. Transforms NURBS volume. <a href="#acbb446376fe3fa363430cdee7a21d0ff">More...</a><br /></td></tr>
<tr class="separator:acbb446376fe3fa363430cdee7a21d0ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c04c3b11efa6eb026e03f4f3e360824"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a8c04c3b11efa6eb026e03f4f3e360824">Transpose</a> (int dir0, int dir1)</td></tr>
<tr class="separator:a8c04c3b11efa6eb026e03f4f3e360824"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c2fba8df6ac7b027a08a0728812d9a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a6c2fba8df6ac7b027a08a0728812d9a0">Trim</a> (int dir, const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> &amp;domain)</td></tr>
<tr class="separator:a6c2fba8df6ac7b027a08a0728812d9a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fc5762f71da32bef569132fa25b59dd"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a5fc5762f71da32bef569132fa25b59dd">Weight</a> (int i, int j, int k) const</td></tr>
<tr class="separator:a5fc5762f71da32bef569132fa25b59dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa106381e3deef0a9c2159a92a4e5cb69"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aa106381e3deef0a9c2159a92a4e5cb69">Write</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive) const override</td></tr>
<tr class="memdesc:aa106381e3deef0a9c2159a92a4e5cb69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a16eb9ab6bf0d0a614655cf9cd055871a" title="Low level archive writing tool used by ON_BinaryArchive::WriteObject(). ">ON_Object::Write</a> function. Saves the definition of this class in serial binary form that can be read by ON_BezierVolue::Read. <a href="#aa106381e3deef0a9c2159a92a4e5cb69">More...</a><br /></td></tr>
<tr class="separator:aa106381e3deef0a9c2159a92a4e5cb69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21212d0a292cfe99ffe6f23c9fe04213"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a21212d0a292cfe99ffe6f23c9fe04213">ZeroCVs</a> ()</td></tr>
<tr class="separator:a21212d0a292cfe99ffe6f23c9fe04213"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_o_n___geometry"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_o_n___geometry')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a></td></tr>
<tr class="memitem:a65226d33b1c8c1e8289e37073566c953 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a65226d33b1c8c1e8289e37073566c953">ON_Geometry</a> ()=default</td></tr>
<tr class="separator:a65226d33b1c8c1e8289e37073566c953 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71fbefc2a5f24da5f5fb4061d6849f17 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a71fbefc2a5f24da5f5fb4061d6849f17">ON_Geometry</a> (const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> &amp;)=default</td></tr>
<tr class="separator:a71fbefc2a5f24da5f5fb4061d6849f17 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f2ca447610c622f3530944c764a3a67 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a4f2ca447610c622f3530944c764a3a67">~ON_Geometry</a> ()=default</td></tr>
<tr class="separator:a4f2ca447610c622f3530944c764a3a67 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1acdd7f0c350da696b402a9ac5edce0 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#ab1acdd7f0c350da696b402a9ac5edce0">BoundingBox</a> () const</td></tr>
<tr class="memdesc:ab1acdd7f0c350da696b402a9ac5edce0 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get object's 3d axis aligned bounding box. <a href="../../df/de0/class_o_n___geometry.html#ab1acdd7f0c350da696b402a9ac5edce0">More...</a><br /></td></tr>
<tr class="separator:ab1acdd7f0c350da696b402a9ac5edce0 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb8d6122b6285e4ab819fa50bd442c23 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual class <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23">BrepForm</a> (class <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> *brep=nullptr) const</td></tr>
<tr class="memdesc:aeb8d6122b6285e4ab819fa50bd442c23 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">If possible, <a class="el" href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23" title="If possible, BrepForm() creates a brep form of the ON_Geometry. ">BrepForm()</a> creates a brep form of the <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>. <a href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23">More...</a><br /></td></tr>
<tr class="separator:aeb8d6122b6285e4ab819fa50bd442c23 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8dfbd8534986bbd327a6ad812e374be inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#af8dfbd8534986bbd327a6ad812e374be">ClearBoundingBox</a> ()</td></tr>
<tr class="memdesc:af8dfbd8534986bbd327a6ad812e374be inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Some objects cache bounding box information. If you modify an object, then call <a class="el" href="../../df/de0/class_o_n___geometry.html#af8dfbd8534986bbd327a6ad812e374be" title="Some objects cache bounding box information. If you modify an object, then call ClearBoundingBox() to...">ClearBoundingBox()</a> to inform the object that any cached bounding boxes are invalid. <a href="../../df/de0/class_o_n___geometry.html#af8dfbd8534986bbd327a6ad812e374be">More...</a><br /></td></tr>
<tr class="separator:af8dfbd8534986bbd327a6ad812e374be inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20e5d1aeada9545127329a8699c702b9 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual ON_COMPONENT_INDEX&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a20e5d1aeada9545127329a8699c702b9">ComponentIndex</a> () const</td></tr>
<tr class="memdesc:a20e5d1aeada9545127329a8699c702b9 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this piece of geometry is a component in something larger, like an <a class="el" href="../../dd/de8/class_o_n___brep_edge.html" title="Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in...">ON_BrepEdge</a> in an <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>, then this function returns the component index. <a href="../../df/de0/class_o_n___geometry.html#a20e5d1aeada9545127329a8699c702b9">More...</a><br /></td></tr>
<tr class="separator:a20e5d1aeada9545127329a8699c702b9 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcb646d6ca698c092b73f2f05373bfc2 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#adcb646d6ca698c092b73f2f05373bfc2">EvaluatePoint</a> (const class <a class="el" href="../../d3/d80/class_o_n___obj_ref.html">ON_ObjRef</a> &amp;objref, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;P) const</td></tr>
<tr class="memdesc:adcb646d6ca698c092b73f2f05373bfc2 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the location of a point from the object reference. <a href="../../df/de0/class_o_n___geometry.html#adcb646d6ca698c092b73f2f05373bfc2">More...</a><br /></td></tr>
<tr class="separator:adcb646d6ca698c092b73f2f05373bfc2 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7259b0a7e7c663e55345788411352075 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a7259b0a7e7c663e55345788411352075">GetBoundingBox</a> (<a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;bbox, bool bGrowBox=false) const</td></tr>
<tr class="memdesc:a7259b0a7e7c663e55345788411352075 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get object's 3d axis aligned bounding box or the union of the input box with the object's bounding box. <a href="../../df/de0/class_o_n___geometry.html#a7259b0a7e7c663e55345788411352075">More...</a><br /></td></tr>
<tr class="separator:a7259b0a7e7c663e55345788411352075 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac123c564ea7a43c4406ac78954cf5266 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#ac123c564ea7a43c4406ac78954cf5266">GetBoundingBox</a> (<a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;bbox_min, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;bbox_max, bool bGrowBox=false) const</td></tr>
<tr class="memdesc:ac123c564ea7a43c4406ac78954cf5266 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get corners of object's 3d axis aligned bounding box or the union of the input box with the object's bounding box. <a href="../../df/de0/class_o_n___geometry.html#ac123c564ea7a43c4406ac78954cf5266">More...</a><br /></td></tr>
<tr class="separator:ac123c564ea7a43c4406ac78954cf5266 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84b28eb33d34c71913b9cd16f8ecab50 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a84b28eb33d34c71913b9cd16f8ecab50">HasBrepForm</a> () const</td></tr>
<tr class="memdesc:a84b28eb33d34c71913b9cd16f8ecab50 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query an object to see if it has an <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> form. Result: Returns true if the virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23" title="If possible, BrepForm() creates a brep form of the ON_Geometry. ">ON_Geometry::BrepForm</a> can compute an <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> representation of this object. <a href="../../df/de0/class_o_n___geometry.html#a84b28eb33d34c71913b9cd16f8ecab50">More...</a><br /></td></tr>
<tr class="separator:a84b28eb33d34c71913b9cd16f8ecab50 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a071e7617820ea38c40f4b3966e7daee0 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a071e7617820ea38c40f4b3966e7daee0">operator=</a> (const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> &amp;)=default</td></tr>
<tr class="separator:a071e7617820ea38c40f4b3966e7daee0 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c8306ab6d43886453a056160429bc0a inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a3c8306ab6d43886453a056160429bc0a">Rotate</a> (double sin_angle, double cos_angle, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;rotation_axis, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;rotation_center)</td></tr>
<tr class="memdesc:a3c8306ab6d43886453a056160429bc0a inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule). <a href="../../df/de0/class_o_n___geometry.html#a3c8306ab6d43886453a056160429bc0a">More...</a><br /></td></tr>
<tr class="separator:a3c8306ab6d43886453a056160429bc0a inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af49629d8d427ee579d9b28c1e25818e0 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#af49629d8d427ee579d9b28c1e25818e0">Rotate</a> (double rotation_angle, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;rotation_axis, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;rotation_center)</td></tr>
<tr class="memdesc:af49629d8d427ee579d9b28c1e25818e0 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule). <a href="../../df/de0/class_o_n___geometry.html#af49629d8d427ee579d9b28c1e25818e0">More...</a><br /></td></tr>
<tr class="separator:af49629d8d427ee579d9b28c1e25818e0 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b847d6dcda412468ab59f06328b2619 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a1b847d6dcda412468ab59f06328b2619">Scale</a> (double scale_factor)</td></tr>
<tr class="memdesc:a1b847d6dcda412468ab59f06328b2619 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scales the object by the specified facotor. The scale is centered at the origin. <a href="../../df/de0/class_o_n___geometry.html#a1b847d6dcda412468ab59f06328b2619">More...</a><br /></td></tr>
<tr class="separator:a1b847d6dcda412468ab59f06328b2619 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a737d7b1433104a39298629931e899cd4 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a737d7b1433104a39298629931e899cd4">SwapCoordinates</a> (int i, int j)</td></tr>
<tr class="memdesc:a737d7b1433104a39298629931e899cd4 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps object coordinate values with indices i and j. <a href="../../df/de0/class_o_n___geometry.html#a737d7b1433104a39298629931e899cd4">More...</a><br /></td></tr>
<tr class="separator:a737d7b1433104a39298629931e899cd4 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b47e669fde50b5223a8017863598e89 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a3b47e669fde50b5223a8017863598e89">Translate</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;translation_vector)</td></tr>
<tr class="memdesc:a3b47e669fde50b5223a8017863598e89 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates the object along the specified vector. <a href="../../df/de0/class_o_n___geometry.html#a3b47e669fde50b5223a8017863598e89">More...</a><br /></td></tr>
<tr class="separator:a3b47e669fde50b5223a8017863598e89 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_o_n___object"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_o_n___object')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a></td></tr>
<tr class="memitem:af580c6199f4469c49a4e09a117626c10 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#af580c6199f4469c49a4e09a117626c10">ON_Object</a> () ON_NOEXCEPT</td></tr>
<tr class="separator:af580c6199f4469c49a4e09a117626c10 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a274166b34d06fc07a85997fd01b2dab1 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a274166b34d06fc07a85997fd01b2dab1">ON_Object</a> (const <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;)</td></tr>
<tr class="separator:a274166b34d06fc07a85997fd01b2dab1 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad940aab7d51005c8732d76d1b188e332 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ad940aab7d51005c8732d76d1b188e332">~ON_Object</a> ()</td></tr>
<tr class="separator:ad940aab7d51005c8732d76d1b188e332 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a1cfab63437a2d03cc50fdc6734f2a5 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../d1/df0/class_o_n___aggregate_component_status.html">ON_AggregateComponentStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a8a1cfab63437a2d03cc50fdc6734f2a5">AggregateComponentStatus</a> () const</td></tr>
<tr class="memdesc:a8a1cfab63437a2d03cc50fdc6734f2a5 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call whenever a component status setting is modifed by directly changing it on a component in a way that will result in any saved information about the parent object's aggretate component status becoming invalid. <a href="../../d9/d7b/class_o_n___object.html#a8a1cfab63437a2d03cc50fdc6734f2a5">More...</a><br /></td></tr>
<tr class="separator:a8a1cfab63437a2d03cc50fdc6734f2a5 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5432b341051664c185b10712a6e5b79 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ad5432b341051664c185b10712a6e5b79">AttachUserData</a> (class <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> *pUserData)</td></tr>
<tr class="memdesc:ad5432b341051664c185b10712a6e5b79 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach user data to an object. <a href="../../d9/d7b/class_o_n___object.html#ad5432b341051664c185b10712a6e5b79">More...</a><br /></td></tr>
<tr class="separator:ad5432b341051664c185b10712a6e5b79 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27893ff72ca7abbe985f8b5f4ccd900e inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a27893ff72ca7abbe985f8b5f4ccd900e">ClearAllComponentStates</a> () const</td></tr>
<tr class="memdesc:a27893ff72ca7abbe985f8b5f4ccd900e inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all active level component states to <a class="el" href="../../d9/d12/class_o_n___component_status.html#ae267cd5d4088c8a033fa348d30227223">ON_ComponentStatus::NoneSet</a>. <a href="../../d9/d7b/class_o_n___object.html#a27893ff72ca7abbe985f8b5f4ccd900e">More...</a><br /></td></tr>
<tr class="separator:a27893ff72ca7abbe985f8b5f4ccd900e inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1af75ebe418edff4a11985f8fca7d83b inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a1af75ebe418edff4a11985f8fca7d83b">ClearComponentStates</a> (<a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a> states_to_clear) const</td></tr>
<tr class="memdesc:a1af75ebe418edff4a11985f8fca7d83b inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the specified states on every component. <a href="../../d9/d7b/class_o_n___object.html#a1af75ebe418edff4a11985f8fca7d83b">More...</a><br /></td></tr>
<tr class="separator:a1af75ebe418edff4a11985f8fca7d83b inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeadf76a46f3f1a661bbf41e1b754fe89 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#aeadf76a46f3f1a661bbf41e1b754fe89">ClearComponentStates</a> (ON_COMPONENT_INDEX component_index, <a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a> states_to_clear) const</td></tr>
<tr class="memdesc:aeadf76a46f3f1a661bbf41e1b754fe89 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear states on an individual component. <a href="../../d9/d7b/class_o_n___object.html#aeadf76a46f3f1a661bbf41e1b754fe89">More...</a><br /></td></tr>
<tr class="separator:aeadf76a46f3f1a661bbf41e1b754fe89 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad044157e5c1efde9fce1c6ccf6e81ff3 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ad044157e5c1efde9fce1c6ccf6e81ff3">CopyUserData</a> (const <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;source_object, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> source_userdata_item_id, <a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c">ON_Object::UserDataConflictResolution</a> userdata_conflict_resolution)</td></tr>
<tr class="memdesc:ad044157e5c1efde9fce1c6ccf6e81ff3 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user tool that copies user data items with positive values of <a class="el" href="../../d5/d55/class_o_n___user_data.html#ac025400e9bff35c899ed85ba1b0a52e4">ON_UserData.m_userdata_copycount</a> from source_object to "this. <a href="../../d9/d7b/class_o_n___object.html#ad044157e5c1efde9fce1c6ccf6e81ff3">More...</a><br /></td></tr>
<tr class="separator:ad044157e5c1efde9fce1c6ccf6e81ff3 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58958333257eba5575a6a1b09c366c1b inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a58958333257eba5575a6a1b09c366c1b">CopyUserData</a> (const <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;source_object)</td></tr>
<tr class="memdesc:a58958333257eba5575a6a1b09c366c1b inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls CopyUserData(source_object,ON_Object::UserDataConflictResolution::source_object). <a href="../../d9/d7b/class_o_n___object.html#a58958333257eba5575a6a1b09c366c1b">More...</a><br /></td></tr>
<tr class="separator:a58958333257eba5575a6a1b09c366c1b inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa67be7d8cc76ec82ae22a30093ecf98f inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#aa67be7d8cc76ec82ae22a30093ecf98f">DeleteComponents</a> (const ON_COMPONENT_INDEX *ci_list, size_t ci_count)</td></tr>
<tr class="memdesc:aa67be7d8cc76ec82ae22a30093ecf98f inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the portions of the object identified in ci_list[]. <a href="../../d9/d7b/class_o_n___object.html#aa67be7d8cc76ec82ae22a30093ecf98f">More...</a><br /></td></tr>
<tr class="separator:aa67be7d8cc76ec82ae22a30093ecf98f inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dbb0eff3b2287152b40991b3afca9ee inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a1dbb0eff3b2287152b40991b3afca9ee">DetachUserData</a> (class <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> *pUserData)</td></tr>
<tr class="memdesc:a1dbb0eff3b2287152b40991b3afca9ee inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove user data from an object. <a href="../../d9/d7b/class_o_n___object.html#a1dbb0eff3b2287152b40991b3afca9ee">More...</a><br /></td></tr>
<tr class="separator:a1dbb0eff3b2287152b40991b3afca9ee inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad265ca0da2d751edaa9d2b5ab2540c6a inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ad265ca0da2d751edaa9d2b5ab2540c6a">EmergencyDestroy</a> ()</td></tr>
<tr class="memdesc:ad265ca0da2d751edaa9d2b5ab2540c6a inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets m_user_data_list = 0. <a href="../../d9/d7b/class_o_n___object.html#ad265ca0da2d751edaa9d2b5ab2540c6a">More...</a><br /></td></tr>
<tr class="separator:ad265ca0da2d751edaa9d2b5ab2540c6a inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb43bb324c44740c4bc2932e2f95c835 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">class <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#adb43bb324c44740c4bc2932e2f95c835">FirstUserData</a> () const</td></tr>
<tr class="memdesc:adb43bb324c44740c4bc2932e2f95c835 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">User data is stored as a linked list of <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> classes. FirstUserData gets the first item in the linked list. This is the most recent item attached using <a class="el" href="../../d9/d7b/class_o_n___object.html#ad5432b341051664c185b10712a6e5b79" title="Attach user data to an object. ">AttachUserData()</a>. Remark: To iterate through all the user data on an object, call <a class="el" href="../../d9/d7b/class_o_n___object.html#adb43bb324c44740c4bc2932e2f95c835" title="User data is stored as a linked list of ON_UserData classes. FirstUserData gets the first item in the...">FirstUserData()</a> and then use <a class="el" href="../../d5/d55/class_o_n___user_data.html#a5e5a0d01e000319e0b37b340752613d8">ON_UserData::Next()</a> to traverse the list. <a href="../../d9/d7b/class_o_n___object.html#adb43bb324c44740c4bc2932e2f95c835">More...</a><br /></td></tr>
<tr class="separator:adb43bb324c44740c4bc2932e2f95c835 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a691de6470e814973858aa5c51eaffa77 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a691de6470e814973858aa5c51eaffa77">GetComponentsWithSetStates</a> (<a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a> states_filter, bool bAllEqualStates, <a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; ON_COMPONENT_INDEX &gt; &amp;components) const</td></tr>
<tr class="separator:a691de6470e814973858aa5c51eaffa77 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f8d609e22008680581c6ca72ac47df inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">class <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a29f8d609e22008680581c6ca72ac47df">GetUserData</a> (const <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> &amp;userdata_uuid) const</td></tr>
<tr class="memdesc:a29f8d609e22008680581c6ca72ac47df inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to user data. <a href="../../d9/d7b/class_o_n___object.html#a29f8d609e22008680581c6ca72ac47df">More...</a><br /></td></tr>
<tr class="separator:a29f8d609e22008680581c6ca72ac47df inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab40b5e89b4766299e415593b31a3849c inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ab40b5e89b4766299e415593b31a3849c">GetUserString</a> (const wchar_t *key, <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;string_value) const</td></tr>
<tr class="memdesc:ab40b5e89b4766299e415593b31a3849c inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get user string from the object. <a href="../../d9/d7b/class_o_n___object.html#ab40b5e89b4766299e415593b31a3849c">More...</a><br /></td></tr>
<tr class="separator:ab40b5e89b4766299e415593b31a3849c inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac285fba1506b2b9b821e3655582939c4 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ac285fba1506b2b9b821e3655582939c4">GetUserStringKeys</a> (<a class="el" href="../../dd/d40/class_o_n___class_array.html">ON_ClassArray</a>&lt; <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &gt; &amp;user_string_keys) const</td></tr>
<tr class="memdesc:ac285fba1506b2b9b821e3655582939c4 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of all user string keys on the object. <a href="../../d9/d7b/class_o_n___object.html#ac285fba1506b2b9b821e3655582939c4">More...</a><br /></td></tr>
<tr class="separator:ac285fba1506b2b9b821e3655582939c4 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a004ab49490f69fcdc7681919c3837a33 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a004ab49490f69fcdc7681919c3837a33">GetUserStrings</a> (<a class="el" href="../../dd/d40/class_o_n___class_array.html">ON_ClassArray</a>&lt; <a class="el" href="../../d0/d82/class_o_n___user_string.html">ON_UserString</a> &gt; &amp;user_strings) const</td></tr>
<tr class="memdesc:a004ab49490f69fcdc7681919c3837a33 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of all user strings on the object. <a href="../../d9/d7b/class_o_n___object.html#a004ab49490f69fcdc7681919c3837a33">More...</a><br /></td></tr>
<tr class="separator:a004ab49490f69fcdc7681919c3837a33 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5367058a90545e81cd79b78103175d inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#afe5367058a90545e81cd79b78103175d">IsKindOf</a> (const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *pClassId) const</td></tr>
<tr class="memdesc:afe5367058a90545e81cd79b78103175d inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low level tool to test if an object is derived from a specified class. <a href="../../d9/d7b/class_o_n___object.html#afe5367058a90545e81cd79b78103175d">More...</a><br /></td></tr>
<tr class="separator:afe5367058a90545e81cd79b78103175d inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a609192fbafecbe4be3136d8cb4dce882 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a609192fbafecbe4be3136d8cb4dce882">MarkAggregateComponentStatusAsNotCurrent</a> () const</td></tr>
<tr class="memdesc:a609192fbafecbe4be3136d8cb4dce882 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call whenever a component status setting is modifed by directly changing it on a component in a way that will result in any saved information about the parent object's aggretate component status becoming invalid. <a href="../../d9/d7b/class_o_n___object.html#a609192fbafecbe4be3136d8cb4dce882">More...</a><br /></td></tr>
<tr class="separator:a609192fbafecbe4be3136d8cb4dce882 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0674ccb79b6333e4b3c8e95ee10dd73 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ae0674ccb79b6333e4b3c8e95ee10dd73">MemoryRelocate</a> ()</td></tr>
<tr class="memdesc:ae0674ccb79b6333e4b3c8e95ee10dd73 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="../../d9/d7b/class_o_n___object.html#ae0674ccb79b6333e4b3c8e95ee10dd73" title="The MemoryRelocate() function is called when an object&#39;s location in memory is changed. For example, if an object resides in a chunk of memory that is grown by calling a realloc that has to allocate a new chunk and copy the contents of the old chunk to the new chunk, then the location of the object&#39;s memory changes. In practice this happens when classes derived from ON_Object are stored in dynamic arrays, like the default implementation of ON_ObjectArray&lt;&gt;&#39;s that use realloc to grow the dynamic array. ">MemoryRelocate()</a> function is called when an object's location in memory is changed. For example, if an object resides in a chunk of memory that is grown by calling a realloc that has to allocate a new chunk and copy the contents of the old chunk to the new chunk, then the location of the object's memory changes. In practice this happens when 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> are stored in dynamic arrays, like the default implementation of ON_ObjectArray&lt;&gt;'s that use realloc to grow the dynamic array. <a href="../../d9/d7b/class_o_n___object.html#ae0674ccb79b6333e4b3c8e95ee10dd73">More...</a><br /></td></tr>
<tr class="separator:ae0674ccb79b6333e4b3c8e95ee10dd73 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21c508d3b53458e252adbcd29e62ed09 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual <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="../../d9/d7b/class_o_n___object.html#a21c508d3b53458e252adbcd29e62ed09">ModelObjectId</a> () const</td></tr>
<tr class="memdesc:a21c508d3b53458e252adbcd29e62ed09 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">All objects in an opennurbs model have an id ( ON_Layer.m_layer_id, ON_Font.m_font_id, ON_Material.m_material_id, <a class="el" href="../../d0/d52/class_o_n__3dm_object_attributes.html#a806a85052b002c45021650e3b97e2018">ON_3dmObjectAttributes.m_uuid</a> ). <a href="../../d9/d7b/class_o_n___object.html#a21c508d3b53458e252adbcd29e62ed09">More...</a><br /></td></tr>
<tr class="separator:a21c508d3b53458e252adbcd29e62ed09 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78b4ecb2eb36641e1ee6b4fc6129606e inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a78b4ecb2eb36641e1ee6b4fc6129606e">MoveUserData</a> (<a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;source_object, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> source_userdata_item_id, <a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c">ON_Object::UserDataConflictResolution</a> userdata_conflict_resolution, bool bDeleteAllSourceItems)</td></tr>
<tr class="memdesc:a78b4ecb2eb36641e1ee6b4fc6129606e inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user tool that moves user data items from source_object to "this. <a href="../../d9/d7b/class_o_n___object.html#a78b4ecb2eb36641e1ee6b4fc6129606e">More...</a><br /></td></tr>
<tr class="separator:a78b4ecb2eb36641e1ee6b4fc6129606e inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54a891ae2cb2a25008a7a39cb19dfcea inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a54a891ae2cb2a25008a7a39cb19dfcea">MoveUserData</a> (<a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;source_object)</td></tr>
<tr class="memdesc:a54a891ae2cb2a25008a7a39cb19dfcea inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls MoveUserData(source_object,ON_Object::UserDataConflictResolution::source_object,true). <a href="../../d9/d7b/class_o_n___object.html#a54a891ae2cb2a25008a7a39cb19dfcea">More...</a><br /></td></tr>
<tr class="separator:a54a891ae2cb2a25008a7a39cb19dfcea inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba6166c9aecef42639e684a2a3fda223 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#aba6166c9aecef42639e684a2a3fda223">operator=</a> (const <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;)</td></tr>
<tr class="separator:aba6166c9aecef42639e684a2a3fda223 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88b61cafc0024ecb7a4bd22da2718680 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a88b61cafc0024ecb7a4bd22da2718680">PurgeUserData</a> ()</td></tr>
<tr class="memdesc:a88b61cafc0024ecb7a4bd22da2718680 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../d9/d7b/class_o_n___object.html#a88b61cafc0024ecb7a4bd22da2718680" title="PurgeUserData() removes all user data from object. ">PurgeUserData()</a> removes all user data from object. <a href="../../d9/d7b/class_o_n___object.html#a88b61cafc0024ecb7a4bd22da2718680">More...</a><br /></td></tr>
<tr class="separator:a88b61cafc0024ecb7a4bd22da2718680 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab728c0576fd5913bc1575b74997bddb5 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ab728c0576fd5913bc1575b74997bddb5">SetComponentStates</a> (ON_COMPONENT_INDEX component_index, <a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a> states_to_set) const</td></tr>
<tr class="memdesc:ab728c0576fd5913bc1575b74997bddb5 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set states on an individual component. <a href="../../d9/d7b/class_o_n___object.html#ab728c0576fd5913bc1575b74997bddb5">More...</a><br /></td></tr>
<tr class="separator:ab728c0576fd5913bc1575b74997bddb5 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a589f1fdc28f6259d1bd22bdedc9c4c76 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a589f1fdc28f6259d1bd22bdedc9c4c76">SetComponentStatus</a> (ON_COMPONENT_INDEX component_index, <a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a> status_to_copy) const</td></tr>
<tr class="memdesc:a589f1fdc28f6259d1bd22bdedc9c4c76 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy status settings to an individual component. <a href="../../d9/d7b/class_o_n___object.html#a589f1fdc28f6259d1bd22bdedc9c4c76">More...</a><br /></td></tr>
<tr class="separator:a589f1fdc28f6259d1bd22bdedc9c4c76 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a074dc9e9b919853919564793c37f5143 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a074dc9e9b919853919564793c37f5143">SetUserString</a> (const wchar_t *key, const wchar_t *string_value)</td></tr>
<tr class="memdesc:a074dc9e9b919853919564793c37f5143 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach a user string to the object. This information will perisist through copy construction, operator=, and file IO. <a href="../../d9/d7b/class_o_n___object.html#a074dc9e9b919853919564793c37f5143">More...</a><br /></td></tr>
<tr class="separator:a074dc9e9b919853919564793c37f5143 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7234af898c307a2c2f7931db7e627592 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a7234af898c307a2c2f7931db7e627592">SetUserStrings</a> (int count, const <a class="el" href="../../d0/d82/class_o_n___user_string.html">ON_UserString</a> *user_strings, bool bReplace)</td></tr>
<tr class="memdesc:a7234af898c307a2c2f7931db7e627592 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append entries to the user string list <a href="../../d9/d7b/class_o_n___object.html#a7234af898c307a2c2f7931db7e627592">More...</a><br /></td></tr>
<tr class="separator:a7234af898c307a2c2f7931db7e627592 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a881bd2f0d8515adba1c42c578bcb7052 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a881bd2f0d8515adba1c42c578bcb7052">TransformUserData</a> (const class <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;xform)</td></tr>
<tr class="memdesc:a881bd2f0d8515adba1c42c578bcb7052 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Objects derived from <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> must call <a class="el" href="../../d9/d7b/class_o_n___object.html#a881bd2f0d8515adba1c42c578bcb7052" title="Objects derived from ON_Geometry must call TransformUserData() in their Transform() member function...">TransformUserData()</a> in their Transform() member function. <a href="../../d9/d7b/class_o_n___object.html#a881bd2f0d8515adba1c42c578bcb7052">More...</a><br /></td></tr>
<tr class="separator:a881bd2f0d8515adba1c42c578bcb7052 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82188bbf97bbd149ac6fcb7cd8e989d1 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a82188bbf97bbd149ac6fcb7cd8e989d1">UpdateReferencedComponents</a> (const class <a class="el" href="../../d8/d72/class_o_n___component_manifest.html">ON_ComponentManifest</a> &amp;source_manifest, const class <a class="el" href="../../d8/d72/class_o_n___component_manifest.html">ON_ComponentManifest</a> &amp;destination_manifest, const class <a class="el" href="../../d9/df6/class_o_n___manifest_map.html">ON_ManifestMap</a> &amp;manifest_map)</td></tr>
<tr class="memdesc:a82188bbf97bbd149ac6fcb7cd8e989d1 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the destination_manifest to update references to other components. This is typically done when a component's references came from a "source" context and are being updated to the "destination" context. For example, inserting one model into another when index, id, and name conflicts need to be resolved at the time of insertion. <a href="../../d9/d7b/class_o_n___object.html#a82188bbf97bbd149ac6fcb7cd8e989d1">More...</a><br /></td></tr>
<tr class="separator:a82188bbf97bbd149ac6fcb7cd8e989d1 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab648403ebf4592831809710f378e9ac2 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ab648403ebf4592831809710f378e9ac2">UserStringCount</a> () const</td></tr>
<tr class="separator:ab648403ebf4592831809710f378e9ac2 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a4a6c6aa79896539336f1555cb384caa1"><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a4a6c6aa79896539336f1555cb384caa1">m_cv</a></td></tr>
<tr class="separator:a4a6c6aa79896539336f1555cb384caa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92725f193a88ffa62b451e480fdbb4a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a92725f193a88ffa62b451e480fdbb4a0">m_cv_capacity</a></td></tr>
<tr class="separator:a92725f193a88ffa62b451e480fdbb4a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a0fd6b236aeb8c20ff7aa20657a0dd8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a1a0fd6b236aeb8c20ff7aa20657a0dd8">m_cv_count</a> [3]</td></tr>
<tr class="separator:a1a0fd6b236aeb8c20ff7aa20657a0dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77e8c27707c6a0354279d70db659bc8b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a77e8c27707c6a0354279d70db659bc8b">m_cv_stride</a> [3]</td></tr>
<tr class="separator:a77e8c27707c6a0354279d70db659bc8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fc8f5e8d327ccf0248cacd55ec577e2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a3fc8f5e8d327ccf0248cacd55ec577e2">m_dim</a></td></tr>
<tr class="memdesc:a3fc8f5e8d327ccf0248cacd55ec577e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation. <a href="#a3fc8f5e8d327ccf0248cacd55ec577e2">More...</a><br /></td></tr>
<tr class="separator:a3fc8f5e8d327ccf0248cacd55ec577e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59c20758b20cd99ebcb40cee6cfcca14"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a59c20758b20cd99ebcb40cee6cfcca14">m_is_rat</a></td></tr>
<tr class="separator:a59c20758b20cd99ebcb40cee6cfcca14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6921cf5d1b74b100cde9bb18b0856e5f"><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a6921cf5d1b74b100cde9bb18b0856e5f">m_knot</a> [3]</td></tr>
<tr class="separator:a6921cf5d1b74b100cde9bb18b0856e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c74c8f98b67aebc83451948edb05f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a55c74c8f98b67aebc83451948edb05f0">m_knot_capacity</a> [3]</td></tr>
<tr class="separator:a55c74c8f98b67aebc83451948edb05f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57714c3f83b194cf8947bb018d5d5a38"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a57714c3f83b194cf8947bb018d5d5a38">m_order</a> [3]</td></tr>
<tr class="separator:a57714c3f83b194cf8947bb018d5d5a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_class_o_n___object"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_o_n___object')"><img src="../../closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a></td></tr>
<tr class="memitem:a7f520e987ffa14e71b06493340f9956c inherit pub_types_class_o_n___object"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c">UserDataConflictResolution</a> : unsigned char { <br />
&#160;&#160;<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956caba9e24ac13ffcde7d2f6b554a33df7cd">UserDataConflictResolution::destination_object</a> = 0,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956ca34f1a09f0cf6c7e702b6aad2260c6b0f">UserDataConflictResolution::source_object</a> = 1,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956cad741a50b9ec9ac0de6491a83bc5b166f">UserDataConflictResolution::source_copycount_gt</a> = 2,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956ca35055504b8fe7e98f97c2b2ea6168ad2">UserDataConflictResolution::source_copycount_ge</a> = 3,
<br />
&#160;&#160;<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956ca6c944380c6bd502741a041a82ad00a5a">UserDataConflictResolution::destination_copycount_gt</a> = 4,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956cadb77cee2050a09b500c679688e45a105">UserDataConflictResolution::destination_copycount_ge</a> = 5,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956ca880ec7882afd9386e91140bf4f77e594">UserDataConflictResolution::delete_item</a> = 6
<br />
}<tr class="memdesc:a7f520e987ffa14e71b06493340f9956c"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a userdata item is copied or moved from a source object to a destination object, the <a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c" title="When a userdata item is copied or moved from a source object to a destination object, the ON_Object::UserDataConflictResolution enum values specify how conficts are resolved. Remark: A userdata item &quot;conflict&quot; occurs when both the destination and source object have a user data item with the same value of ON_UserData::m_userdata_uuid. ">ON_Object::UserDataConflictResolution</a> enum values specify how conficts are resolved. Remark: A userdata item "conflict" occurs when both the destination and source object have a user data item with the same value of <a class="el" href="../../d5/d55/class_o_n___user_data.html#a9bc044ba84a529fe2195d8f8a817fda2" title="This uuid is the value that must be passed to ON_Object::GetUserData() to retrieve this piece of user...">ON_UserData::m_userdata_uuid</a>. <a href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a7f520e987ffa14e71b06493340f9956c inherit pub_types_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_class_o_n___geometry"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_class_o_n___geometry')"><img src="../../closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a></td></tr>
<tr class="memitem:a4d9849b197644c66831f3ed1b8738935 inherit pub_static_attribs_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a4d9849b197644c66831f3ed1b8738935">Unset</a></td></tr>
<tr class="separator:a4d9849b197644c66831f3ed1b8738935 inherit pub_static_attribs_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad89175c52a938a7ef7c6154bec00b08f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad89175c52a938a7ef7c6154bec00b08f">&#9670;&nbsp;</a></span>ON_NurbsCage() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_NurbsCage::ON_NurbsCage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa424ecd00549de42e22a0c34bb747f6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa424ecd00549de42e22a0c34bb747f6b">&#9670;&nbsp;</a></span>ON_NurbsCage() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_NurbsCage::ON_NurbsCage </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>is_rat</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7d569d474bc90cd12be7286e53d6ec1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d569d474bc90cd12be7286e53d6ec1d">&#9670;&nbsp;</a></span>ON_NurbsCage() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_NurbsCage::ON_NurbsCage </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;&#160;</td>
<td class="paramname"><em>bbox</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5dd1c63dc2b1e8ff8b0210d3a654e614"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dd1c63dc2b1e8ff8b0210d3a654e614">&#9670;&nbsp;</a></span>ON_NurbsCage() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_NurbsCage::ON_NurbsCage </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *&#160;</td>
<td class="paramname"><em>box_corners</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acfc0105638270899b07c313aba206386"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfc0105638270899b07c313aba206386">&#9670;&nbsp;</a></span>ON_NurbsCage() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_NurbsCage::ON_NurbsCage </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html">ON_BezierCage</a> &amp;&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7f66099fd34ee10af8ef3b0c3229dc64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f66099fd34ee10af8ef3b0c3229dc64">&#9670;&nbsp;</a></span>~ON_NurbsCage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_NurbsCage::~ON_NurbsCage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a795184ce3c12e8a65bc8106f6ec37620"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a795184ce3c12e8a65bc8106f6ec37620">&#9670;&nbsp;</a></span>ON_NurbsCage() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_NurbsCage::ON_NurbsCage </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html">ON_NurbsCage</a> &amp;&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a4bbcc59d975bb9127b97811539c919fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bbcc59d975bb9127b97811539c919fd">&#9670;&nbsp;</a></span>ChangeDimension()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::ChangeDimension </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>desired_dimension</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af600a46930319e7d2f3122b5ef3dd82d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af600a46930319e7d2f3122b5ef3dd82d">&#9670;&nbsp;</a></span>ClampEnd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::ClampEnd </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>end</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a61b248ce6514e2afae7502f35bf571bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61b248ce6514e2afae7502f35bf571bb">&#9670;&nbsp;</a></span>Create() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Create </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>is_rat</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acc067d6cfb73c31b4b6bda065c79742f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc067d6cfb73c31b4b6bda065c79742f">&#9670;&nbsp;</a></span>Create() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Create </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;&#160;</td>
<td class="paramname"><em>bbox</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a Nurbs volume with corners defined by a bounding box. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">box_corners</td><td>[in] 8 points that define corners of the volume <pre class="fragment"> 7______________6
|\ |\
| \ | \
| \ _____________\
| 4 | 5
| | | |
| | | |&lt;/param&gt;
</pre> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">3</td><td>&ndash;|-------&mdash;2 | \ | \ | \ |z \ | y \ | \ | \0_____________\1 x </td></tr>
</table>
</dd>
</dl>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3bd9ee964c44b6631a8e923148cac78e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bd9ee964c44b6631a8e923148cac78e">&#9670;&nbsp;</a></span>Create() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Create </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *&#160;</td>
<td class="paramname"><em>box_corners</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>order2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_count2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a nurbs volume from a 3d box </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">box_corners</td><td>[in] 8 points that define corners of the volume <pre class="fragment"> 7______________6
|\ |\
| \ | \
| \ _____________\
| 4 | 5
| | | |
| | | |&lt;/param&gt;
</pre> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">3</td><td>&ndash;|-------&mdash;2 | \ | \ | \ |t \ | s \ | \ | \0_____________\1 r </td></tr>
</table>
</dd>
</dl>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab17532e65591073568bb977db381c4b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab17532e65591073568bb977db381c4b7">&#9670;&nbsp;</a></span>CV()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* ON_NurbsCage::CV </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user function to get a pointer to control vertex memory. If you are not an expert user, please use ON_NurbsCage::GetCV( ON_3dPoint&amp; ) or ON_NurbsCage::GetCV( ON_4dPoint&amp; ). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cv_index0</td><td>[in] (0 &lt;= cv_index0 &lt; m_order[0])</td></tr>
<tr><td class="paramname">cv_index1</td><td>[in] (0 &lt;= cv_index1 &lt; m_order[1])</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to control vertex. </dd></dl>
<p>If the Nurbs surface is rational, the format of the returned array is a homogeneos rational point with length m_dim+1. If the Nurbs surface is not rational, the format of the returned array is a nonrational euclidean point with length m_dim. See Also <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a791730119a44063f424c36ebc6b3e2dd" title="Returns the style of control vertices in the m_cv array. ">ON_NurbsCage::CVStyle</a> <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#aa1a76abdd38ec06f1b3bceb253c73e6a">ON_NurbsCage::GetCV</a> <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a5fc5762f71da32bef569132fa25b59dd">ON_NurbsCage::Weight</a> </p>
</div>
</div>
<a id="aaad40e859cac842f610769093f58e275"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaad40e859cac842f610769093f58e275">&#9670;&nbsp;</a></span>CVCount() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::CVCount </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae7e0f8e69b19f24dcb49bd26a35e36e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7e0f8e69b19f24dcb49bd26a35e36e2">&#9670;&nbsp;</a></span>CVCount() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::CVCount </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a629b5713316d83203aaaf761507652e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a629b5713316d83203aaaf761507652e7">&#9670;&nbsp;</a></span>CVSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::CVSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a791730119a44063f424c36ebc6b3e2dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a791730119a44063f424c36ebc6b3e2dd">&#9670;&nbsp;</a></span>CVStyle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON::point_style ON_NurbsCage::CVStyle </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the style of control vertices in the m_cv array. </p>
<dl class="section return"><dt>Returns</dt><dd>table ON::not_rational m_is_rat is false ON::homogeneous_rational m_is_rat is true </dd></dl>
</div>
</div>
<a id="ac6b3702214ed760b12b5e2a1ddd8cab0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6b3702214ed760b12b5e2a1ddd8cab0">&#9670;&nbsp;</a></span>DataCRC()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON__UINT32 ON_NurbsCage::DataCRC </td>
<td>(</td>
<td class="paramtype">ON__UINT32&#160;</td>
<td class="paramname"><em>current_remainder</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#af51d5fcec9379ad9b7a56ac4dfc9a8b2" title="Returns a CRC calculated from the information that defines the object. This CRC can be used as a quic...">ON_Object::DataCRC</a> override </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#af51d5fcec9379ad9b7a56ac4dfc9a8b2">ON_Object</a>.</p>
</div>
</div>
<a id="ac94fe3b889a6dc257e1d8e23e0de2b00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac94fe3b889a6dc257e1d8e23e0de2b00">&#9670;&nbsp;</a></span>Degree()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::Degree </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af0069f9ada29860e8b77b0d4a375bb57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0069f9ada29860e8b77b0d4a375bb57">&#9670;&nbsp;</a></span>Destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_NurbsCage::Destroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a14085930306251d54a559ebb435c41d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14085930306251d54a559ebb435c41d0">&#9670;&nbsp;</a></span>DestroyRuntimeCache()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_NurbsCage::DestroyRuntimeCache </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDelete</em> = <code>true</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#af8435c33ab53af41c22dac75e8917569" title="Expert user function. If you are using openNURBS in its default configuration to read and write 3dm a...">ON_Object::DestroyRuntimeCache</a> function. Saves the definition of this class in serial binary form that can be read by ON_BezierVolue::Read. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bDelete</td><td>[in] if true, the cache is deleted. If false, the pointers to the cache are set to zero; this is done when the cache memory was allocated from a pool that has been destroyed and an attempt to free the memory would result in a crash.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#af8435c33ab53af41c22dac75e8917569">ON_Object</a>.</p>
</div>
</div>
<a id="a4ccf348b7dc9decc22281d0a514be482"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ccf348b7dc9decc22281d0a514be482">&#9670;&nbsp;</a></span>Dimension()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::Dimension </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364" title="Dimension of the object. ">ON_Geometry::Dimension</a> function. Gets a tight bounding box with respect to the coordinate system specified by the frame parameter. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bbox</td><td>[in/out]</td></tr>
<tr><td class="paramname">bGrowBox</td><td>[in] If true, the input bbox is grown to include this object's bounding box.</td></tr>
<tr><td class="paramname">frame</td><td>[in] if not null, this specifies the coordinate system frame.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364">ON_Geometry</a>.</p>
</div>
</div>
<a id="a9ba076df1ee51e194f02caec34ef39ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ba076df1ee51e194f02caec34ef39ca">&#9670;&nbsp;</a></span>Domain()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> ON_NurbsCage::Domain </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0f4193a42744b9300bdb653da84986d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f4193a42744b9300bdb653da84986d7">&#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">void ON_NurbsCage::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>text_log</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a21c7b04a80f1806c3a45f72d7c491a44" title="Creates a text dump of the object. ">ON_Object::Dump</a> function. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text_log</td><td>[in] A listing of the values of the members.</td></tr>
</table>
</dd>
</dl>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a21c7b04a80f1806c3a45f72d7c491a44">ON_Object</a>.</p>
</div>
</div>
<a id="a20c45726ac66872e9be81b5e9c6c49a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20c45726ac66872e9be81b5e9c6c49a3">&#9670;&nbsp;</a></span>EmergencyDestroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_NurbsCage::EmergencyDestroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8d0900c474a92c82f1cd2db1d7a1c034"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d0900c474a92c82f1cd2db1d7a1c034">&#9670;&nbsp;</a></span>Evaluate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Evaluate </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>t</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>der_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>v_stride</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>side</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>hint</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluate the NURBS cage </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">r</td><td>[in]</td></tr>
<tr><td class="paramname">s</td><td>[in]</td></tr>
<tr><td class="paramname">t</td><td>[in] (r,s,t) = evaluation parameters</td></tr>
<tr><td class="paramname">der_count</td><td>[in] (&gt;= 0)</td></tr>
<tr><td class="paramname">v_stride</td><td>[in] (&gt;= m_dim)</td></tr>
<tr><td class="paramname">v</td><td>[out] An array of length v_stride*(der_count+1)(der_count+2)*(der_count+3)/6. The evaluation results are stored in this array.</td></tr>
</table>
</dd>
</dl>
<p>P = v[0],...,v[m_dim-1] Dr = v[v_stride],... Ds = v[2*v_stride],... Dt = v[3*v_stride],...</p>
<p>In general, Dr^i Ds^j Dt^k is returned in v[n],...,v[n+m_dim-1], where</p>
<p>d = (i+j+k) n = v_stride*( d*(d+1)*(d+2)/6 + (j+k)*(j+k+1)/2 + k) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">side</td><td>[in] specifies the span to use for the evaluation when r, s, or t is at a knot value. 0 = default 1 = from upper NE quadrant 2 = from upper NW quadrant 3 = from upper SW quadrant 4 = from upper SE quadrant 5 = from lower NE quadrant 6 = from lower NW quadrant 7 = from lower SW quadrant 8 = from lower SE quadrant</td></tr>
<tr><td class="paramname">hint</td><td>[in/out] If a bunch of evaluations will be performed that tend to occur in the same region, then hint[3] can be used to speed the search for the evaluation span. The input value is used as a search hint and the output value records the span used for that evaluation.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful </dd></dl>
<div class="fragment"><div class="line">@verbatim</div><div class="line"> <span class="keywordtype">int</span> der_count = 2;</div><div class="line"> <span class="keywordtype">int</span> v_stride = dim;</div><div class="line"> <span class="keywordtype">double</span> v[v_stride*(der_count+1)*(der_count+2)*(der_count+3)/6];</div><div class="line"> <span class="keywordtype">int</span> side = 0;</div><div class="line"> <span class="keywordtype">int</span> hint[3]; hint[0] = 0; hint[1] = 0; hint[2] = 0;</div><div class="line"> <span class="keywordtype">bool</span> rc = cage.Evaluate(r,s,t,der_count,v_stride,v,side,hint);</div><div class="line"></div><div class="line"> <a class="code" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> P = v;</div><div class="line"></div><div class="line"> <span class="comment">// first order partial derivatives</span></div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Dr = v + v_stride;</div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Ds = v + 2*v_stride;</div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Dt = v + 3*v_stride;</div><div class="line"></div><div class="line"> <span class="comment">// second order partial derivatives</span></div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Drr = v + 4*v_stride;</div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Drs = v + 5*v_stride;</div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Drt = v + 6*v_stride;</div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Dss = v + 7*v_stride;</div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Dst = v + 8*v_stride;</div><div class="line"> <a class="code" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> Dtt = v + 8*v_stride;</div><div class="line"><span class="keyword">@end</span>verbatim</div></div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a7e77799d95bfc08a8eee9db9fd91285a" title="Evaluates bezer volume map. ">ON_NurbsCage::PointAt</a></dd></dl>
</div>
</div>
<a id="a945be8f1d3ba192a5491c23ab76904dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a945be8f1d3ba192a5491c23ab76904dc">&#9670;&nbsp;</a></span>Extend()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Extend </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> &amp;&#160;</td>
<td class="paramname"><em>domain</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a42df8968cf264bba61d594d0f760a7d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42df8968cf264bba61d594d0f760a7d3">&#9670;&nbsp;</a></span>GetBBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::GetBBox </td>
<td>(</td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>boxmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>boxmax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bGrowBox</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <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> GetBBox override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#ad615e08fe92af659c8d10cbb4f8fc5e3">ON_Geometry</a>.</p>
</div>
</div>
<a id="aa1a76abdd38ec06f1b3bceb253c73e6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1a76abdd38ec06f1b3bceb253c73e6a">&#9670;&nbsp;</a></span>GetCV() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::GetCV </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON::point_style&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae9dbf92486b6f0a921b209ec03b7a76f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9dbf92486b6f0a921b209ec03b7a76f">&#9670;&nbsp;</a></span>GetCV() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::GetCV </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a31c9ac0e1053bd9e7e5b5d0f82160da2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31c9ac0e1053bd9e7e5b5d0f82160da2">&#9670;&nbsp;</a></span>GetCV() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::GetCV </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d9/db1/class_o_n__4d_point.html">ON_4dPoint</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a49c65d206828979caf3cecf481d0d5c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49c65d206828979caf3cecf481d0d5c7">&#9670;&nbsp;</a></span>GetSpanVector()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::GetSpanVector </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>span_vector</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3dca3f237343319491d86722aa8b32be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dca3f237343319491d86722aa8b32be">&#9670;&nbsp;</a></span>GetTightBoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::GetTightBoundingBox </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;&#160;</td>
<td class="paramname"><em>tight_bbox</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bGrowBox</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const class <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> *&#160;</td>
<td class="paramname"><em>xform</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <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> GetTightBoundingBox override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#ab59968e400d15d016517b7b4f2e32ea4">ON_Geometry</a>.</p>
</div>
</div>
<a id="aafb3ee1c09262f7d8255357a888d0ccc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafb3ee1c09262f7d8255357a888d0ccc">&#9670;&nbsp;</a></span>GrevilleAbcissa()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double ON_NurbsCage::GrevilleAbcissa </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>gindex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad4e5034aede6e6c73611bbd4c3f64433"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4e5034aede6e6c73611bbd4c3f64433">&#9670;&nbsp;</a></span>IncreaseDegree()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::IncreaseDegree </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>desired_degree</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8f3dacb613188da2ae49021dba5c16bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f3dacb613188da2ae49021dba5c16bd">&#9670;&nbsp;</a></span>InsertKnot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::InsertKnot </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>knot_value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>knot_multiplicity</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8d262736d71315e0a62695a884fab41d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d262736d71315e0a62695a884fab41d">&#9670;&nbsp;</a></span>IsClosed()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::IsClosed </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4d56da987b140ee3e947f5cb4334ba26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d56da987b140ee3e947f5cb4334ba26">&#9670;&nbsp;</a></span>IsDeformable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::IsDeformable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#af156cd098b9e68fab5f32e76b1e274e2">ON_Geometry::IsDeformable</a> function. </p>
<dl class="section return"><dt>Returns</dt><dd>True because a NURBS volume can be accuratly modified with "squishy" transformations like projections, shears, an non-uniform scaling. </dd></dl>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#af156cd098b9e68fab5f32e76b1e274e2">ON_Geometry</a>.</p>
</div>
</div>
<a id="a83425fa3d1aca78904ee8bae346bd69c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83425fa3d1aca78904ee8bae346bd69c">&#9670;&nbsp;</a></span>IsoSurface()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html">ON_NurbsSurface</a>* ON_NurbsCage::IsoSurface </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html">ON_NurbsSurface</a> *&#160;</td>
<td class="paramname"><em>srf</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="adfb583e3cfbf6c444918f449163e88f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfb583e3cfbf6c444918f449163e88f6">&#9670;&nbsp;</a></span>IsParallelogram()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::IsParallelogram </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tolerance</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the cage is a parallelogram within the tolerance. This means the cage can be used as a starting point for cage deformations. </dd></dl>
</div>
</div>
<a id="a9d27ae5bdcde125ff38f7660f458e2d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d27ae5bdcde125ff38f7660f458e2d0">&#9670;&nbsp;</a></span>IsPeriodic()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::IsPeriodic </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abdf43fb043ebac6ee3615131fc962365"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdf43fb043ebac6ee3615131fc962365">&#9670;&nbsp;</a></span>IsRational()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::IsRational </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a114cf287baa4a4e21cc609dd94ab4ad3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a114cf287baa4a4e21cc609dd94ab4ad3">&#9670;&nbsp;</a></span>IsSingular()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::IsSingular </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a92f6166e55e981d8f699ec6833b44d5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92f6166e55e981d8f699ec6833b44d5e">&#9670;&nbsp;</a></span>IsValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::IsValid </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</em> = <code>nullptr</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests an object to see if its data members are correctly initialized. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text_log</td><td>[in] if the object is not valid and text_log is not nullptr, then a brief englis description of the reason the object is not valid is appened to the log. The information appended to text_log is suitable for</td></tr>
<tr><td class="paramname">low</td><td>level debugging purposes by programmers and is not intended to be useful as a high level user interface tool.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table true object is valid false object is invalid, uninitialized, etc. </dd></dl>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#adf87e5ba0d9939dfabbb9f421b9d2b3b">ON_Geometry</a>.</p>
</div>
</div>
<a id="a36bd5b72fda4d740a089d3a0ca17af6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36bd5b72fda4d740a089d3a0ca17af6e">&#9670;&nbsp;</a></span>Knot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double ON_NurbsCage::Knot </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>knot_index</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">dir</td><td>[in] 0 = "r", 1 = "s", 2 = "t"</td></tr>
<tr><td class="paramname">knot_index</td><td>[in] 0 &lt;= knot_index &lt; KnotCount(dir)</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Value of knot or ON_UNSET_VALUE if input parameters are not valid. </dd></dl>
</div>
</div>
<a id="adefeff58b59e92f9fd08e8c579dfe593"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adefeff58b59e92f9fd08e8c579dfe593">&#9670;&nbsp;</a></span>KnotCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::KnotCount </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6ef5ef9d3fb99c28978b5de61bec6fad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ef5ef9d3fb99c28978b5de61bec6fad">&#9670;&nbsp;</a></span>MakeDeformable()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::MakeDeformable </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#ac3d5cb708edca66a4a6c1992299329a3" title="If possible, converts the object into a form that can be accuratly modified with &quot;squishy&quot; transforma...">ON_Geometry::MakeDeformable</a> function. </p>
<dl class="section return"><dt>Returns</dt><dd>True because NURBS volumes are deformable. </dd></dl>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#ac3d5cb708edca66a4a6c1992299329a3">ON_Geometry</a>.</p>
</div>
</div>
<a id="afe5530ca060d6af2bb4ac0a38d5e0de6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe5530ca060d6af2bb4ac0a38d5e0de6">&#9670;&nbsp;</a></span>MakeNonRational()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::MakeNonRational </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9a636bde5a7bb61d034dc5263850c277"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a636bde5a7bb61d034dc5263850c277">&#9670;&nbsp;</a></span>MakeRational()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::MakeRational </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aaee66d13d9abde767671d8ce9c1e3659"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaee66d13d9abde767671d8ce9c1e3659">&#9670;&nbsp;</a></span>ObjectType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON::object_type ON_NurbsCage::ObjectType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#afa19aee4a411a8fda53aff00bd02d86e" title="Useful for switch statements that need to differentiate between basic object types like points...">ON_Object::ObjectType</a> function. Saves the definition of this class in serial binary form that can be read by ON_BezierVolue::Read. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">archive</td><td>[in] target archive</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#afa19aee4a411a8fda53aff00bd02d86e">ON_Object</a>.</p>
</div>
</div>
<a id="a7bb919882b54b2195cb28fbbcb59ff95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bb919882b54b2195cb28fbbcb59ff95">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html">ON_NurbsCage</a>&amp; ON_NurbsCage::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html">ON_NurbsCage</a> &amp;&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a64d01732807830e936c858cc0535d295"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64d01732807830e936c858cc0535d295">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html">ON_NurbsCage</a>&amp; ON_NurbsCage::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html">ON_BezierCage</a> &amp;&#160;</td>
<td class="paramname"><em>src</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a74269857f5cb471082cbf6f0011e1d87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74269857f5cb471082cbf6f0011e1d87">&#9670;&nbsp;</a></span>Order()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::Order </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7e77799d95bfc08a8eee9db9fd91285a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e77799d95bfc08a8eee9db9fd91285a">&#9670;&nbsp;</a></span>PointAt() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> ON_NurbsCage::PointAt </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>t</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluates bezer volume map. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rst</td><td>[in]</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Value of the nurbs volume map at (r,s,t). </dd></dl>
</div>
</div>
<a id="a2d9c37bc210f9c2c0989f508cbb0e9c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d9c37bc210f9c2c0989f508cbb0e9c3">&#9670;&nbsp;</a></span>PointAt() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> ON_NurbsCage::PointAt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td>
<td class="paramname"><em>rst</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluates bezer volume map. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">rst</td><td>[in]</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Value of the nurbs volume map at (rst.x,rst.y,rst.z). </dd></dl>
</div>
</div>
<a id="a52cfd9156b0aee8bbe1253cc88fdc3a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52cfd9156b0aee8bbe1253cc88fdc3a6">&#9670;&nbsp;</a></span>Read()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Read </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"><em>archive</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a09ac9742ead91dd8f9cdd579bcbfed10" title="Low level archive writing tool used by ON_BinaryArchive::ReadObject(). ">ON_Object::Read</a> function. Reads the definition of this class from an archive previously saved by ON_BezierVolue::Write. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">archive</td><td>[in] target archive</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a09ac9742ead91dd8f9cdd579bcbfed10">ON_Object</a>.</p>
</div>
</div>
<a id="ae7487e08b72cc60cf1567eeb30344179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7487e08b72cc60cf1567eeb30344179">&#9670;&nbsp;</a></span>ReserveCVCapacity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::ReserveCVCapacity </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_capacity</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tools for managing CV and knot memory. </p>
<p>cv_capacity - [in] number of doubles to reserve </p>
</div>
</div>
<a id="ab345546c97d36794dd3c40adbee1c3a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab345546c97d36794dd3c40adbee1c3a6">&#9670;&nbsp;</a></span>ReserveKnotCapacity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::ReserveKnotCapacity </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>cv_capacity</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ada0615c43838c18acf75379e4dc8d8e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada0615c43838c18acf75379e4dc8d8e4">&#9670;&nbsp;</a></span>Reverse()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Reverse </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7f9e73c0169bf613279a8dc81364dd82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f9e73c0169bf613279a8dc81364dd82">&#9670;&nbsp;</a></span>SetCV() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::SetCV </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ON::point_style&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const double *&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a42cc5ed1f47f2db6ee1eb954d747dab4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42cc5ed1f47f2db6ee1eb954d747dab4">&#9670;&nbsp;</a></span>SetCV() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::SetCV </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname"><em>point</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8d12ae3e0cdba49fee698bbbf1db62d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d12ae3e0cdba49fee698bbbf1db62d9">&#9670;&nbsp;</a></span>SetCV() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::SetCV </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d9/db1/class_o_n__4d_point.html">ON_4dPoint</a> &amp;&#160;</td>
<td class="paramname"><em>hpoint</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1fa8a3f09e08c51e72d4b117b7d21a1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1fa8a3f09e08c51e72d4b117b7d21a1a">&#9670;&nbsp;</a></span>SetKnot()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::SetKnot </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>knot_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>knot_value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dir</td><td>[in] 0 = "r", 1 = "s", 2 = "t"</td></tr>
<tr><td class="paramname">knot_index</td><td>[in] 0 &lt;= knot_index &lt; KnotCount(dir)</td></tr>
<tr><td class="paramname">knot_value</td><td>[in]</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if dir and knot_index parameters were valid and knot value was set. </dd></dl>
</div>
</div>
<a id="a853bf29cb4626992d072119b47aae0d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a853bf29cb4626992d072119b47aae0d8">&#9670;&nbsp;</a></span>SetWeight()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::SetWeight </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>w</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aafd6ba72ecd772e6ea6c92c4281ed327"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafd6ba72ecd772e6ea6c92c4281ed327">&#9670;&nbsp;</a></span>SizeOf()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_NurbsCage::SizeOf </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a0299df21bfed90d7b5bfb24cdcf5e6c1">ON_Object::SizeOf</a> function. </p>
<dl class="section return"><dt>Returns</dt><dd>An estimate of the amount of memory used by the class and its members. </dd></dl>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a0299df21bfed90d7b5bfb24cdcf5e6c1">ON_Object</a>.</p>
</div>
</div>
<a id="aaea266bd2577f7f5ae18acd3737143e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaea266bd2577f7f5ae18acd3737143e0">&#9670;&nbsp;</a></span>SpanCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::SpanCount </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acbb446376fe3fa363430cdee7a21d0ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbb446376fe3fa363430cdee7a21d0ff">&#9670;&nbsp;</a></span>Transform()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Transform </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;&#160;</td>
<td class="paramname"><em>xform</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1" title="Transforms the object. ">ON_Geometry::Transform</a> function. Transforms NURBS volume. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">xform</td><td>[in]</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful. </dd></dl>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">ON_Geometry</a>.</p>
</div>
</div>
<a id="a8c04c3b11efa6eb026e03f4f3e360824"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c04c3b11efa6eb026e03f4f3e360824">&#9670;&nbsp;</a></span>Transpose()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Transpose </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6c2fba8df6ac7b027a08a0728812d9a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c2fba8df6ac7b027a08a0728812d9a0">&#9670;&nbsp;</a></span>Trim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Trim </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> &amp;&#160;</td>
<td class="paramname"><em>domain</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5fc5762f71da32bef569132fa25b59dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fc5762f71da32bef569132fa25b59dd">&#9670;&nbsp;</a></span>Weight()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double ON_NurbsCage::Weight </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>j</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>k</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa106381e3deef0a9c2159a92a4e5cb69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa106381e3deef0a9c2159a92a4e5cb69">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::Write </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"><em>archive</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Overrides the pure virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a16eb9ab6bf0d0a614655cf9cd055871a" title="Low level archive writing tool used by ON_BinaryArchive::WriteObject(). ">ON_Object::Write</a> function. Saves the definition of this class in serial binary form that can be read by ON_BezierVolue::Read. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">archive</td><td>[in] target archive</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a16eb9ab6bf0d0a614655cf9cd055871a">ON_Object</a>.</p>
</div>
</div>
<a id="a21212d0a292cfe99ffe6f23c9fe04213"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21212d0a292cfe99ffe6f23c9fe04213">&#9670;&nbsp;</a></span>ZeroCVs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::ZeroCVs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a4a6c6aa79896539336f1555cb384caa1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a6c6aa79896539336f1555cb384caa1">&#9670;&nbsp;</a></span>m_cv</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* ON_NurbsCage::m_cv</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a92725f193a88ffa62b451e480fdbb4a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92725f193a88ffa62b451e480fdbb4a0">&#9670;&nbsp;</a></span>m_cv_capacity</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::m_cv_capacity</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1a0fd6b236aeb8c20ff7aa20657a0dd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a0fd6b236aeb8c20ff7aa20657a0dd8">&#9670;&nbsp;</a></span>m_cv_count</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::m_cv_count[3]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a77e8c27707c6a0354279d70db659bc8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77e8c27707c6a0354279d70db659bc8b">&#9670;&nbsp;</a></span>m_cv_stride</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::m_cv_stride[3]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3fc8f5e8d327ccf0248cacd55ec577e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fc8f5e8d327ccf0248cacd55ec577e2">&#9670;&nbsp;</a></span>m_dim</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::m_dim</td>
</tr>
</table>
</div><div class="memdoc">
<p>Implementation. </p>
</div>
</div>
<a id="a59c20758b20cd99ebcb40cee6cfcca14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59c20758b20cd99ebcb40cee6cfcca14">&#9670;&nbsp;</a></span>m_is_rat</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_NurbsCage::m_is_rat</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6921cf5d1b74b100cde9bb18b0856e5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6921cf5d1b74b100cde9bb18b0856e5f">&#9670;&nbsp;</a></span>m_knot</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* ON_NurbsCage::m_knot[3]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a55c74c8f98b67aebc83451948edb05f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55c74c8f98b67aebc83451948edb05f0">&#9670;&nbsp;</a></span>m_knot_capacity</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::m_knot_capacity[3]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a57714c3f83b194cf8947bb018d5d5a38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57714c3f83b194cf8947bb018d5d5a38">&#9670;&nbsp;</a></span>m_order</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_NurbsCage::m_order[3]</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:31 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>