Files
opennurbs/6/d6/d81/class_o_n___bezier_cage.html
Bozo 2ea16cc86c Publish!
Generated from TESTING
2018-01-26 12:40:11 +00:00

1641 lines
78 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_BezierCage Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">openNURBS SDK Help
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../d6/da0/class_o_n___bezier_cage-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_BezierCage Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../db/d60/opennurbs__bezier_8h_source.html">opennurbs_bezier.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac50a77c49b4630a2853600103b940583"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ac50a77c49b4630a2853600103b940583">ON_BezierCage</a> ()</td></tr>
<tr class="separator:ac50a77c49b4630a2853600103b940583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b89400f9b0cfb150fdce38da9f376eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a6b89400f9b0cfb150fdce38da9f376eb">ON_BezierCage</a> (int dim, bool is_rat, int order0, int order1, int order2)</td></tr>
<tr class="separator:a6b89400f9b0cfb150fdce38da9f376eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9405088d87b0a3969a2221f7395f93c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a9405088d87b0a3969a2221f7395f93c6">ON_BezierCage</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)</td></tr>
<tr class="separator:a9405088d87b0a3969a2221f7395f93c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1bc2be13dcfdf7ec45ca98bc55998b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ad1bc2be13dcfdf7ec45ca98bc55998b9">ON_BezierCage</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)</td></tr>
<tr class="separator:ad1bc2be13dcfdf7ec45ca98bc55998b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9cccbaf21f3f41a9f9eb5853c2531b1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ac9cccbaf21f3f41a9f9eb5853c2531b1">ON_BezierCage</a> (const <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html">ON_BezierCage</a> &amp;src)</td></tr>
<tr class="separator:ac9cccbaf21f3f41a9f9eb5853c2531b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a108960d34c88e414f49e05b9098b9266"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a108960d34c88e414f49e05b9098b9266">~ON_BezierCage</a> ()</td></tr>
<tr class="separator:a108960d34c88e414f49e05b9098b9266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade00b7f13485b5ed224d1171b89a66b2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ade00b7f13485b5ed224d1171b89a66b2">Create</a> (int dim, bool is_rat, int order0, int order1, int order2)</td></tr>
<tr class="separator:ade00b7f13485b5ed224d1171b89a66b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4ec659ef75411ed152aa34e8852f272"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ae4ec659ef75411ed152aa34e8852f272">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)</td></tr>
<tr class="separator:ae4ec659ef75411ed152aa34e8852f272"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d546964c11022effbb8c1d0db13dc5f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a4d546964c11022effbb8c1d0db13dc5f">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)</td></tr>
<tr class="separator:a4d546964c11022effbb8c1d0db13dc5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c641d4cba2faae17dc019dbc42ef736"><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a6c641d4cba2faae17dc019dbc42ef736">CV</a> (int i, int j, int k) const</td></tr>
<tr class="separator:a6c641d4cba2faae17dc019dbc42ef736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e2ce113bb6b9216c3a7bb84e1ffd79e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a5e2ce113bb6b9216c3a7bb84e1ffd79e">CVSize</a> () const</td></tr>
<tr class="separator:a5e2ce113bb6b9216c3a7bb84e1ffd79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1ea053c070e14a77181e85b7671d125"><td class="memItemLeft" align="right" valign="top">ON::point_style&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ae1ea053c070e14a77181e85b7671d125">CVStyle</a> () const</td></tr>
<tr class="separator:ae1ea053c070e14a77181e85b7671d125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f7480fb04a15b3b73c05ba16375b122"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a3f7480fb04a15b3b73c05ba16375b122">Degree</a> (int) const</td></tr>
<tr class="separator:a3f7480fb04a15b3b73c05ba16375b122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4def2b117f1551d99038286579b2754f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a4def2b117f1551d99038286579b2754f">Destroy</a> ()</td></tr>
<tr class="separator:a4def2b117f1551d99038286579b2754f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a746614379d14d1b62ccb4571ff86cc4a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a746614379d14d1b62ccb4571ff86cc4a">Dimension</a> () const</td></tr>
<tr class="separator:a746614379d14d1b62ccb4571ff86cc4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8bb55f9ed53474350b4c0d89eb78fc"><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="../../d6/d81/class_o_n___bezier_cage.html#a3f8bb55f9ed53474350b4c0d89eb78fc">Domain</a> (int) const</td></tr>
<tr class="separator:a3f8bb55f9ed53474350b4c0d89eb78fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68f3cd668eafa24a1e39cadbd2eeaeba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a68f3cd668eafa24a1e39cadbd2eeaeba">Dump</a> (<a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;text_log) const</td></tr>
<tr class="separator:a68f3cd668eafa24a1e39cadbd2eeaeba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6b220c7d8b7d349555b8b34e0a78b96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ad6b220c7d8b7d349555b8b34e0a78b96">EmergencyDestroy</a> ()</td></tr>
<tr class="separator:ad6b220c7d8b7d349555b8b34e0a78b96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab89758cca4db6849393e2c9ac98bfa2a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ab89758cca4db6849393e2c9ac98bfa2a">Evaluate</a> (double r, double s, double t, int der_count, int v_stride, double *v) const</td></tr>
<tr class="memdesc:ab89758cca4db6849393e2c9ac98bfa2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns false if unable to evaluate <a href="#ab89758cca4db6849393e2c9ac98bfa2a">More...</a><br /></td></tr>
<tr class="separator:ab89758cca4db6849393e2c9ac98bfa2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a027b0241efb94c727997dc9ed22020c8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a027b0241efb94c727997dc9ed22020c8">GetBBox</a> (double *boxmin, double *boxmax, bool bGrowBox=false) const</td></tr>
<tr class="separator:a027b0241efb94c727997dc9ed22020c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7120dd13fd4272d9247ad2b339d9fb86"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a7120dd13fd4272d9247ad2b339d9fb86">GetCV</a> (int i, int j, int k, ON::point_style, double *) const</td></tr>
<tr class="separator:a7120dd13fd4272d9247ad2b339d9fb86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5c7141bc58a030eea0f3d38d7ca9a5d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#aa5c7141bc58a030eea0f3d38d7ca9a5d">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:aa5c7141bc58a030eea0f3d38d7ca9a5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26f88707bdccd1be34afc84d3109931d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a26f88707bdccd1be34afc84d3109931d">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:a26f88707bdccd1be34afc84d3109931d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3151bfc892ec91b836f25d0817d0f7f8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a3151bfc892ec91b836f25d0817d0f7f8">IsRational</a> () const</td></tr>
<tr class="memdesc:a3151bfc892ec91b836f25d0817d0f7f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">true if NURBS curve is rational <a href="#a3151bfc892ec91b836f25d0817d0f7f8">More...</a><br /></td></tr>
<tr class="separator:a3151bfc892ec91b836f25d0817d0f7f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa293c26180403c2ef9f489c785c3651e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#aa293c26180403c2ef9f489c785c3651e">IsSingular</a> (int) const</td></tr>
<tr class="separator:aa293c26180403c2ef9f489c785c3651e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3c935debb0955e85e72bcac708976d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ab3c935debb0955e85e72bcac708976d4">IsValid</a> () const</td></tr>
<tr class="separator:ab3c935debb0955e85e72bcac708976d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01d6ec8e9adfe8a2163be7ebca85f3a2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a01d6ec8e9adfe8a2163be7ebca85f3a2">MakeNonRational</a> ()</td></tr>
<tr class="separator:a01d6ec8e9adfe8a2163be7ebca85f3a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00242586f61e726f51a7939319312517"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a00242586f61e726f51a7939319312517">MakeRational</a> ()</td></tr>
<tr class="separator:a00242586f61e726f51a7939319312517"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb511b02dbf21d6b4859501f0bda784b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html">ON_BezierCage</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#aeb511b02dbf21d6b4859501f0bda784b">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:aeb511b02dbf21d6b4859501f0bda784b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8825f14dd2a2f15d886dc5780609adfc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a8825f14dd2a2f15d886dc5780609adfc">Order</a> (int) const</td></tr>
<tr class="memdesc:a8825f14dd2a2f15d886dc5780609adfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">= <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a3151bfc892ec91b836f25d0817d0f7f8" title="true if NURBS curve is rational ">IsRational()</a> ? Dim()+1 : Dim() <a href="#a8825f14dd2a2f15d886dc5780609adfc">More...</a><br /></td></tr>
<tr class="separator:a8825f14dd2a2f15d886dc5780609adfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46b10eced0a19311041400f374315c09"><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="../../d6/d81/class_o_n___bezier_cage.html#a46b10eced0a19311041400f374315c09">PointAt</a> (double r, double s, double t) const</td></tr>
<tr class="separator:a46b10eced0a19311041400f374315c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74cda69c4299115676b16ff9900f5552"><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="../../d6/d81/class_o_n___bezier_cage.html#a74cda69c4299115676b16ff9900f5552">PointAt</a> (<a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> rst) const</td></tr>
<tr class="separator:a74cda69c4299115676b16ff9900f5552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68ebd8f5884df18a11a33f843e751b82"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a68ebd8f5884df18a11a33f843e751b82">Read</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive)</td></tr>
<tr class="separator:a68ebd8f5884df18a11a33f843e751b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a600b893f3fe03905eb4a290464708327"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a600b893f3fe03905eb4a290464708327">ReserveCVCapacity</a> (int cv_capacity)</td></tr>
<tr class="memdesc:a600b893f3fe03905eb4a290464708327"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tools for managing CV and knot memory. <a href="#a600b893f3fe03905eb4a290464708327">More...</a><br /></td></tr>
<tr class="separator:a600b893f3fe03905eb4a290464708327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9774f74cd783b43f7946005f8f7c3cce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a9774f74cd783b43f7946005f8f7c3cce">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="separator:a9774f74cd783b43f7946005f8f7c3cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57a94c60105d7f75490eec46203feb0d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a57a94c60105d7f75490eec46203feb0d">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="separator:a57a94c60105d7f75490eec46203feb0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae18e8e555a9e3c49f6dfc835944f1808"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ae18e8e555a9e3c49f6dfc835944f1808">Scale</a> (double scale_factor)</td></tr>
<tr class="separator:ae18e8e555a9e3c49f6dfc835944f1808"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46946536f8b23e01f48b53f17c4a58fe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a46946536f8b23e01f48b53f17c4a58fe">SetCV</a> (int i, int j, int k, ON::point_style, const double *)</td></tr>
<tr class="separator:a46946536f8b23e01f48b53f17c4a58fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a156216a989365ab96df982b851e77b61"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a156216a989365ab96df982b851e77b61">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:a156216a989365ab96df982b851e77b61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49aa08ec600475f5e260aa6f26e3e49c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a49aa08ec600475f5e260aa6f26e3e49c">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:a49aa08ec600475f5e260aa6f26e3e49c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bba68fc7f91a0f3e5c2114648ff82f1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a2bba68fc7f91a0f3e5c2114648ff82f1">SetWeight</a> (int i, int j, int k, double w)</td></tr>
<tr class="separator:a2bba68fc7f91a0f3e5c2114648ff82f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7889aabf7f341cf9ada707ef30bb568"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ac7889aabf7f341cf9ada707ef30bb568">Transform</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;xform)</td></tr>
<tr class="separator:ac7889aabf7f341cf9ada707ef30bb568"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5077d07d3bd039686209925dc161c975"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a5077d07d3bd039686209925dc161c975">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="separator:a5077d07d3bd039686209925dc161c975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4797e10ba9bf792fab87bf50277ff97"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ab4797e10ba9bf792fab87bf50277ff97">Weight</a> (int i, int j, int k) const</td></tr>
<tr class="separator:ab4797e10ba9bf792fab87bf50277ff97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40548f0fd2b66802e764f127c5640cd0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a40548f0fd2b66802e764f127c5640cd0">Write</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive) const</td></tr>
<tr class="separator:a40548f0fd2b66802e764f127c5640cd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a611ac1ccebca1ca34a0a8a71917dae3c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a611ac1ccebca1ca34a0a8a71917dae3c">ZeroCVs</a> ()</td></tr>
<tr class="memdesc:a611ac1ccebca1ca34a0a8a71917dae3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">zeros control vertices and, if rational, sets weights to 1 <a href="#a611ac1ccebca1ca34a0a8a71917dae3c">More...</a><br /></td></tr>
<tr class="separator:a611ac1ccebca1ca34a0a8a71917dae3c"><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:a298d73a1981683d688ca586378dffaec"><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a298d73a1981683d688ca586378dffaec">m_cv</a></td></tr>
<tr class="separator:a298d73a1981683d688ca586378dffaec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45f782b8f6dc8dd70316378471d3ffec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a45f782b8f6dc8dd70316378471d3ffec">m_cv_capacity</a></td></tr>
<tr class="separator:a45f782b8f6dc8dd70316378471d3ffec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f2152ab88d0751ad6ff1ebadf84de25"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a0f2152ab88d0751ad6ff1ebadf84de25">m_cv_stride</a> [3]</td></tr>
<tr class="separator:a0f2152ab88d0751ad6ff1ebadf84de25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99ceb581daec726e4659b8f1f6ef4495"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a99ceb581daec726e4659b8f1f6ef4495">m_dim</a></td></tr>
<tr class="memdesc:a99ceb581daec726e4659b8f1f6ef4495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation. <a href="#a99ceb581daec726e4659b8f1f6ef4495">More...</a><br /></td></tr>
<tr class="separator:a99ceb581daec726e4659b8f1f6ef4495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc9fc86074e4101f37157c1a0bc7cfd7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#abc9fc86074e4101f37157c1a0bc7cfd7">m_is_rat</a></td></tr>
<tr class="separator:abc9fc86074e4101f37157c1a0bc7cfd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89ccab5d7265f6217cf53270f85ac4a8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a89ccab5d7265f6217cf53270f85ac4a8">m_order</a> [3]</td></tr>
<tr class="separator:a89ccab5d7265f6217cf53270f85ac4a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac50a77c49b4630a2853600103b940583"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac50a77c49b4630a2853600103b940583">&#9670;&nbsp;</a></span>ON_BezierCage() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_BezierCage::ON_BezierCage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6b89400f9b0cfb150fdce38da9f376eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b89400f9b0cfb150fdce38da9f376eb">&#9670;&nbsp;</a></span>ON_BezierCage() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_BezierCage::ON_BezierCage </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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9405088d87b0a3969a2221f7395f93c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9405088d87b0a3969a2221f7395f93c6">&#9670;&nbsp;</a></span>ON_BezierCage() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_BezierCage::ON_BezierCage </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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Construct a bezier volume that maps the unit cube to a bounding box. Parameters: bbox - [in] target bounding box order0 - [in] order1 - [in] order2 - [in] </p>
</div>
</div>
<a id="ad1bc2be13dcfdf7ec45ca98bc55998b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1bc2be13dcfdf7ec45ca98bc55998b9">&#9670;&nbsp;</a></span>ON_BezierCage() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_BezierCage::ON_BezierCage </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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Construct a bezier volume that maps the unit cube to an eight sided box. Parameters: box_corners - [in] 8 points that define corners of the target volume.</p>
<p>7______________6 |\ |\ | \ | \ | \ _____________\ | 4 | 5 | | | | | | | | 3&mdash;|-------&mdash;2 | \ | \ | \ |t \ | s \ | \ | \0_____________\1 r</p>
<p>order0 - [in] order1 - [in] order2 - [in] </p>
</div>
</div>
<a id="a108960d34c88e414f49e05b9098b9266"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a108960d34c88e414f49e05b9098b9266">&#9670;&nbsp;</a></span>~ON_BezierCage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_BezierCage::~ON_BezierCage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac9cccbaf21f3f41a9f9eb5853c2531b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9cccbaf21f3f41a9f9eb5853c2531b1">&#9670;&nbsp;</a></span>ON_BezierCage() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_BezierCage::ON_BezierCage </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>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ade00b7f13485b5ed224d1171b89a66b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade00b7f13485b5ed224d1171b89a66b2">&#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_BezierCage::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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Creates a bezier volume with specified orders. Parameters: dim - [in] is_rat - [in] order0 - [in] order1 - [in] order2 - [in] Returns: True if input was valid and creation succeded. </p>
</div>
</div>
<a id="ae4ec659ef75411ed152aa34e8852f272"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4ec659ef75411ed152aa34e8852f272">&#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_BezierCage::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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Create a Bezier volume with corners defined by a bounding box. Parameters: bbox - [in] target bounding box - the bezier will map the unit cube onto this bounding box. order0 - [in] order1 - [in] order2 - [in] </p>
</div>
</div>
<a id="a4d546964c11022effbb8c1d0db13dc5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d546964c11022effbb8c1d0db13dc5f">&#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_BezierCage::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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Create a bezier volume from a 3d box Parameters: box_corners - [in] 8 points that define corners of the volume </p><pre class="fragment"> 7______________6
|\ |\
| \ | \
| \ _____________\
| 4 | 5
| | | |
| | | |
3---|----------2 |
\ | \ |
\ |t \ |
s \ | \ |
\0_____________\1
r</pre>
</div>
</div>
<a id="a6c641d4cba2faae17dc019dbc42ef736"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c641d4cba2faae17dc019dbc42ef736">&#9670;&nbsp;</a></span>CV()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* ON_BezierCage::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>Description: Expert user function to get a pointer to control vertex memory. If you are not an expert user, please use ON_BezierCage::GetCV( ON_3dPoint&amp; ) or ON_BezierCage::GetCV( ON_4dPoint&amp; ). Parameters: cv_index0 - [in] (0 &lt;= cv_index0 &lt; m_order[0]) cv_index1 - [in] (0 &lt;= cv_index1 &lt; m_order[1]) Returns: Pointer to control vertex. Remarks: If the Bezier surface is rational, the format of the returned array is a homogeneos rational point with length m_dim+1. If the Bezier 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="../../d6/d81/class_o_n___bezier_cage.html#ae1ea053c070e14a77181e85b7671d125">ON_BezierCage::CVStyle</a> <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a7120dd13fd4272d9247ad2b339d9fb86">ON_BezierCage::GetCV</a> <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ab4797e10ba9bf792fab87bf50277ff97">ON_BezierCage::Weight</a> </p>
</div>
</div>
<a id="a5e2ce113bb6b9216c3a7bb84e1ffd79e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e2ce113bb6b9216c3a7bb84e1ffd79e">&#9670;&nbsp;</a></span>CVSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_BezierCage::CVSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>number of doubles per control vertex </p>
</div>
</div>
<a id="ae1ea053c070e14a77181e85b7671d125"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1ea053c070e14a77181e85b7671d125">&#9670;&nbsp;</a></span>CVStyle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON::point_style ON_BezierCage::CVStyle </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Returns the style of control vertices in the m_cv array. Returns: table ON::not_rational m_is_rat is false ON::homogeneous_rational m_is_rat is true </p>
</div>
</div>
<a id="a3f7480fb04a15b3b73c05ba16375b122"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f7480fb04a15b3b73c05ba16375b122">&#9670;&nbsp;</a></span>Degree()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_BezierCage::Degree </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="a4def2b117f1551d99038286579b2754f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4def2b117f1551d99038286579b2754f">&#9670;&nbsp;</a></span>Destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_BezierCage::Destroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Frees the CV array and sets all members to zero. </p>
</div>
</div>
<a id="a746614379d14d1b62ccb4571ff86cc4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a746614379d14d1b62ccb4571ff86cc4a">&#9670;&nbsp;</a></span>Dimension()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_BezierCage::Dimension </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: The dimension of the image of the bazier volume map. This is generally three, but can be any positive integer. Returns: Dimesion of the image space. </p>
</div>
</div>
<a id="a3f8bb55f9ed53474350b4c0d89eb78fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f8bb55f9ed53474350b4c0d89eb78fc">&#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_BezierCage::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="a68f3cd668eafa24a1e39cadbd2eeaeba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68f3cd668eafa24a1e39cadbd2eeaeba">&#9670;&nbsp;</a></span>Dump()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_BezierCage::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>
</div><div class="memdoc">
</div>
</div>
<a id="ad6b220c7d8b7d349555b8b34e0a78b96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6b220c7d8b7d349555b8b34e0a78b96">&#9670;&nbsp;</a></span>EmergencyDestroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_BezierCage::EmergencyDestroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Sets all members to zero. Does not free the CV array even when m_cv is not nullptr. Generally used when the CVs were allocated from a memory pool that no longer exists and the free done in ~ON_BezierCage would cause a crash. </p>
</div>
</div>
<a id="ab89758cca4db6849393e2c9ac98bfa2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab89758cca4db6849393e2c9ac98bfa2a">&#9670;&nbsp;</a></span>Evaluate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>returns false if unable to evaluate </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">v</td><td>array of length stride*(ndir+1)*(ndir+2)/2 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a027b0241efb94c727997dc9ed22020c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a027b0241efb94c727997dc9ed22020c8">&#9670;&nbsp;</a></span>GetBBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::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>
</div><div class="memdoc">
<p>Description: Gets the axis aligned bounding box that contains the bezier's control points. The bezier volume maps the unit cube into this box. Parameters: boxmin - [in] array of <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a746614379d14d1b62ccb4571ff86cc4a">Dimension()</a> doubles boxmax - [in] array of <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a746614379d14d1b62ccb4571ff86cc4a">Dimension()</a> doubles bGrowBox = [in] if true and the input is a valid box then the input box is grown to include this object's bounding box. Returns: true if successful. </p>
</div>
</div>
<a id="a7120dd13fd4272d9247ad2b339d9fb86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7120dd13fd4272d9247ad2b339d9fb86">&#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_BezierCage::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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>get a single control vertex </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa5c7141bc58a030eea0f3d38d7ca9a5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5c7141bc58a030eea0f3d38d7ca9a5d">&#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_BezierCage::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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>get a single control vertex </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a26f88707bdccd1be34afc84d3109931d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26f88707bdccd1be34afc84d3109931d">&#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_BezierCage::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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>get a single control vertex </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3151bfc892ec91b836f25d0817d0f7f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3151bfc892ec91b836f25d0817d0f7f8">&#9670;&nbsp;</a></span>IsRational()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::IsRational </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>true if NURBS curve is rational </p>
</div>
</div>
<a id="aa293c26180403c2ef9f489c785c3651e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa293c26180403c2ef9f489c785c3651e">&#9670;&nbsp;</a></span>IsSingular()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::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="ab3c935debb0955e85e72bcac708976d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3c935debb0955e85e72bcac708976d4">&#9670;&nbsp;</a></span>IsValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::IsValid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Tests class to make sure members are correctly initialized. Returns: True if the orders are all &gt;= 2, dimension is positive, and the rest of the members have settings that are valid for the orders and dimension. </p>
</div>
</div>
<a id="a01d6ec8e9adfe8a2163be7ebca85f3a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01d6ec8e9adfe8a2163be7ebca85f3a2">&#9670;&nbsp;</a></span>MakeNonRational()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::MakeNonRational </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a00242586f61e726f51a7939319312517"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00242586f61e726f51a7939319312517">&#9670;&nbsp;</a></span>MakeRational()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::MakeRational </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aeb511b02dbf21d6b4859501f0bda784b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb511b02dbf21d6b4859501f0bda784b">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d6/d81/class_o_n___bezier_cage.html">ON_BezierCage</a>&amp; ON_BezierCage::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="a8825f14dd2a2f15d886dc5780609adfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8825f14dd2a2f15d886dc5780609adfc">&#9670;&nbsp;</a></span>Order()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_BezierCage::Order </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>= <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a3151bfc892ec91b836f25d0817d0f7f8" title="true if NURBS curve is rational ">IsRational()</a> ? Dim()+1 : Dim() </p>
</div>
</div>
<a id="a46b10eced0a19311041400f374315c09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46b10eced0a19311041400f374315c09">&#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_BezierCage::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>Description: Evaluates bezer volume map. Parameters: rst - [in] Returns: Value of the bezier volume map at (r,s,t). </p>
</div>
</div>
<a id="a74cda69c4299115676b16ff9900f5552"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74cda69c4299115676b16ff9900f5552">&#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_BezierCage::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>Description: Evaluates bezer volume map. Parameters: rst - [in] Returns: Value of the bezier volume map at (rst.x,rst.y,rst.z). </p>
</div>
</div>
<a id="a68ebd8f5884df18a11a33f843e751b82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68ebd8f5884df18a11a33f843e751b82">&#9670;&nbsp;</a></span>Read()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::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>
</div><div class="memdoc">
<p>Description: Reads the definition of this class from an archive previously saved by ON_BezierVolue::Write. Parameters: archive - [in] target archive Returns: True if successful. </p>
</div>
</div>
<a id="a600b893f3fe03905eb4a290464708327"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a600b893f3fe03905eb4a290464708327">&#9670;&nbsp;</a></span>ReserveCVCapacity()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::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>Description: cv_capacity - [in] number of doubles to reserve </p>
</div>
</div>
<a id="a9774f74cd783b43f7946005f8f7c3cce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9774f74cd783b43f7946005f8f7c3cce">&#9670;&nbsp;</a></span>Rotate() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::Rotate </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>sin_angle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>cos_angle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>rotation_axis</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>rotation_center</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Rotates the bezier surface about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule). Parameters: sin_angle - [in] sine of rotation angle cos_angle - [in] sine of rotation angle rotation_axis - [in] direction of the axis of rotation rotation_center - [in] point on the axis of rotation Returns: true if bezier surface successfully rotated Remarks: Uses <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ac7889aabf7f341cf9ada707ef30bb568">ON_BezierCage::Transform()</a> function to calculate the result. </p>
</div>
</div>
<a id="a57a94c60105d7f75490eec46203feb0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57a94c60105d7f75490eec46203feb0d">&#9670;&nbsp;</a></span>Rotate() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::Rotate </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>rotation_angle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>rotation_axis</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>rotation_center</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Rotates the bezier surface about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule). Parameters: rotation_angle - [in] angle of rotation in radians rotation_axis - [in] direction of the axis of rotation rotation_center - [in] point on the axis of rotation Returns: true if bezier surface successfully rotated Remarks: Uses <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ac7889aabf7f341cf9ada707ef30bb568">ON_BezierCage::Transform()</a> function to calculate the result. </p>
</div>
</div>
<a id="ae18e8e555a9e3c49f6dfc835944f1808"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae18e8e555a9e3c49f6dfc835944f1808">&#9670;&nbsp;</a></span>Scale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::Scale </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>scale_factor</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Scales the bezier surface by the specified facotor. The scale is centered at the origin. Parameters: scale_factor - [in] scale factor Returns: true if bezier surface successfully scaled Remarks: Uses <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ac7889aabf7f341cf9ada707ef30bb568">ON_BezierCage::Transform()</a> function to calculate the result. </p>
</div>
</div>
<a id="a46946536f8b23e01f48b53f17c4a58fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46946536f8b23e01f48b53f17c4a58fe">&#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_BezierCage::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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>set a single control vertex </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a156216a989365ab96df982b851e77b61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a156216a989365ab96df982b851e77b61">&#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_BezierCage::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">
<p>set a single control vertex If NURBS is rational, weight will be set to 1. </p>
</div>
</div>
<a id="a49aa08ec600475f5e260aa6f26e3e49c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49aa08ec600475f5e260aa6f26e3e49c">&#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_BezierCage::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">
<p>set a single control vertex value of control vertex If NURBS is not rational, euclidean location of homogeneous point will be used. </p>
</div>
</div>
<a id="a2bba68fc7f91a0f3e5c2114648ff82f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bba68fc7f91a0f3e5c2114648ff82f1">&#9670;&nbsp;</a></span>SetWeight()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>set value of control vertex weight </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac7889aabf7f341cf9ada707ef30bb568"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7889aabf7f341cf9ada707ef30bb568">&#9670;&nbsp;</a></span>Transform()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::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>
</div><div class="memdoc">
</div>
</div>
<a id="a5077d07d3bd039686209925dc161c975"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5077d07d3bd039686209925dc161c975">&#9670;&nbsp;</a></span>Translate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::Translate </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>translation_vector</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Translates the bezier surface along the specified vector. Parameters: translation_vector - [in] translation vector Returns: true if bezier surface successfully translated Remarks: Uses <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#ac7889aabf7f341cf9ada707ef30bb568">ON_BezierCage::Transform()</a> function to calculate the result. </p>
</div>
</div>
<a id="ab4797e10ba9bf792fab87bf50277ff97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4797e10ba9bf792fab87bf50277ff97">&#9670;&nbsp;</a></span>Weight()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double ON_BezierCage::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">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i</td><td>get value of control vertex weight </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a40548f0fd2b66802e764f127c5640cd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40548f0fd2b66802e764f127c5640cd0">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::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>
</div><div class="memdoc">
<p>Description: Saves the definition of this class in serial binary form that can be read by ON_BezierVolue::Read. Parameters: archive - [in] target archive Returns: True if successful. </p>
</div>
</div>
<a id="a611ac1ccebca1ca34a0a8a71917dae3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a611ac1ccebca1ca34a0a8a71917dae3c">&#9670;&nbsp;</a></span>ZeroCVs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::ZeroCVs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>zeros control vertices and, if rational, sets weights to 1 </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a298d73a1981683d688ca586378dffaec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a298d73a1981683d688ca586378dffaec">&#9670;&nbsp;</a></span>m_cv</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* ON_BezierCage::m_cv</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a45f782b8f6dc8dd70316378471d3ffec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45f782b8f6dc8dd70316378471d3ffec">&#9670;&nbsp;</a></span>m_cv_capacity</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_BezierCage::m_cv_capacity</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0f2152ab88d0751ad6ff1ebadf84de25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f2152ab88d0751ad6ff1ebadf84de25">&#9670;&nbsp;</a></span>m_cv_stride</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_BezierCage::m_cv_stride[3]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a99ceb581daec726e4659b8f1f6ef4495"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99ceb581daec726e4659b8f1f6ef4495">&#9670;&nbsp;</a></span>m_dim</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_BezierCage::m_dim</td>
</tr>
</table>
</div><div class="memdoc">
<p>Implementation. </p>
<p>NOTE: These members are left "public" so that expert users may efficiently create bezier curves using the default constructor and borrow the knot and CV arrays from their native NURBS representation. No technical support will be provided for users who access these members directly. If you can't get your stuff to work, then use the constructor with the arguments and the SetKnot() and <a class="el" href="../../d6/d81/class_o_n___bezier_cage.html#a46946536f8b23e01f48b53f17c4a58fe">SetCV()</a> functions to fill in the arrays. </p>
</div>
</div>
<a id="abc9fc86074e4101f37157c1a0bc7cfd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc9fc86074e4101f37157c1a0bc7cfd7">&#9670;&nbsp;</a></span>m_is_rat</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_BezierCage::m_is_rat</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a89ccab5d7265f6217cf53270f85ac4a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89ccab5d7265f6217cf53270f85ac4a8">&#9670;&nbsp;</a></span>m_order</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_BezierCage::m_order[3]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jan 26 2018 12:38:20 for openNURBS SDK Help by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>