Files
opennurbs/6/df/de0/class_o_n___geometry.html
Bozo 55446d56ce Publish!
Generated from v6.0.11315.11111-test10
2018-01-26 04:54:48 -08:00

1025 lines
99 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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_Geometry Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">openNURBS SDK Help
&#160;<span id="projectnumber">6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</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-static-attribs">Static Public Attributes</a> &#124;
<a href="../../d0/daa/class_o_n___geometry-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_Geometry Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../da/df1/opennurbs__geometry_8h_source.html">opennurbs_geometry.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ON_Geometry:</div>
<div class="dyncontent">
<div class="center">
<img src="../../df/de0/class_o_n___geometry.png" usemap="#ON_5FGeometry_map" alt=""/>
<map id="ON_5FGeometry_map" name="ON_5FGeometry_map">
<area href="../../d9/d7b/class_o_n___object.html" alt="ON_Object" shape="rect" coords="0,0,151,24"/>
<area href="../../da/d51/class_o_n___annotation.html" alt="ON_Annotation" shape="rect" coords="161,112,312,136"/>
<area href="../../d9/d96/class_o_n___brep.html" alt="ON_Brep" shape="rect" coords="161,168,312,192"/>
<area href="../../d0/d1c/class_o_n___brep_loop.html" alt="ON_BrepLoop" shape="rect" coords="161,224,312,248"/>
<area href="../../d4/d5a/class_o_n___curve.html" alt="ON_Curve" shape="rect" coords="161,280,312,304"/>
<area href="../../d2/dca/class_o_n___detail_view.html" alt="ON_DetailView" shape="rect" coords="161,336,312,360"/>
<area href="../../d0/d30/class_o_n___hatch.html" alt="ON_Hatch" shape="rect" coords="161,392,312,416"/>
<area href="../../de/de8/class_o_n___instance_ref.html" alt="ON_InstanceRef" shape="rect" coords="161,448,312,472"/>
<area href="../../d0/df3/class_o_n___light.html" alt="ON_Light" shape="rect" coords="161,504,312,528"/>
<area href="../../df/d11/class_o_n___mesh.html" alt="ON_Mesh" shape="rect" coords="161,560,312,584"/>
<area href="../../dd/d15/class_o_n___mesh_component_ref.html" alt="ON_MeshComponentRef" shape="rect" coords="161,616,312,640"/>
<area href="../../d4/dd7/class_o_n___morph_control.html" alt="ON_MorphControl" shape="rect" coords="161,672,312,696"/>
<area href="../../d7/d26/class_o_n___nurbs_cage.html" alt="ON_NurbsCage" shape="rect" coords="161,728,312,752"/>
<area href="../../d0/d8d/class_o_n___point.html" alt="ON_Point" shape="rect" coords="161,784,312,808"/>
<area href="../../df/df2/class_o_n___point_cloud.html" alt="ON_PointCloud" shape="rect" coords="161,840,312,864"/>
<area href="../../dd/d05/class_o_n___point_grid.html" alt="ON_PointGrid" shape="rect" coords="161,896,312,920"/>
<area href="../../da/da0/class_o_n___surface.html" alt="ON_Surface" shape="rect" coords="161,952,312,976"/>
<area href="../../d3/d82/class_o_n___text_content.html" alt="ON_TextContent" shape="rect" coords="161,1008,312,1032"/>
<area href="../../d8/d49/class_o_n___text_dot.html" alt="ON_TextDot" shape="rect" coords="161,1064,312,1088"/>
<area href="../../d4/deb/class_o_n___viewport.html" alt="ON_Viewport" shape="rect" coords="161,1120,312,1144"/>
</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:a65226d33b1c8c1e8289e37073566c953"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71fbefc2a5f24da5f5fb4061d6849f17"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f2ca447610c622f3530944c764a3a67"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1acdd7f0c350da696b402a9ac5edce0"><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="separator:ab1acdd7f0c350da696b402a9ac5edce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb8d6122b6285e4ab819fa50bd442c23"><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="separator:aeb8d6122b6285e4ab819fa50bd442c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8dfbd8534986bbd327a6ad812e374be"><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="separator:af8dfbd8534986bbd327a6ad812e374be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20e5d1aeada9545127329a8699c702b9"><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="separator:a20e5d1aeada9545127329a8699c702b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d66ab16e2fddfd1b3e6cf3d6ebbd364"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364">Dimension</a> () const</td></tr>
<tr class="separator:a0d66ab16e2fddfd1b3e6cf3d6ebbd364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcb646d6ca698c092b73f2f05373bfc2"><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="separator:adcb646d6ca698c092b73f2f05373bfc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad615e08fe92af659c8d10cbb4f8fc5e3"><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#ad615e08fe92af659c8d10cbb4f8fc5e3">GetBBox</a> (double *boxmin, double *boxmax, bool bGrowBox=false) const</td></tr>
<tr class="separator:ad615e08fe92af659c8d10cbb4f8fc5e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7259b0a7e7c663e55345788411352075"><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="separator:a7259b0a7e7c663e55345788411352075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac123c564ea7a43c4406ac78954cf5266"><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="separator:ac123c564ea7a43c4406ac78954cf5266"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab59968e400d15d016517b7b4f2e32ea4"><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#ab59968e400d15d016517b7b4f2e32ea4">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</td></tr>
<tr class="separator:ab59968e400d15d016517b7b4f2e32ea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84b28eb33d34c71913b9cd16f8ecab50"><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="separator:a84b28eb33d34c71913b9cd16f8ecab50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af156cd098b9e68fab5f32e76b1e274e2"><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#af156cd098b9e68fab5f32e76b1e274e2">IsDeformable</a> () const</td></tr>
<tr class="separator:af156cd098b9e68fab5f32e76b1e274e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf87e5ba0d9939dfabbb9f421b9d2b3b"><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#adf87e5ba0d9939dfabbb9f421b9d2b3b">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="separator:adf87e5ba0d9939dfabbb9f421b9d2b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3d5cb708edca66a4a6c1992299329a3"><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#ac3d5cb708edca66a4a6c1992299329a3">MakeDeformable</a> ()</td></tr>
<tr class="separator:ac3d5cb708edca66a4a6c1992299329a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a071e7617820ea38c40f4b3966e7daee0"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c8306ab6d43886453a056160429bc0a"><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="separator:a3c8306ab6d43886453a056160429bc0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af49629d8d427ee579d9b28c1e25818e0"><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="separator:af49629d8d427ee579d9b28c1e25818e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b847d6dcda412468ab59f06328b2619"><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="separator:a1b847d6dcda412468ab59f06328b2619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a737d7b1433104a39298629931e899cd4"><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="separator:a737d7b1433104a39298629931e899cd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add710872e89bc29e1ed1321b3e70b1b1"><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#add710872e89bc29e1ed1321b3e70b1b1">Transform</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;xform)</td></tr>
<tr class="separator:add710872e89bc29e1ed1321b3e70b1b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b47e669fde50b5223a8017863598e89"><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="separator:a3b47e669fde50b5223a8017863598e89"><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="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="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="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="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="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="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="separator:a58958333257eba5575a6a1b09c366c1b inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af51d5fcec9379ad9b7a56ac4dfc9a8b2 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual ON__UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#af51d5fcec9379ad9b7a56ac4dfc9a8b2">DataCRC</a> (ON__UINT32 current_remainder) const</td></tr>
<tr class="separator:af51d5fcec9379ad9b7a56ac4dfc9a8b2 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="separator:aa67be7d8cc76ec82ae22a30093ecf98f inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8435c33ab53af41c22dac75e8917569 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#af8435c33ab53af41c22dac75e8917569">DestroyRuntimeCache</a> (bool bDelete=true)</td></tr>
<tr class="separator:af8435c33ab53af41c22dac75e8917569 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="separator:a1dbb0eff3b2287152b40991b3afca9ee inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21c7b04a80f1806c3a45f72d7c491a44 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#a21c7b04a80f1806c3a45f72d7c491a44">Dump</a> (<a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;) const</td></tr>
<tr class="separator:a21c7b04a80f1806c3a45f72d7c491a44 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="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="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="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="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="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="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="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="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="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="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="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="separator:a54a891ae2cb2a25008a7a39cb19dfcea inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa19aee4a411a8fda53aff00bd02d86e inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual ON::object_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#afa19aee4a411a8fda53aff00bd02d86e">ObjectType</a> () const</td></tr>
<tr class="separator:afa19aee4a411a8fda53aff00bd02d86e 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="separator:a88b61cafc0024ecb7a4bd22da2718680 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09ac9742ead91dd8f9cdd579bcbfed10 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#a09ac9742ead91dd8f9cdd579bcbfed10">Read</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;binary_archive)</td></tr>
<tr class="separator:a09ac9742ead91dd8f9cdd579bcbfed10 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="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="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="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="separator:a7234af898c307a2c2f7931db7e627592 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0299df21bfed90d7b5bfb24cdcf5e6c1 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#a0299df21bfed90d7b5bfb24cdcf5e6c1">SizeOf</a> () const</td></tr>
<tr class="separator:a0299df21bfed90d7b5bfb24cdcf5e6c1 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="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="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>
<tr class="memitem:a16eb9ab6bf0d0a614655cf9cd055871a 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#a16eb9ab6bf0d0a614655cf9cd055871a">Write</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;binary_archive) const</td></tr>
<tr class="separator:a16eb9ab6bf0d0a614655cf9cd055871a 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-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a4d9849b197644c66831f3ed1b8738935"><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"><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 />
}</td></tr>
<tr class="separator:a7f520e987ffa14e71b06493340f9956c inherit pub_types_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Description: Base class for all geometry classes that must provide runtime class id. Provides interface for common geometric operations like finding bounding boxes and transforming. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a65226d33b1c8c1e8289e37073566c953"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65226d33b1c8c1e8289e37073566c953">&#9670;&nbsp;</a></span>ON_Geometry() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_Geometry::ON_Geometry </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4f2ca447610c622f3530944c764a3a67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f2ca447610c622f3530944c764a3a67">&#9670;&nbsp;</a></span>~ON_Geometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_Geometry::~ON_Geometry </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a71fbefc2a5f24da5f5fb4061d6849f17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71fbefc2a5f24da5f5fb4061d6849f17">&#9670;&nbsp;</a></span>ON_Geometry() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_Geometry::ON_Geometry </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab1acdd7f0c350da696b402a9ac5edce0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1acdd7f0c350da696b402a9ac5edce0">&#9670;&nbsp;</a></span>BoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> ON_Geometry::BoundingBox </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Get object's 3d axis aligned bounding box. Returns: 3d bounding box. Remarks: Uses virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#ad615e08fe92af659c8d10cbb4f8fc5e3">GetBBox()</a> function to calculate the result. </p>
</div>
</div>
<a id="aeb8d6122b6285e4ab819fa50bd442c23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb8d6122b6285e4ab819fa50bd442c23">&#9670;&nbsp;</a></span>BrepForm()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual class <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* ON_Geometry::BrepForm </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> *&#160;</td>
<td class="paramname"><em>brep</em> = <code>nullptr</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: If possible, <a class="el" href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23">BrepForm()</a> creates a brep form of the <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a>. Parameters: brep - [in] if not nullptr, brep is used to store the brep form of the geometry. Result: Returns a pointer to on <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> or nullptr. If the brep parameter is not nullptr, then brep is returned if the geometry has a brep form and nullptr is returned if the geometry does not have a brep form. Remarks: The caller is responsible for managing the brep memory. See Also <a class="el" href="../../df/de0/class_o_n___geometry.html#a84b28eb33d34c71913b9cd16f8ecab50">ON_Geometry::HasBrepForm</a> </p>
<p>Reimplemented in <a class="el" href="../../d9/d96/class_o_n___brep.html#aa9acb060ba0067db18caff5706253d0a">ON_Brep</a>, <a class="el" href="../../d4/dd7/class_o_n___morph_control.html#a92b04905836ff95c8c1096ecb492ca27">ON_MorphControl</a>, <a class="el" href="../../d0/d30/class_o_n___hatch.html#a0cf66b0ac24697a652983cf33ccece74">ON_Hatch</a>, <a class="el" href="../../da/da0/class_o_n___surface.html#afefc2174838a78fe1cbab26ca8e250c9">ON_Surface</a>, and <a class="el" href="../../de/dcf/class_o_n___extrusion.html#aae322bd101eeb75d7fb3fbdf999c91cf">ON_Extrusion</a>.</p>
</div>
</div>
<a id="af8dfbd8534986bbd327a6ad812e374be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8dfbd8534986bbd327a6ad812e374be">&#9670;&nbsp;</a></span>ClearBoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void ON_Geometry::ClearBoundingBox </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: 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">ClearBoundingBox()</a> to inform the object that any cached bounding boxes are invalid.</p>
<p>Remarks: Generally, <a class="el" href="../../df/de0/class_o_n___geometry.html#af8dfbd8534986bbd327a6ad812e374be">ClearBoundingBox()</a> overrides simply invalidate a cached bounding box and then wait for a call to <a class="el" href="../../df/de0/class_o_n___geometry.html#ad615e08fe92af659c8d10cbb4f8fc5e3">GetBBox()</a> before recomputing the bounding box.</p>
<p>The default implementation does nothing. </p>
<p>Reimplemented in <a class="el" href="../../d9/d96/class_o_n___brep.html#a27cc1dba8851752cca0c1269b2336e39">ON_Brep</a>, <a class="el" href="../../d4/dd7/class_o_n___morph_control.html#a1cabd527c513693fb2e12e291adc51cc">ON_MorphControl</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#a26b8a35714665d4722e0da7c440cedfb">ON_BrepFace</a>, <a class="el" href="../../d3/d82/class_o_n___text_content.html#af207de6d641f8a53fbf9e4fd3abdfec4">ON_TextContent</a>, <a class="el" href="../../dc/d1c/class_o_n___sum_surface.html#a0c08caad203351c44d59925f32e560b0">ON_SumSurface</a>, and <a class="el" href="../../d1/d37/class_o_n___rev_surface.html#a4a5e7c1a1d9dad9be07832d8c8de37aa">ON_RevSurface</a>.</p>
</div>
</div>
<a id="a20e5d1aeada9545127329a8699c702b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20e5d1aeada9545127329a8699c702b9">&#9670;&nbsp;</a></span>ComponentIndex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual ON_COMPONENT_INDEX ON_Geometry::ComponentIndex </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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: 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">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. Returns: This object's component index. If this object is not a sub-piece of a larger geometric entity, then the returned index has m_type = ON_COMPONENT_INDEX::invalid_type and m_index = -1. </p>
<p>Reimplemented in <a class="el" href="../../dd/d15/class_o_n___mesh_component_ref.html#a92adc598a54c789330d0d61904330240">ON_MeshComponentRef</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#af195dd5e0e8d58bd9b5efea631e7e2ce">ON_BrepFace</a>, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a7331a188f74981bbfa3ac15821320506">ON_BrepLoop</a>, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#aca3cc29837ecf330e5f7268a0b601f96">ON_BrepTrim</a>, <a class="el" href="../../dd/de8/class_o_n___brep_edge.html#a7aff330cd6ebff904b8094e648aa8cf2">ON_BrepEdge</a>, and <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html#a1fddb655b4a2ab431da9df1d0b3b1742">ON_BrepVertex</a>.</p>
</div>
</div>
<a id="a0d66ab16e2fddfd1b3e6cf3d6ebbd364"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d66ab16e2fddfd1b3e6cf3d6ebbd364">&#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">virtual int ON_Geometry::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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Dimension of the object. Returns: Dimension of the object. Remarks: The dimension is typically three. For parameter space trimming curves the dimension is two. In rare cases the dimension can be one or greater than three. </p>
<p>Reimplemented in <a class="el" href="../../dd/d15/class_o_n___mesh_component_ref.html#ad5488cf581408b50a5a80b01e194e4fe">ON_MeshComponentRef</a>, <a class="el" href="../../df/d11/class_o_n___mesh.html#aa029aafe4a524b31a986fa46374d6c5b">ON_Mesh</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a6053e0c644ef483c3356d7c5e407ce6b">ON_Brep</a>, <a class="el" href="../../d4/dd7/class_o_n___morph_control.html#aa283980749c967a97a18aae4f8002cfd">ON_MorphControl</a>, <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a4ccf348b7dc9decc22281d0a514be482">ON_NurbsCage</a>, <a class="el" href="../../d8/d49/class_o_n___text_dot.html#a1fe4991d9013f43f848b38c46074ba0f">ON_TextDot</a>, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#aa3e2d3d6fe10ef0614e4e167ca656965">ON_BrepLoop</a>, <a class="el" href="../../de/de8/class_o_n___instance_ref.html#a3cb139ae3eb426a38349b2e8c967e50f">ON_InstanceRef</a>, <a class="el" href="../../d0/d30/class_o_n___hatch.html#a7007cfebc3465c0c841d28c04854ed0a">ON_Hatch</a>, <a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html#a3f9f8a3730a1aa21cf7172e42e010e68">ON_NurbsSurface</a>, <a class="el" href="../../d3/d82/class_o_n___text_content.html#aebbc5434dd0c93ca9ae66d0a0ad1f50e">ON_TextContent</a>, <a class="el" href="../../dc/dda/class_o_n___curve_proxy.html#a74ed2047193996cde80fa376f7dbd888">ON_CurveProxy</a>, <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html#add98ac56bcfcb9e854e32e1cf1837ba6">ON_NurbsCurve</a>, <a class="el" href="../../d4/deb/class_o_n___viewport.html#a832d08f13d96e23384c0b4f6b2ea2103">ON_Viewport</a>, <a class="el" href="../../dc/d1c/class_o_n___sum_surface.html#a11f9b5bee8a3c5ed1b9835a433846a2a">ON_SumSurface</a>, <a class="el" href="../../dc/d83/class_o_n___arc_curve.html#adf26bf9280c05e42c1fc12382552a8d1">ON_ArcCurve</a>, <a class="el" href="../../d1/d37/class_o_n___rev_surface.html#a805e2ca208013c05b0814e6cfc42cc41">ON_RevSurface</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#a6d2d3bb4e30278712e773a9b6b00c53e">ON_PolyCurve</a>, <a class="el" href="../../d5/d1a/class_o_n___curve_on_surface.html#af04e57a7943b43040caef4ed7a4db736">ON_CurveOnSurface</a>, <a class="el" href="../../d9/dc3/class_o_n___leader.html#adf203e58b48bc9dade295f8d13f7ff19">ON_Leader</a>, <a class="el" href="../../d8/d6f/class_o_n___polyline_curve.html#a6af1edfeea7f0947032d6822d0b65000">ON_PolylineCurve</a>, <a class="el" href="../../d4/dea/class_o_n___surface_proxy.html#a1e31db28685dee2419f7e0870be2239a">ON_SurfaceProxy</a>, <a class="el" href="../../de/dcf/class_o_n___extrusion.html#a3b42b7b97a252dd6f2ff3165544fed0b">ON_Extrusion</a>, <a class="el" href="../../df/df2/class_o_n___point_cloud.html#aa9ac45510ab2520c192a61b288f04287">ON_PointCloud</a>, <a class="el" href="../../d0/ddd/class_o_n___line_curve.html#a7a3ab9e9d54da8adda26573aad41d9cd">ON_LineCurve</a>, <a class="el" href="../../d4/db5/class_o_n___plane_surface.html#ae45ea7de223d7de467b39aa66a8ca9ee">ON_PlaneSurface</a>, <a class="el" href="../../d0/d8d/class_o_n___point.html#a75a5893edcac5ec223d86ebeda52666d">ON_Point</a>, <a class="el" href="../../dd/d05/class_o_n___point_grid.html#af3ffdf839876e871d2e401c691cf7952">ON_PointGrid</a>, <a class="el" href="../../d2/d9a/class_o_n___text.html#a54a15365ebc22e6fa305001aa130b06c">ON_Text</a>, <a class="el" href="../../d0/df3/class_o_n___light.html#a49cfa6b2186ce204312d7a9060042568">ON_Light</a>, and <a class="el" href="../../d2/dca/class_o_n___detail_view.html#a73735e0063824a0d90e08757c8ecbcf0">ON_DetailView</a>.</p>
</div>
</div>
<a id="adcb646d6ca698c092b73f2f05373bfc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcb646d6ca698c092b73f2f05373bfc2">&#9670;&nbsp;</a></span>EvaluatePoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool ON_Geometry::EvaluatePoint </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../d3/d80/class_o_n___obj_ref.html">ON_ObjRef</a> &amp;&#160;</td>
<td class="paramname"><em>objref</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"><em>P</em>&#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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Evaluate the location of a point from the object reference. Parameters: objref - [in] point - [out] If the evaluation cannot be performed, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a> is returned. Returns: True if successful. </p>
<p>Reimplemented in <a class="el" href="../../df/d11/class_o_n___mesh.html#ad1679331cf0fc060385912d1aaf471bb">ON_Mesh</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a94edf1cb5173c1acaa7e530b8cf6607d">ON_Brep</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#afd3c1a43385302940e38d06fe3eac609">ON_PolyCurve</a>, <a class="el" href="../../d4/d5a/class_o_n___curve.html#ad625501436509ff71c9fa21778ad2459">ON_Curve</a>, and <a class="el" href="../../da/da0/class_o_n___surface.html#a4de63800d72940f1bc9044c87b522f4c">ON_Surface</a>.</p>
</div>
</div>
<a id="ad615e08fe92af659c8d10cbb4f8fc5e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad615e08fe92af659c8d10cbb4f8fc5e3">&#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">virtual bool ON_Geometry::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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: This is the virtual function that actually calculates axis aligned bounding boxes. Parameters: boxmin - [in/out] array of <a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364">Dimension()</a> doubles boxmax - [in/out] array of <a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364">Dimension()</a> doubles bGrowBox - [in] (default=false) If true, then the union of the input bbox and the object's bounding box is returned in bbox. If false, the object's bounding box is returned in bbox. Returns: true if object has bounding box and calculation was successful </p>
<p>Reimplemented in <a class="el" href="../../dd/d15/class_o_n___mesh_component_ref.html#a3402ec58a236e32a2408e8369287ae03">ON_MeshComponentRef</a>, <a class="el" href="../../df/d11/class_o_n___mesh.html#a9c41bb93f38981333f13fd777fb4e50a">ON_Mesh</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#adf0b9b34403cac4724f7f91ed593a647">ON_Brep</a>, <a class="el" href="../../d4/dd7/class_o_n___morph_control.html#a7b4a1451d3798fe192f845a2a1f788b8">ON_MorphControl</a>, <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a42df8968cf264bba61d594d0f760a7d3">ON_NurbsCage</a>, <a class="el" href="../../d0/da3/class_o_n___centermark.html#ad14e8384083e9768b9fb18dc45e70fcd">ON_Centermark</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#a2b54b0b437729a46464e9f6b706b2c9b">ON_BrepFace</a>, <a class="el" href="../../d8/d49/class_o_n___text_dot.html#a3e90348c7a7f1ffcfe22779303e64827">ON_TextDot</a>, <a class="el" href="../../d8/df2/class_o_n___dim_ordinate.html#a9208cd1e2397cee035b48bd22972d665">ON_DimOrdinate</a>, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a5fc6eb0390d50459e2d145970badcb9d">ON_BrepLoop</a>, <a class="el" href="../../d7/d64/class_o_n___dim_radial.html#ab97688b4424e79ea125240280a283b18">ON_DimRadial</a>, <a class="el" href="../../de/de8/class_o_n___instance_ref.html#ac505b0d0ad9428a208a03880c7701ba7">ON_InstanceRef</a>, <a class="el" href="../../d0/d30/class_o_n___hatch.html#aa94f57a39b476619ec63c438952f8d73">ON_Hatch</a>, <a class="el" href="../../da/d97/class_o_n___dim_angular.html#abc748af91006fdf3e2cbc09586b39070">ON_DimAngular</a>, <a class="el" href="../../d5/dd7/class_o_n___offset_surface.html#aa4bd788286285ef18a6d76c1903d4e28">ON_OffsetSurface</a>, <a class="el" href="../../db/dc1/class_o_n___dim_linear.html#a643ef77aacdf9e997a449e33fa2946ae">ON_DimLinear</a>, <a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html#aa3907cccba085621fa10b6bd6d6183fe">ON_NurbsSurface</a>, <a class="el" href="../../d3/d82/class_o_n___text_content.html#aa01c31ddd92e13d936c4e6f2f4e4493e">ON_TextContent</a>, <a class="el" href="../../dc/dda/class_o_n___curve_proxy.html#afcfc39338241f3d7e35cc5031e97f977">ON_CurveProxy</a>, <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html#ab4ade20a4721ffe743d3870322b78898">ON_NurbsCurve</a>, <a class="el" href="../../d4/deb/class_o_n___viewport.html#a05cc183318e1bb4a6fcf239b37263880">ON_Viewport</a>, <a class="el" href="../../dc/d1c/class_o_n___sum_surface.html#a6517e3c7333f5b0f92ec7f6a80174958">ON_SumSurface</a>, <a class="el" href="../../dc/d83/class_o_n___arc_curve.html#aeab77f873367fe99bab9f192df8b16a8">ON_ArcCurve</a>, <a class="el" href="../../d1/d37/class_o_n___rev_surface.html#aff1c9a991008f526dd1d41caeac2dbcc">ON_RevSurface</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#a3db334ab389ee2fd26f9c3a9f583419e">ON_PolyCurve</a>, <a class="el" href="../../d2/d9a/class_o_n___text.html#af2d9b2553adbabbd79eadd98fb91a7f8">ON_Text</a>, <a class="el" href="../../d5/d1a/class_o_n___curve_on_surface.html#a23bb54f5982346e55eb5db660d6c3cd6">ON_CurveOnSurface</a>, <a class="el" href="../../d9/dc3/class_o_n___leader.html#ac3bb024036d15f5ed76131d504dc01b1">ON_Leader</a>, <a class="el" href="../../d8/d6f/class_o_n___polyline_curve.html#a230d5b9c9cc270f624af478f7dcebdd7">ON_PolylineCurve</a>, <a class="el" href="../../d4/dea/class_o_n___surface_proxy.html#a48a53457ec059bfadcce9bbd753e6556">ON_SurfaceProxy</a>, <a class="el" href="../../de/dcf/class_o_n___extrusion.html#aa763ed82d07d4666e6274669b2e33043">ON_Extrusion</a>, <a class="el" href="../../df/df2/class_o_n___point_cloud.html#a104bd34954ad0eafcbf51afe73888b03">ON_PointCloud</a>, <a class="el" href="../../d0/ddd/class_o_n___line_curve.html#a88016b7600b6e040384d321e35aa595d">ON_LineCurve</a>, <a class="el" href="../../d4/db5/class_o_n___plane_surface.html#a54e22ffc56065ee3af527b74e1ed6c96">ON_PlaneSurface</a>, <a class="el" href="../../d0/d8d/class_o_n___point.html#af6ade14ac8434120b6f9a1ee9dacdd44">ON_Point</a>, <a class="el" href="../../dd/d05/class_o_n___point_grid.html#a954a8fadb615e71ac1118746168feae7">ON_PointGrid</a>, <a class="el" href="../../d0/df3/class_o_n___light.html#a86508f1863e3f785928a7e0758ba8273">ON_Light</a>, and <a class="el" href="../../d2/dca/class_o_n___detail_view.html#a206bd8f2554cb0356d389e8831f114c4">ON_DetailView</a>.</p>
</div>
</div>
<a id="a7259b0a7e7c663e55345788411352075"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7259b0a7e7c663e55345788411352075">&#9670;&nbsp;</a></span>GetBoundingBox() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Geometry::GetBoundingBox </td>
<td>(</td>
<td class="paramtype"><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">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: Get object's 3d axis aligned bounding box or the union of the input box with the object's bounding box. Parameters: bbox - [in/out] 3d axis aligned bounding box bGrowBox - [in] (default=false) If true, then the union of the input bbox and the object's bounding box is returned in bbox. If false, the object's bounding box is returned in bbox. Returns: true if object has bounding box and calculation was successful. Remarks: Uses virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#ad615e08fe92af659c8d10cbb4f8fc5e3">GetBBox()</a> function to calculate the result. </p>
</div>
</div>
<a id="ac123c564ea7a43c4406ac78954cf5266"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac123c564ea7a43c4406ac78954cf5266">&#9670;&nbsp;</a></span>GetBoundingBox() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Geometry::GetBoundingBox </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"><em>bbox_min</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"><em>bbox_max</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: Get corners of object's 3d axis aligned bounding box or the union of the input box with the object's bounding box. Parameters: bbox_min - [in/out] minimum corner of the 3d bounding box bbox_max - [in/out] maximum corner of the 3d bounding box bGrowBox - [in] (default=false) If true, then the union of the input bbox and the object's bounding box is returned. If false, the object's bounding box is returned. Returns: true if successful. </p>
</div>
</div>
<a id="ab59968e400d15d016517b7b4f2e32ea4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab59968e400d15d016517b7b4f2e32ea4">&#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">virtual bool ON_Geometry::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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Get tight bounding box. Parameters: tight_bbox - [in/out] tight bounding box bGrowBox -[in] (default=false) If true and the input tight_bbox is valid, then returned tight_bbox is the union of the input tight_bbox and the curve's tight bounding box. xform -[in] (default=nullptr) If not nullptr, the tight bounding box of the transformed geometry is calculated. The geometry is not modified. Returns: True if a valid tight_bbox is returned. Remarks: In general, GetTightBoundingBox is slower that BoundingBox, especially when xform is not null. </p>
<p>Reimplemented in <a class="el" href="../../df/d11/class_o_n___mesh.html#af63e6ec48221680b4eea2344efb07013">ON_Mesh</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a3d122681a235047c9f4e542fddc698f5">ON_Brep</a>, <a class="el" href="../../d4/dd7/class_o_n___morph_control.html#a76f80803599d25cea0c6a09c0b62ee35">ON_MorphControl</a>, <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a3dca3f237343319491d86722aa8b32be">ON_NurbsCage</a>, <a class="el" href="../../d0/d30/class_o_n___hatch.html#ae234cca69b80a3e1f33873b1d15acbee">ON_Hatch</a>, <a class="el" href="../../d4/d5a/class_o_n___curve.html#a07da6630700d2c2ce04f0bc3178b02b0">ON_Curve</a>, <a class="el" href="../../dc/d83/class_o_n___arc_curve.html#ad2f6c7de8ae55cbe17d8da7a19ca4939">ON_ArcCurve</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#aea704b360c8e9e72a27429136ec0dc8e">ON_PolyCurve</a>, <a class="el" href="../../d8/d6f/class_o_n___polyline_curve.html#a88e2938385e3356a42b4a0146a64f340">ON_PolylineCurve</a>, <a class="el" href="../../de/dcf/class_o_n___extrusion.html#a03b93ddca3bc93a9bfbc0fb01f9ecd86">ON_Extrusion</a>, <a class="el" href="../../df/df2/class_o_n___point_cloud.html#a727a2c9fd5b43644b97f1d240286eaa7">ON_PointCloud</a>, <a class="el" href="../../d0/ddd/class_o_n___line_curve.html#ac705f9c434c136adda86103d1164577a">ON_LineCurve</a>, <a class="el" href="../../dd/d05/class_o_n___point_grid.html#ac9bc1dfbf1942aa18c8c1ae9ad4af886">ON_PointGrid</a>, and <a class="el" href="../../d2/dca/class_o_n___detail_view.html#af6c77c308c6bdd8984ca55fba84b781a">ON_DetailView</a>.</p>
</div>
</div>
<a id="a84b28eb33d34c71913b9cd16f8ecab50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84b28eb33d34c71913b9cd16f8ecab50">&#9670;&nbsp;</a></span>HasBrepForm()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool ON_Geometry::HasBrepForm </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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: 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">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. Remarks: The default implementation of <a class="el" href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23">ON_Geometry::BrepForm</a> returns false. See Also <a class="el" href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23">ON_Geometry::BrepForm</a> </p>
<p>Reimplemented in <a class="el" href="../../d9/d96/class_o_n___brep.html#a7bd44fdbe8610cc3e404d863000b691b">ON_Brep</a>, <a class="el" href="../../d4/dd7/class_o_n___morph_control.html#a6cd5ef5f152b15b66237ce9322104323">ON_MorphControl</a>, and <a class="el" href="../../da/da0/class_o_n___surface.html#ac4fd9454c44389114b7e5f8b5348a449">ON_Surface</a>.</p>
</div>
</div>
<a id="af156cd098b9e68fab5f32e76b1e274e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af156cd098b9e68fab5f32e76b1e274e2">&#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">virtual bool ON_Geometry::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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: True if object can be accuratly modified with "squishy" transformations like projections, shears, an non-uniform scaling. See Also: <a class="el" href="../../df/de0/class_o_n___geometry.html#ac3d5cb708edca66a4a6c1992299329a3">ON_Geometry::MakeDeformable()</a>; </p>
<p>Reimplemented in <a class="el" href="../../df/d11/class_o_n___mesh.html#a9b29dad1c91ed6b2d2993384dfd2551b">ON_Mesh</a>, <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a4d56da987b140ee3e947f5cb4334ba26">ON_NurbsCage</a>, <a class="el" href="../../d8/d49/class_o_n___text_dot.html#a0491f59b5fbb80c5a5082436a773fd43">ON_TextDot</a>, <a class="el" href="../../de/de8/class_o_n___instance_ref.html#afa595dfde0c17bdea01f84c7d661a458">ON_InstanceRef</a>, <a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html#a56b439d01a24850bfd3e090ec4fa84b4">ON_NurbsSurface</a>, <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html#ab5c4299edf9c660fdbaf88d55cd73924">ON_NurbsCurve</a>, <a class="el" href="../../dc/d1c/class_o_n___sum_surface.html#a007fe4e0a38ea16653bfd1635dcaf861">ON_SumSurface</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#ab24212a2ca573f1fdef072c97c1c0aed">ON_PolyCurve</a>, <a class="el" href="../../d8/d6f/class_o_n___polyline_curve.html#a8251df5d5f61c6cefa8bed13df353359">ON_PolylineCurve</a>, <a class="el" href="../../df/df2/class_o_n___point_cloud.html#a54a744a10adf1d1709a3a6d4628e6137">ON_PointCloud</a>, <a class="el" href="../../d0/ddd/class_o_n___line_curve.html#a6bca5ca2faf8f51e286ae08e068f1f8c">ON_LineCurve</a>, <a class="el" href="../../dd/d05/class_o_n___point_grid.html#a62cc316555e3abf89642f67f18f52ad5">ON_PointGrid</a>, and <a class="el" href="../../d0/d8d/class_o_n___point.html#ab188b6f6f3f44379e156a8eddf742d3f">ON_Point</a>.</p>
</div>
</div>
<a id="adf87e5ba0d9939dfabbb9f421b9d2b3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf87e5ba0d9939dfabbb9f421b9d2b3b">&#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_Geometry::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>Description: Tests an object to see if its data members are correctly initialized. Parameters: text_log - [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 low-level debugging purposes by programmers and is not intended to be useful as a high level user interface tool. Returns: table true object is valid false object is invalid, uninitialized, etc. </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a7212696724553dc4d365479a10150c0d">ON_Object</a>.</p>
<p>Reimplemented in <a class="el" href="../../dd/d15/class_o_n___mesh_component_ref.html#a4daec0aec8ca16589e3df58d99e914d3">ON_MeshComponentRef</a>, <a class="el" href="../../df/d11/class_o_n___mesh.html#a08acfd86d40eb163156a7329fb3c52cc">ON_Mesh</a>, <a class="el" href="../../d4/dd7/class_o_n___morph_control.html#a0b3f9686ac35ededd42bcd8ee44d1f74">ON_MorphControl</a>, <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a92f6166e55e981d8f699ec6833b44d5e">ON_NurbsCage</a>, <a class="el" href="../../de/de8/class_o_n___instance_ref.html#a1cded412156a3e52acf8227b8b5e9801">ON_InstanceRef</a>, <a class="el" href="../../d0/d30/class_o_n___hatch.html#a279017bfca4922b6a743dec0babff905">ON_Hatch</a>, <a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html#afa03ebd61918b3018798008fec11b7bf">ON_NurbsSurface</a>, <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html#ac5f832bbf39edcecc8ac527ce91e1880">ON_NurbsCurve</a>, <a class="el" href="../../dc/d1c/class_o_n___sum_surface.html#af9fe55fffb61628ea5d64e3e824b03b0">ON_SumSurface</a>, <a class="el" href="../../d4/deb/class_o_n___viewport.html#af8d681aea278421cf973b2c2e2d67331">ON_Viewport</a>, <a class="el" href="../../d1/d37/class_o_n___rev_surface.html#aaa7b792554180bfa9b478368ac327d5c">ON_RevSurface</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#a932ee89f2be7ebd06eb4cfdf464eeae1">ON_PolyCurve</a>, <a class="el" href="../../d3/d82/class_o_n___text_content.html#ae4074be131d265a757d4b26b9255d8f0">ON_TextContent</a>, <a class="el" href="../../d4/dea/class_o_n___surface_proxy.html#a00f48f9ca56e703db749521211c44462">ON_SurfaceProxy</a>, <a class="el" href="../../d9/dc3/class_o_n___leader.html#a1ecc48aba49d71d7aa2cdebb846789c0">ON_Leader</a>, <a class="el" href="../../df/df2/class_o_n___point_cloud.html#a5cfda54fc14c6bdee9a39e33841e419c">ON_PointCloud</a>, <a class="el" href="../../d0/ddd/class_o_n___line_curve.html#afd4392691fe0578b61034ea80c055e7b">ON_LineCurve</a>, <a class="el" href="../../d8/d6f/class_o_n___polyline_curve.html#acb658877b83662d4b2269f1147bde87a">ON_PolylineCurve</a>, <a class="el" href="../../d4/db5/class_o_n___plane_surface.html#acbf99b2372edbb2c743dcd6f65d64dfb">ON_PlaneSurface</a>, <a class="el" href="../../dd/d05/class_o_n___point_grid.html#afe337221ab115e3512d159350d5d0f7b">ON_PointGrid</a>, <a class="el" href="../../d0/d8d/class_o_n___point.html#ad91ede5199576543d3bc4fce66ab03ef">ON_Point</a>, <a class="el" href="../../d0/df3/class_o_n___light.html#a3be88ed7ac09d1ad666c4862069d9bb4">ON_Light</a>, and <a class="el" href="../../d2/d9a/class_o_n___text.html#a2f41c6a4ebed81f23d43cd4c2ce83a2c">ON_Text</a>.</p>
</div>
</div>
<a id="ac3d5cb708edca66a4a6c1992299329a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3d5cb708edca66a4a6c1992299329a3">&#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">virtual bool ON_Geometry::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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: If possible, converts the object into a form that can be accuratly modified with "squishy" transformations like projections, shears, an non-uniform scaling. Returns: False if object cannot be converted to a deformable object. True if object was already deformable or was converted into a deformable object. See Also: <a class="el" href="../../df/de0/class_o_n___geometry.html#af156cd098b9e68fab5f32e76b1e274e2">ON_Geometry::IsDeformable()</a>; </p>
<p>Reimplemented in <a class="el" href="../../df/d11/class_o_n___mesh.html#a33d67491f386ad56d11d091d4a2fa548">ON_Mesh</a>, <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#a6ef5ef9d3fb99c28978b5de61bec6fad">ON_NurbsCage</a>, <a class="el" href="../../d8/d49/class_o_n___text_dot.html#a11ab0fca9b183c7fa8a753da9272a67e">ON_TextDot</a>, <a class="el" href="../../de/de8/class_o_n___instance_ref.html#a7eb80a7a31f84e48c7848696a37ae2d0">ON_InstanceRef</a>, <a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html#aef3b4b936e48234a8298a469953ccc58">ON_NurbsSurface</a>, <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html#af6afd8b47b01424c8ebdce0fa4c6a192">ON_NurbsCurve</a>, <a class="el" href="../../dc/d1c/class_o_n___sum_surface.html#acd458085a402e842cf134935483d03de">ON_SumSurface</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#ab1dc8fe019d4cf6851de35c7a529a00e">ON_PolyCurve</a>, <a class="el" href="../../d8/d6f/class_o_n___polyline_curve.html#a7ece31960f6e3e43ec5a7eaffb5e84f1">ON_PolylineCurve</a>, <a class="el" href="../../df/df2/class_o_n___point_cloud.html#a9ce55b9ea85522b92e0c31eca347b94f">ON_PointCloud</a>, <a class="el" href="../../d0/ddd/class_o_n___line_curve.html#ab8f38b8b127b4ed0e5439b4ba5ab62e9">ON_LineCurve</a>, <a class="el" href="../../dd/d05/class_o_n___point_grid.html#af86bf802c2ca1ceed4c1ece68cf69ffe">ON_PointGrid</a>, and <a class="el" href="../../d0/d8d/class_o_n___point.html#a8e10fc9fe22e30649811ef73e70cdeda">ON_Point</a>.</p>
</div>
</div>
<a id="a071e7617820ea38c40f4b3966e7daee0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a071e7617820ea38c40f4b3966e7daee0">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a>&amp; ON_Geometry::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3c8306ab6d43886453a056160429bc0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c8306ab6d43886453a056160429bc0a">&#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_Geometry::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 object 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 object successfully rotated Remarks: Uses virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">Transform()</a> function to calculate the result. </p>
</div>
</div>
<a id="af49629d8d427ee579d9b28c1e25818e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af49629d8d427ee579d9b28c1e25818e0">&#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_Geometry::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 object 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 object successfully rotated Remarks: Uses virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">Transform()</a> function to calculate the result. </p>
</div>
</div>
<a id="a1b847d6dcda412468ab59f06328b2619"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b847d6dcda412468ab59f06328b2619">&#9670;&nbsp;</a></span>Scale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Geometry::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 object by the specified facotor. The scale is centered at the origin. Parameters: scale_factor - [in] scale factor Returns: true if object successfully scaled Remarks: Uses virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">Transform()</a> function to calculate the result. </p>
</div>
</div>
<a id="a737d7b1433104a39298629931e899cd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a737d7b1433104a39298629931e899cd4">&#9670;&nbsp;</a></span>SwapCoordinates()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool ON_Geometry::SwapCoordinates </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>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Swaps object coordinate values with indices i and j.</p>
<p>Parameters: i - [in] coordinate index j - [in] coordinate index</p>
<p>Remarks: The default implementation uses the virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">Transform()</a> function to calculate the result. If you are creating an object where <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">Transform()</a> is slow, coordinate swapping will be frequently used, and coordinate swapping can be quickly accomplished, then override this function.</p>
<p>Example: </p><pre class="fragment"> ON_Point point(7,8,9);
point.SwapCoordinates(0,2);
///&lt; point = (9,8,7) </pre>
<p>Reimplemented in <a class="el" href="../../df/d11/class_o_n___mesh.html#ab7a137c9bd26335e1ba37d285ca88169">ON_Mesh</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a7438aa522cde52487b2f19924eb93f3b">ON_Brep</a>, <a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html#a476d01f18dfeb261bee75831727756e4">ON_NurbsSurface</a>, <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html#af03ea606562ab12a73ce5291dce5d3ed">ON_NurbsCurve</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#adfc21c6c18cbda0d96223c24a20c1cba">ON_PolyCurve</a>, <a class="el" href="../../d8/d6f/class_o_n___polyline_curve.html#aaf8b7942df24d5ebca9b939be7581c1a">ON_PolylineCurve</a>, <a class="el" href="../../d5/d1a/class_o_n___curve_on_surface.html#abd4b2b32c8ae8d4dd6975e4288309c56">ON_CurveOnSurface</a>, <a class="el" href="../../df/df2/class_o_n___point_cloud.html#aad43f52ee5d24b8c3a85b8c61b65c148">ON_PointCloud</a>, <a class="el" href="../../d0/ddd/class_o_n___line_curve.html#a24171ffe273ba423df390940ec61992d">ON_LineCurve</a>, <a class="el" href="../../dd/d05/class_o_n___point_grid.html#a5240bdefc604e4b21fa9f618daf100b2">ON_PointGrid</a>, and <a class="el" href="../../d0/d8d/class_o_n___point.html#a76297ac4520a6e09760e9182ff0ea81b">ON_Point</a>.</p>
</div>
</div>
<a id="add710872e89bc29e1ed1321b3e70b1b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add710872e89bc29e1ed1321b3e70b1b1">&#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">virtual bool ON_Geometry::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">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Transforms the object.</p>
<p>Parameters: xform - [in] transformation to apply to object. If xform.IsSimilarity() is zero, then you may want to call MakeSquishy() before calling Transform.</p>
<p>Remarks: When overriding this function, be sure to include a call to <a class="el" href="../../d9/d7b/class_o_n___object.html#a881bd2f0d8515adba1c42c578bcb7052">ON_Object::TransformUserData()</a> which takes care of transforming any <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> that may be attached to the object.</p>
<p>See Also: <a class="el" href="../../df/de0/class_o_n___geometry.html#af156cd098b9e68fab5f32e76b1e274e2">ON_Geometry::IsDeformable()</a>;</p>
<p>Remarks: Classes derived from <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> should call <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">ON_Geometry::Transform()</a> to handle user data transformations and then transform their definition. </p>
<p>Reimplemented in <a class="el" href="../../dd/d15/class_o_n___mesh_component_ref.html#a6d07babe531c4a07c45ffcd1cd602f9c">ON_MeshComponentRef</a>, <a class="el" href="../../df/d11/class_o_n___mesh.html#ad115dd0a3ad64cda398bbe90e08c8bf6">ON_Mesh</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a67646f46a8e1c20389b32ff8adec9910">ON_Brep</a>, <a class="el" href="../../d4/dd7/class_o_n___morph_control.html#a67727b1c369c4d3c5961de02f9a1a0fc">ON_MorphControl</a>, <a class="el" href="../../d7/d26/class_o_n___nurbs_cage.html#acbb446376fe3fa363430cdee7a21d0ff">ON_NurbsCage</a>, <a class="el" href="../../d0/da3/class_o_n___centermark.html#a690f3c669ec8f77590cfb70d7eb97f28">ON_Centermark</a>, <a class="el" href="../../d8/d49/class_o_n___text_dot.html#ae9396dfabf1d6a79a384e83a6f86a291">ON_TextDot</a>, <a class="el" href="../../d8/df2/class_o_n___dim_ordinate.html#a3fef88a5c6595fd307314431f64af60f">ON_DimOrdinate</a>, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a8048755bcad02f8bb1dc49ffd6bcd811">ON_BrepLoop</a>, <a class="el" href="../../d7/d64/class_o_n___dim_radial.html#a312b208b592ae9349c38646402981dbc">ON_DimRadial</a>, <a class="el" href="../../de/de8/class_o_n___instance_ref.html#a2f3a366aa747e5f4ebce6726103c04dd">ON_InstanceRef</a>, <a class="el" href="../../d0/d30/class_o_n___hatch.html#a24506502cba24b5c8bbaa7767b204d09">ON_Hatch</a>, <a class="el" href="../../da/d97/class_o_n___dim_angular.html#ac79b5f591cd737d0673a60c9a25cd2ea">ON_DimAngular</a>, <a class="el" href="../../db/dc1/class_o_n___dim_linear.html#a0000586d5e8bfd1904e415efa84fdde3">ON_DimLinear</a>, <a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html#a9f9ad68b7da808c24e6a52e5aa82009d">ON_NurbsSurface</a>, <a class="el" href="../../d3/d82/class_o_n___text_content.html#af6fb381cac31d4dc49c6cd59d1f4ac9e">ON_TextContent</a>, <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html#a91156f587df4aa7396565f76ccd80e9c">ON_NurbsCurve</a>, <a class="el" href="../../dc/dda/class_o_n___curve_proxy.html#a69902b2ea0bb50302e6db10bf567c024">ON_CurveProxy</a>, <a class="el" href="../../d4/deb/class_o_n___viewport.html#a0b2923f8a0230f66a3e25ecb68f2a6b6">ON_Viewport</a>, <a class="el" href="../../d4/d5a/class_o_n___curve.html#a9f59373850214fc53a6c793596aece78">ON_Curve</a>, <a class="el" href="../../dc/d1c/class_o_n___sum_surface.html#a8396891fa14d4f6ed953405d714dc700">ON_SumSurface</a>, <a class="el" href="../../dc/d83/class_o_n___arc_curve.html#ad47998ebb0a45c85e25cd836aebff665">ON_ArcCurve</a>, <a class="el" href="../../d1/d37/class_o_n___rev_surface.html#accf6f80c0a46c46297f60c75c1432c64">ON_RevSurface</a>, <a class="el" href="../../d8/d00/class_o_n___poly_curve.html#ace50c5842aad8743bff5a2f479e10084">ON_PolyCurve</a>, <a class="el" href="../../d8/d6f/class_o_n___polyline_curve.html#ad54d8c21e1d940e3b185265c39b68640">ON_PolylineCurve</a>, <a class="el" href="../../d2/d9a/class_o_n___text.html#a461de83e49ecab7704ac6c4a57f884da">ON_Text</a>, <a class="el" href="../../d9/dc3/class_o_n___leader.html#ad925fcd2f6f89c891c62a07ca35f650b">ON_Leader</a>, <a class="el" href="../../d5/d1a/class_o_n___curve_on_surface.html#a61d3b5978e95548898f2c434295fcb8b">ON_CurveOnSurface</a>, <a class="el" href="../../d4/dea/class_o_n___surface_proxy.html#a9bbc577ef6d63da9ab9d5de8780ed61e">ON_SurfaceProxy</a>, <a class="el" href="../../de/dcf/class_o_n___extrusion.html#a295228b2e6e523534f6060d750c1f2e5">ON_Extrusion</a>, <a class="el" href="../../df/df2/class_o_n___point_cloud.html#a1e851199b53162f1f7de83dc70ea4c88">ON_PointCloud</a>, <a class="el" href="../../d0/ddd/class_o_n___line_curve.html#adde3ee82a21929311ce980f783d565c0">ON_LineCurve</a>, <a class="el" href="../../d4/db5/class_o_n___plane_surface.html#ad19cc16d1443b329f04e015b2e3fa659">ON_PlaneSurface</a>, <a class="el" href="../../dd/d05/class_o_n___point_grid.html#a1cdaf21a7f22afe87889aec827d8b5d3">ON_PointGrid</a>, <a class="el" href="../../d0/d8d/class_o_n___point.html#a3b2e6d336770e6de3e8eb65b43a36797">ON_Point</a>, <a class="el" href="../../d0/df3/class_o_n___light.html#a2aaa59fa1a273a5f069b556906e4e16b">ON_Light</a>, and <a class="el" href="../../d2/dca/class_o_n___detail_view.html#a31162bdd5d222c93463a69cff8bc3f8a">ON_DetailView</a>.</p>
</div>
</div>
<a id="a3b47e669fde50b5223a8017863598e89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b47e669fde50b5223a8017863598e89">&#9670;&nbsp;</a></span>Translate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Geometry::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 object along the specified vector. Parameters: translation_vector - [in] translation vector Returns: true if object successfully translated Remarks: Uses virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">Transform()</a> function to calculate the result. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a4d9849b197644c66831f3ed1b8738935"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d9849b197644c66831f3ed1b8738935">&#9670;&nbsp;</a></span>Unset</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> ON_Geometry::Unset</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jan 26 2018 04:54:31 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.13
</small></address>
</body>
</html>