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

8807 lines
537 KiB
HTML

<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_Brep Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<!-- <script type="text/javascript" src="../../jquery.js"></script> -->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../customdoxygen.css" rel="stylesheet" type="text/css"/>
<!-- bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- smartmenus -->
<link href="../../jquery.smartmenus.bootstrap.css" rel="stylesheet">
<script type="text/javascript" src="../../jquery.smartmenus.js"></script>
<script type="text/javascript" src="../../jquery.smartmenus.bootstrap.js"></script>
</head>
<body>
<!-- <div class="version-banner">
Go back to the <a href="/">main site</a>...
</div> -->
<div class="container">
<!-- navbar -->
<nav class="navbar navbar-default">
<div class="container-fluid">
<a class="navbar-brand" href="#">openNURBS SDK Help</a>
<div class="navbar-collapse collapse" id="main-nav-placeholder">
<!-- <p class="navbar-text navbar-right">v6.0</p> -->
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" href="#">v6.0 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Latest (6.x)</a></li>
<li class="disabled"><a href="#">WIP (7.x)</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="page-content">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('../../',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="../../de/dc7/class_o_n___brep-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_Brep Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d2/d39/opennurbs__brep_8h_source.html">opennurbs_brep.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ON_Brep:</div>
<div class="dyncontent">
<div class="center">
<img src="../../d9/d96/class_o_n___brep.png" usemap="#ON_5FBrep_map" alt=""/>
<map id="ON_5FBrep_map" name="ON_5FBrep_map">
<area href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common..." alt="ON_Geometry" shape="rect" coords="0,56,92,80"/>
<area href="../../d9/d7b/class_o_n___object.html" title="Pure virtual base class for all classes that must provide runtime class id or support object level 3D..." alt="ON_Object" shape="rect" coords="0,0,92,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a10524dbce7f6ead309590b5c4689d273"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a10524dbce7f6ead309590b5c4689d273">ON_Brep</a> ()</td></tr>
<tr class="memdesc:a10524dbce7f6ead309590b5c4689d273"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construction. <a href="#a10524dbce7f6ead309590b5c4689d273">More...</a><br /></td></tr>
<tr class="separator:a10524dbce7f6ead309590b5c4689d273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5e1c9c771493c22c37ac999ac33c97b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ab5e1c9c771493c22c37ac999ac33c97b">ON_Brep</a> (const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;)</td></tr>
<tr class="separator:ab5e1c9c771493c22c37ac999ac33c97b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9876bf5e07c176643ddcf6e300ed3410"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9876bf5e07c176643ddcf6e300ed3410">~ON_Brep</a> ()</td></tr>
<tr class="separator:a9876bf5e07c176643ddcf6e300ed3410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b6c4f920a4aa0815294e1f2f6330065"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a4b6c4f920a4aa0815294e1f2f6330065">AddEdgeCurve</a> (<a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *)</td></tr>
<tr class="separator:a4b6c4f920a4aa0815294e1f2f6330065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bca40652af99b3785b19f45dfd571db"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a6bca40652af99b3785b19f45dfd571db">AddSurface</a> (<a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> *)</td></tr>
<tr class="separator:a6bca40652af99b3785b19f45dfd571db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accfb7c51e416304a0cd505d465cfd797"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#accfb7c51e416304a0cd505d465cfd797">AddTrimCurve</a> (<a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *)</td></tr>
<tr class="memdesc:accfb7c51e416304a0cd505d465cfd797"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creation Interface. <a href="#accfb7c51e416304a0cd505d465cfd797">More...</a><br /></td></tr>
<tr class="separator:accfb7c51e416304a0cd505d465cfd797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae11df8a76b49c7f4c683ac9a2cddc34d"><td class="memItemLeft" align="right" valign="top"><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/d96/class_o_n___brep.html#ae11df8a76b49c7f4c683ac9a2cddc34d">AggregateComponentStatus</a> () const override</td></tr>
<tr class="memdesc:ae11df8a76b49c7f4c683ac9a2cddc34d"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a href="#ae11df8a76b49c7f4c683ac9a2cddc34d">More...</a><br /></td></tr>
<tr class="separator:ae11df8a76b49c7f4c683ac9a2cddc34d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23b5155fc8272e9f249e9bcaaf7ce9e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a23b5155fc8272e9f249e9bcaaf7ce9e4">Append</a> (const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;)</td></tr>
<tr class="separator:a23b5155fc8272e9f249e9bcaaf7ce9e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71f7a351f9f44f7bbbff479fe8a49d68"><td class="memItemLeft" align="right" valign="top">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="../../d9/d96/class_o_n___brep.html#a71f7a351f9f44f7bbbff479fe8a49d68">BrepComponent</a> (ON_COMPONENT_INDEX ci) const</td></tr>
<tr class="memdesc:a71f7a351f9f44f7bbbff479fe8a49d68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a brep component from its index. <a href="#a71f7a351f9f44f7bbbff479fe8a49d68">More...</a><br /></td></tr>
<tr class="separator:a71f7a351f9f44f7bbbff479fe8a49d68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9acb060ba0067db18caff5706253d0a"><td class="memItemLeft" align="right" valign="top"><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="../../d9/d96/class_o_n___brep.html#aa9acb060ba0067db18caff5706253d0a">BrepForm</a> (<a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> *brep=nullptr) const override</td></tr>
<tr class="memdesc:aa9acb060ba0067db18caff5706253d0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">If possible, <a class="el" href="../../d9/d96/class_o_n___brep.html#aa9acb060ba0067db18caff5706253d0a" title="If possible, BrepForm() creates a brep form of the ON_Geometry. ">BrepForm()</a> creates a brep form of the <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a>. <a href="#aa9acb060ba0067db18caff5706253d0a">More...</a><br /></td></tr>
<tr class="separator:aa9acb060ba0067db18caff5706253d0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1330b05d11517c9e5e35d1f4b8d65650"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a1330b05d11517c9e5e35d1f4b8d65650">ChangeVertex</a> (int old_vi, int new_vi, bool bClearTolerances)</td></tr>
<tr class="memdesc:a1330b05d11517c9e5e35d1f4b8d65650"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user tool to move trims and edges from one vertex to another. <a href="#a1330b05d11517c9e5e35d1f4b8d65650">More...</a><br /></td></tr>
<tr class="separator:a1330b05d11517c9e5e35d1f4b8d65650"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c88202d3b573841f5236a5eefcab0be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a8c88202d3b573841f5236a5eefcab0be">Clear_edge_user_i</a> (int) const</td></tr>
<tr class="separator:a8c88202d3b573841f5236a5eefcab0be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86a934cef03382109c48e88c3394bc8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a86a934cef03382109c48e88c3394bc8b">Clear_edge_user_i</a> () const</td></tr>
<tr class="separator:a86a934cef03382109c48e88c3394bc8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af938178a219f532c89eb6025581c1026"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#af938178a219f532c89eb6025581c1026">Clear_face_user_i</a> () const</td></tr>
<tr class="separator:af938178a219f532c89eb6025581c1026"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfcf047081704acf94818f176c4db4f4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#abfcf047081704acf94818f176c4db4f4">Clear_loop_user_i</a> () const</td></tr>
<tr class="separator:abfcf047081704acf94818f176c4db4f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab14e6fa964f5d2c88811a336f059ca93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ab14e6fa964f5d2c88811a336f059ca93">Clear_trim_user_i</a> () const</td></tr>
<tr class="separator:ab14e6fa964f5d2c88811a336f059ca93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8ac9f4d0dfaaf6b6a3ab131b520bb74"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#af8ac9f4d0dfaaf6b6a3ab131b520bb74">Clear_user_i</a> () const</td></tr>
<tr class="separator:af8ac9f4d0dfaaf6b6a3ab131b520bb74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34269bf77620895da477db08b1ecafb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a34269bf77620895da477db08b1ecafb1">Clear_vertex_user_i</a> () const</td></tr>
<tr class="separator:a34269bf77620895da477db08b1ecafb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27cc1dba8851752cca0c1269b2336e39"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a27cc1dba8851752cca0c1269b2336e39">ClearBoundingBox</a> () override</td></tr>
<tr class="memdesc:a27cc1dba8851752cca0c1269b2336e39"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#af8dfbd8534986bbd327a6ad812e374be" title="Some objects cache bounding box information. If you modify an object, then call ClearBoundingBox() to...">ON_Geometry::ClearBoundingBox()</a> override <a href="#a27cc1dba8851752cca0c1269b2336e39">More...</a><br /></td></tr>
<tr class="separator:a27cc1dba8851752cca0c1269b2336e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e453036900222c04f07ffa1e8d6a1de"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3e453036900222c04f07ffa1e8d6a1de">ClearComponentStates</a> (<a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a> states_to_clear) const override</td></tr>
<tr class="memdesc:a3e453036900222c04f07ffa1e8d6a1de"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a href="#a3e453036900222c04f07ffa1e8d6a1de">More...</a><br /></td></tr>
<tr class="separator:a3e453036900222c04f07ffa1e8d6a1de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad47a740758f748dfa30528d1d79e64c"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aad47a740758f748dfa30528d1d79e64c">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 override</td></tr>
<tr class="memdesc:aad47a740758f748dfa30528d1d79e64c"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a href="#aad47a740758f748dfa30528d1d79e64c">More...</a><br /></td></tr>
<tr class="separator:aad47a740758f748dfa30528d1d79e64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af981e669c792c0106f342ea6f0d2baef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#af981e669c792c0106f342ea6f0d2baef">CloseTrimGap</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;trim0, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;trim1)</td></tr>
<tr class="memdesc:af981e669c792c0106f342ea6f0d2baef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user tool to remove any gap between adjacent trims. <a href="#af981e669c792c0106f342ea6f0d2baef">More...</a><br /></td></tr>
<tr class="separator:af981e669c792c0106f342ea6f0d2baef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7440558880c487c00426871deac0f83a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7440558880c487c00426871deac0f83a">CollapseEdge</a> (int edge_index, bool bCloseTrimGap=true, int vertex_index=-1)</td></tr>
<tr class="memdesc:a7440558880c487c00426871deac0f83a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user tool to collapse a "short" edge to a vertex. The edge is removed and the topology is repaired so that everything that used to connect to the edge connects the specified vertex. <a href="#a7440558880c487c00426871deac0f83a">More...</a><br /></td></tr>
<tr class="separator:a7440558880c487c00426871deac0f83a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbcf230a9a3df7855268e2ce7175352e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#adbcf230a9a3df7855268e2ce7175352e">CombineCoincidentEdges</a> (<a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;, <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;)</td></tr>
<tr class="memdesc:adbcf230a9a3df7855268e2ce7175352e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user function. <a href="#adbcf230a9a3df7855268e2ce7175352e">More...</a><br /></td></tr>
<tr class="separator:adbcf230a9a3df7855268e2ce7175352e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e629ea2e129197cd99db6b61358e7a8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2e629ea2e129197cd99db6b61358e7a8">CombineCoincidentVertices</a> (<a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;, <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;)</td></tr>
<tr class="memdesc:a2e629ea2e129197cd99db6b61358e7a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user function. <a href="#a2e629ea2e129197cd99db6b61358e7a8">More...</a><br /></td></tr>
<tr class="separator:a2e629ea2e129197cd99db6b61358e7a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a560a0a44f22c9a1fc20ef93d262e73f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a560a0a44f22c9a1fc20ef93d262e73f7">CombineContiguousEdges</a> (int edge_index0, int edge_iindex1, double angle_tolerance_radians=ON_PI/180.0)</td></tr>
<tr class="memdesc:a560a0a44f22c9a1fc20ef93d262e73f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user function. Combines contiguous edges into a single edge. The edges must share a common vertex, then angle between the edge tangents are the common vertex must be less than or equal to angle_tolerance_radians, and any associated trims must be contiguous in there respective boundaries. Parameters; edge_index0 - [in] edge_index1 - [in] angle_tolerance_radians - [in] <a href="#a560a0a44f22c9a1fc20ef93d262e73f7">More...</a><br /></td></tr>
<tr class="separator:a560a0a44f22c9a1fc20ef93d262e73f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab13e291e708f95d2d52a201d568ae5e2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2">Compact</a> ()</td></tr>
<tr class="memdesc:ab13e291e708f95d2d52a201d568ae5e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed, and shrinks arrays to minimum required size. <a href="#ab13e291e708f95d2d52a201d568ae5e2">More...</a><br /></td></tr>
<tr class="separator:ab13e291e708f95d2d52a201d568ae5e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68979013f72233511db3b75cd350a2c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605">ON_BrepLoop::TYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a68979013f72233511db3b75cd350a2c5">ComputeLoopType</a> (const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;) const</td></tr>
<tr class="separator:a68979013f72233511db3b75cd350a2c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae39151302c8c46ff57042b2474efc14f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae39151302c8c46ff57042b2474efc14f">Create</a> (<a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> *&amp;pSurface)</td></tr>
<tr class="memdesc:ae39151302c8c46ff57042b2474efc14f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a brep from a surface. The resulting surface has an outer boundary made from four trims. The trims are ordered so that they run along the south, east, north, and then west side of the surface's parameter space. <a href="#ae39151302c8c46ff57042b2474efc14f">More...</a><br /></td></tr>
<tr class="separator:ae39151302c8c46ff57042b2474efc14f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac297e771a1fd0eed277b2a48e2a72b9a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac297e771a1fd0eed277b2a48e2a72b9a">Create</a> (<a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html">ON_NurbsSurface</a> *&amp;pNurbsSurface)</td></tr>
<tr class="separator:ac297e771a1fd0eed277b2a48e2a72b9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfe3e1599a321d23bb0c16a2453ea161"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#abfe3e1599a321d23bb0c16a2453ea161">Create</a> (<a class="el" href="../../d4/db5/class_o_n___plane_surface.html">ON_PlaneSurface</a> *&amp;pPlaneSurface)</td></tr>
<tr class="separator:abfe3e1599a321d23bb0c16a2453ea161"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a319da425bcc2f4f72fd09bd5231fd3df"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a319da425bcc2f4f72fd09bd5231fd3df">Create</a> (<a class="el" href="../../d1/d37/class_o_n___rev_surface.html">ON_RevSurface</a> *&amp;pRevSurface)</td></tr>
<tr class="separator:a319da425bcc2f4f72fd09bd5231fd3df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f8dc57feae632807445796c04b49eb3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0f8dc57feae632807445796c04b49eb3">Create</a> (<a class="el" href="../../dc/d1c/class_o_n___sum_surface.html">ON_SumSurface</a> *&amp;pSumSurface)</td></tr>
<tr class="separator:a0f8dc57feae632807445796c04b49eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69c939d199cca3fd120a508f7696effc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a69c939d199cca3fd120a508f7696effc">CreateMesh</a> (const <a class="el" href="../../df/dbc/class_o_n___mesh_parameters.html">ON_MeshParameters</a> &amp;mp, <a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="../../df/d11/class_o_n___mesh.html">ON_Mesh</a> *&gt; &amp;mesh_list) const</td></tr>
<tr class="memdesc:a69c939d199cca3fd120a508f7696effc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates polygon mesh approximation of the brep and appends one mesh for each face to the mesh_list[] array. <a href="#a69c939d199cca3fd120a508f7696effc">More...</a><br /></td></tr>
<tr class="separator:a69c939d199cca3fd120a508f7696effc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c393dbae22c987848ad4c9e30293b1b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2c393dbae22c987848ad4c9e30293b1b">CullUnused2dCurves</a> ()</td></tr>
<tr class="separator:a2c393dbae22c987848ad4c9e30293b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a020756ece3c13f2880414f302ffeea18"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a020756ece3c13f2880414f302ffeea18">CullUnused3dCurves</a> ()</td></tr>
<tr class="separator:a020756ece3c13f2880414f302ffeea18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98f50ae5fb3e4ad98d9c3ee1772922fa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a98f50ae5fb3e4ad98d9c3ee1772922fa">CullUnusedEdges</a> ()</td></tr>
<tr class="separator:a98f50ae5fb3e4ad98d9c3ee1772922fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94e5f98b7d57886a848a4a0fafea6d20"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a94e5f98b7d57886a848a4a0fafea6d20">CullUnusedFaces</a> ()</td></tr>
<tr class="separator:a94e5f98b7d57886a848a4a0fafea6d20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6be75156f2788d471f4226ace6644bcd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a6be75156f2788d471f4226ace6644bcd">CullUnusedLoops</a> ()</td></tr>
<tr class="separator:a6be75156f2788d471f4226ace6644bcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e7b0856db1ca34d0160bd8632b92f5d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2e7b0856db1ca34d0160bd8632b92f5d">CullUnusedSurfaces</a> ()</td></tr>
<tr class="separator:a2e7b0856db1ca34d0160bd8632b92f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a0f209a16003de0390d762915560928"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2a0f209a16003de0390d762915560928">CullUnusedTrims</a> ()</td></tr>
<tr class="separator:a2a0f209a16003de0390d762915560928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6ee463654e16087c459f86d73be6d94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae6ee463654e16087c459f86d73be6d94">CullUnusedVertices</a> ()</td></tr>
<tr class="separator:ae6ee463654e16087c459f86d73be6d94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b9cf5a78381497a5a8c05cf6d3ab7e4"><td class="memItemLeft" align="right" valign="top">ON__UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9b9cf5a78381497a5a8c05cf6d3ab7e4">DataCRC</a> (ON__UINT32 current_remainder) const override</td></tr>
<tr class="memdesc:a9b9cf5a78381497a5a8c05cf6d3ab7e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#af51d5fcec9379ad9b7a56ac4dfc9a8b2" title="Returns a CRC calculated from the information that defines the object. This CRC can be used as a quic...">ON_Object::DataCRC</a> override <a href="#a9b9cf5a78381497a5a8c05cf6d3ab7e4">More...</a><br /></td></tr>
<tr class="separator:a9b9cf5a78381497a5a8c05cf6d3ab7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d150e985d5d52a4b5c8d634be158099"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a1d150e985d5d52a4b5c8d634be158099">Delete2dCurve</a> (int c2_index)</td></tr>
<tr class="separator:a1d150e985d5d52a4b5c8d634be158099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a6e3ee3a5337809e1ccb07f5deb0fae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a5a6e3ee3a5337809e1ccb07f5deb0fae">Delete3dCurve</a> (int c3_index)</td></tr>
<tr class="separator:a5a6e3ee3a5337809e1ccb07f5deb0fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840102ce5d6bea58914c6e78b3bd938d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a840102ce5d6bea58914c6e78b3bd938d">DeleteEdge</a> (<a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edge, bool bDeleteEdgeVertices)</td></tr>
<tr class="separator:a840102ce5d6bea58914c6e78b3bd938d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc2433358c597861e9d29cc3501b59fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#acc2433358c597861e9d29cc3501b59fd">DeleteFace</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;face, bool bDeleteFaceEdges)</td></tr>
<tr class="separator:acc2433358c597861e9d29cc3501b59fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04747ca0e189b70b7003100ec218d5cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a04747ca0e189b70b7003100ec218d5cb">DeleteLoop</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;loop, bool bDeleteLoopEdges)</td></tr>
<tr class="separator:a04747ca0e189b70b7003100ec218d5cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa3a7b2df82f1b92e3cb4edc5ebc53da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#afa3a7b2df82f1b92e3cb4edc5ebc53da">DeleteSurface</a> (int s_index)</td></tr>
<tr class="separator:afa3a7b2df82f1b92e3cb4edc5ebc53da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a307bdf4c65bcff2ee9c057b5d90b79ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a307bdf4c65bcff2ee9c057b5d90b79ed">DeleteTrim</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;trim, bool bDeleteTrimEdges)</td></tr>
<tr class="separator:a307bdf4c65bcff2ee9c057b5d90b79ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48e6289696e9a551bc467a566121bfae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a48e6289696e9a551bc467a566121bfae">DeleteVertex</a> (<a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;vertex)</td></tr>
<tr class="separator:a48e6289696e9a551bc467a566121bfae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d8b85fce4f652311b9fd613b6ad6539"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9d8b85fce4f652311b9fd613b6ad6539">Destroy</a> ()</td></tr>
<tr class="memdesc:a9d8b85fce4f652311b9fd613b6ad6539"><td class="mdescLeft">&#160;</td><td class="mdescRight">construction/destruction helpers <a href="#a9d8b85fce4f652311b9fd613b6ad6539">More...</a><br /></td></tr>
<tr class="separator:a9d8b85fce4f652311b9fd613b6ad6539"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92d34d18f0f1448dc938f35521855db4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a92d34d18f0f1448dc938f35521855db4">DestroyMesh</a> (ON::mesh_type mesh_type, bool bDeleteMesh=true)</td></tr>
<tr class="memdesc:a92d34d18f0f1448dc938f35521855db4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy meshes used to render and analyze brep. <a href="#a92d34d18f0f1448dc938f35521855db4">More...</a><br /></td></tr>
<tr class="separator:a92d34d18f0f1448dc938f35521855db4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3f5f48c61b6556d8475560ccd887057"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad3f5f48c61b6556d8475560ccd887057">DestroyRegionTopology</a> ()</td></tr>
<tr class="memdesc:ad3f5f48c61b6556d8475560ccd887057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy region topology information. <a href="#ad3f5f48c61b6556d8475560ccd887057">More...</a><br /></td></tr>
<tr class="separator:ad3f5f48c61b6556d8475560ccd887057"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe073d8c45fb82d4ba7197e2d958dd57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#afe073d8c45fb82d4ba7197e2d958dd57">DestroyRuntimeCache</a> (bool bDelete=true) override</td></tr>
<tr class="memdesc:afe073d8c45fb82d4ba7197e2d958dd57"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#af8435c33ab53af41c22dac75e8917569" title="Expert user function. If you are using openNURBS in its default configuration to read and write 3dm a...">ON_Object::DestroyRuntimeCache</a> override <a href="#afe073d8c45fb82d4ba7197e2d958dd57">More...</a><br /></td></tr>
<tr class="separator:afe073d8c45fb82d4ba7197e2d958dd57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6053e0c644ef483c3356d7c5e407ce6b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a6053e0c644ef483c3356d7c5e407ce6b">Dimension</a> () const override</td></tr>
<tr class="memdesc:a6053e0c644ef483c3356d7c5e407ce6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364" title="Dimension of the object. ">ON_Geometry::Dimension()</a> override <a href="#a6053e0c644ef483c3356d7c5e407ce6b">More...</a><br /></td></tr>
<tr class="separator:a6053e0c644ef483c3356d7c5e407ce6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17604727f07bd35031afb97fa2fea3cd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a17604727f07bd35031afb97fa2fea3cd">DisconnectEdgeFaces</a> (int eid)</td></tr>
<tr class="memdesc:a17604727f07bd35031afb97fa2fea3cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user function. Turn an edge into a series of naked or seam edges. One for each trim at the original edge that comes from a unique face. These edges will share the 3d curve of the original edge. The original edge will still be valid and will have m_ti[0] unchanged. <a href="#a17604727f07bd35031afb97fa2fea3cd">More...</a><br /></td></tr>
<tr class="separator:a17604727f07bd35031afb97fa2fea3cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e042bf758b7df9978c5b3b04f8b07ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a8e042bf758b7df9978c5b3b04f8b07ca">Dump</a> (<a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;) const override</td></tr>
<tr class="memdesc:a8e042bf758b7df9978c5b3b04f8b07ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual ON_Objet::Dump() override <a href="#a8e042bf758b7df9978c5b3b04f8b07ca">More...</a><br /></td></tr>
<tr class="separator:a8e042bf758b7df9978c5b3b04f8b07ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a3ceeae3a8b1351193c9c2506a9f449"><td class="memItemLeft" align="right" valign="top"><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="../../d9/d96/class_o_n___brep.html#a4a3ceeae3a8b1351193c9c2506a9f449">DuplicateFace</a> (int face_index, bool bDuplicateMeshes) const</td></tr>
<tr class="memdesc:a4a3ceeae3a8b1351193c9c2506a9f449"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a single brep face. <a href="#a4a3ceeae3a8b1351193c9c2506a9f449">More...</a><br /></td></tr>
<tr class="separator:a4a3ceeae3a8b1351193c9c2506a9f449"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13c2bac78b17215fdfdc65911e2d3025"><td class="memItemLeft" align="right" valign="top"><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="../../d9/d96/class_o_n___brep.html#a13c2bac78b17215fdfdc65911e2d3025">DuplicateFaces</a> (int face_count, const int *face_index, bool bDuplicateMeshes) const</td></tr>
<tr class="memdesc:a13c2bac78b17215fdfdc65911e2d3025"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a a subset of a brep <a href="#a13c2bac78b17215fdfdc65911e2d3025">More...</a><br /></td></tr>
<tr class="separator:a13c2bac78b17215fdfdc65911e2d3025"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ee943e39fa5b05b89a32e676a3e0726"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7ee943e39fa5b05b89a32e676a3e0726">Edge</a> (int edge_index) const</td></tr>
<tr class="memdesc:a7ee943e39fa5b05b89a32e676a3e0726"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get edge from edge index or component index. <a href="#a7ee943e39fa5b05b89a32e676a3e0726">More...</a><br /></td></tr>
<tr class="separator:a7ee943e39fa5b05b89a32e676a3e0726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae54402c7bc79fc13652e90e510415a11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae54402c7bc79fc13652e90e510415a11">Edge</a> (ON_COMPONENT_INDEX edge_index) const</td></tr>
<tr class="separator:ae54402c7bc79fc13652e90e510415a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04ae5ac4314e64a49e6bb1d0c8062daf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a04ae5ac4314e64a49e6bb1d0c8062daf">EdgeCurveUseCount</a> (int c3_index, int max_count=0) const</td></tr>
<tr class="memdesc:a04ae5ac4314e64a49e6bb1d0c8062daf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine how many brep edges reference m_C3[c3_index]. <a href="#a04ae5ac4314e64a49e6bb1d0c8062daf">More...</a><br /></td></tr>
<tr class="separator:a04ae5ac4314e64a49e6bb1d0c8062daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb66e611106eb90541ef676ef619ec5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#abb66e611106eb90541ef676ef619ec5c">EmergencyDestroy</a> ()</td></tr>
<tr class="memdesc:abb66e611106eb90541ef676ef619ec5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">call if memory pool used by b-rep members becomes invalid <a href="#abb66e611106eb90541ef676ef619ec5c">More...</a><br /></td></tr>
<tr class="separator:abb66e611106eb90541ef676ef619ec5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94edf1cb5173c1acaa7e530b8cf6607d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a94edf1cb5173c1acaa7e530b8cf6607d">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 override</td></tr>
<tr class="memdesc:a94edf1cb5173c1acaa7e530b8cf6607d"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a> override <a href="#a94edf1cb5173c1acaa7e530b8cf6607d">More...</a><br /></td></tr>
<tr class="separator:a94edf1cb5173c1acaa7e530b8cf6607d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93d598d882f5943153d6ba1897a4cfde"><td class="memItemLeft" align="right" valign="top"><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="../../d9/d96/class_o_n___brep.html#a93d598d882f5943153d6ba1897a4cfde">ExtractFace</a> (int face_index)</td></tr>
<tr class="memdesc:a93d598d882f5943153d6ba1897a4cfde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a face from a brep. <a href="#a93d598d882f5943153d6ba1897a4cfde">More...</a><br /></td></tr>
<tr class="separator:a93d598d882f5943153d6ba1897a4cfde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a52be86be2f244d11579b492d5354ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a5a52be86be2f244d11579b492d5354ce">Face</a> (int face_index) const</td></tr>
<tr class="memdesc:a5a52be86be2f244d11579b492d5354ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get face from face index or component index. <a href="#a5a52be86be2f244d11579b492d5354ce">More...</a><br /></td></tr>
<tr class="separator:a5a52be86be2f244d11579b492d5354ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdebe569ba66676b34349728bc400a92"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#acdebe569ba66676b34349728bc400a92">Face</a> (ON_COMPONENT_INDEX face_index) const</td></tr>
<tr class="separator:acdebe569ba66676b34349728bc400a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bc13c90c28fe1b04a28512fc7bd16f9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a6bc13c90c28fe1b04a28512fc7bd16f9">FaceIsSurface</a> (int) const</td></tr>
<tr class="separator:a6bc13c90c28fe1b04a28512fc7bd16f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7ee3ddf28686389740e2d029b0efe1b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aa7ee3ddf28686389740e2d029b0efe1b">Flip</a> ()</td></tr>
<tr class="separator:aa7ee3ddf28686389740e2d029b0efe1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc49fb9faf4e5ceebc120c053a743254"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#abc49fb9faf4e5ceebc120c053a743254">FlipFace</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;)</td></tr>
<tr class="memdesc:abc49fb9faf4e5ceebc120c053a743254"><td class="mdescLeft">&#160;</td><td class="mdescRight">reverses orientation of a face by toggling <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#afe606ccbc6ac4fdd7225af7f6fa105db">ON_BrepFace::m_bRev</a> <a href="#abc49fb9faf4e5ceebc120c053a743254">More...</a><br /></td></tr>
<tr class="separator:abc49fb9faf4e5ceebc120c053a743254"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1da697b5e3e1aaa6f656f9afdb47d04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac1da697b5e3e1aaa6f656f9afdb47d04">FlipLoop</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;)</td></tr>
<tr class="separator:ac1da697b5e3e1aaa6f656f9afdb47d04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a845ac982231f89071f85864462468bac"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a845ac982231f89071f85864462468bac">FlipReversedSurfaces</a> ()</td></tr>
<tr class="memdesc:a845ac982231f89071f85864462468bac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modification Interface. <a href="#a845ac982231f89071f85864462468bac">More...</a><br /></td></tr>
<tr class="separator:a845ac982231f89071f85864462468bac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf0b9b34403cac4724f7f91ed593a647"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#adf0b9b34403cac4724f7f91ed593a647">GetBBox</a> (double *boxmin, double *boxmax, bool bGrowBox=false) const override</td></tr>
<tr class="memdesc:adf0b9b34403cac4724f7f91ed593a647"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a> GetBBox override <a href="#adf0b9b34403cac4724f7f91ed593a647">More...</a><br /></td></tr>
<tr class="separator:adf0b9b34403cac4724f7f91ed593a647"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49725b5672fdaae8e02d03c43c509f11"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a49725b5672fdaae8e02d03c43c509f11">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 override</td></tr>
<tr class="memdesc:a49725b5672fdaae8e02d03c43c509f11"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a href="#a49725b5672fdaae8e02d03c43c509f11">More...</a><br /></td></tr>
<tr class="separator:a49725b5672fdaae8e02d03c43c509f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19fe78d07a5487e17f06169b23143245"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a19fe78d07a5487e17f06169b23143245">GetConnectedComponents</a> (<a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> * &gt; &amp;components, bool bDuplicateMeshes) const</td></tr>
<tr class="memdesc:a19fe78d07a5487e17f06169b23143245"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this brep has two or more connected components, then duplicates of the connected components are appended to the components[] array. <a href="#a19fe78d07a5487e17f06169b23143245">More...</a><br /></td></tr>
<tr class="separator:a19fe78d07a5487e17f06169b23143245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3140b56bfaad4c3b27c396266cf9e7d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac3140b56bfaad4c3b27c396266cf9e7d">GetMesh</a> (ON::mesh_type mesh_type, <a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; const <a class="el" href="../../df/d11/class_o_n___mesh.html">ON_Mesh</a> * &gt; &amp;meshes) const</td></tr>
<tr class="memdesc:ac3140b56bfaad4c3b27c396266cf9e7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get cached meshes used to render and analyze brep. <a href="#ac3140b56bfaad4c3b27c396266cf9e7d">More...</a><br /></td></tr>
<tr class="separator:ac3140b56bfaad4c3b27c396266cf9e7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d122681a235047c9f4e542fddc698f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3d122681a235047c9f4e542fddc698f5">GetTightBoundingBox</a> (class <a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;tight_bbox, bool bGrowBox=false, const class <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> *xform=nullptr) const override</td></tr>
<tr class="memdesc:a3d122681a235047c9f4e542fddc698f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a> GetTightBoundingBox override <a href="#a3d122681a235047c9f4e542fddc698f5">More...</a><br /></td></tr>
<tr class="separator:a3d122681a235047c9f4e542fddc698f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29ce36c3247ac9d0fd4175f34860b652"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a29ce36c3247ac9d0fd4175f34860b652">GetTrim2dEnd</a> (int, <a class="el" href="../../dd/dd9/class_o_n__2d_point.html">ON_2dPoint</a> &amp;) const</td></tr>
<tr class="separator:a29ce36c3247ac9d0fd4175f34860b652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a237b2576c8a30cfabbcf292f099c3adb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a237b2576c8a30cfabbcf292f099c3adb">GetTrim2dStart</a> (int trim_index, <a class="el" href="../../dd/dd9/class_o_n__2d_point.html">ON_2dPoint</a> &amp;) const</td></tr>
<tr class="separator:a237b2576c8a30cfabbcf292f099c3adb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7742627e5a4f52d6d36d3c472c9a05cf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7742627e5a4f52d6d36d3c472c9a05cf">GetTrim3dEnd</a> (int, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;) const</td></tr>
<tr class="separator:a7742627e5a4f52d6d36d3c472c9a05cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1c5f826ed02ea5a1350b82e4327decf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aa1c5f826ed02ea5a1350b82e4327decf">GetTrim3dStart</a> (int, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;) const</td></tr>
<tr class="separator:aa1c5f826ed02ea5a1350b82e4327decf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bd44fdbe8610cc3e404d863000b691b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7bd44fdbe8610cc3e404d863000b691b">HasBrepForm</a> () const override</td></tr>
<tr class="memdesc:a7bd44fdbe8610cc3e404d863000b691b"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#a84b28eb33d34c71913b9cd16f8ecab50" title="Query an object to see if it has an ON_Brep form. Result: Returns true if the virtual ON_Geometry::Br...">ON_Geometry::HasBrepForm()</a> override <a href="#a7bd44fdbe8610cc3e404d863000b691b">More...</a><br /></td></tr>
<tr class="separator:a7bd44fdbe8610cc3e404d863000b691b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eb5a7379abf6cf2e07b9e637d24ff92"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a6eb5a7379abf6cf2e07b9e637d24ff92">HasRegionTopology</a> () const</td></tr>
<tr class="separator:a6eb5a7379abf6cf2e07b9e637d24ff92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeff521224dfae78f13fea6f7131a7975"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aeff521224dfae78f13fea6f7131a7975">HasSlits</a> () const</td></tr>
<tr class="memdesc:aeff521224dfae78f13fea6f7131a7975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for slit trims and slit boundaries in each face. <a href="#aeff521224dfae78f13fea6f7131a7975">More...</a><br /></td></tr>
<tr class="separator:aeff521224dfae78f13fea6f7131a7975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e3ebe887970b193b403881de2e6b8f3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a1e3ebe887970b193b403881de2e6b8f3">HasSlits</a> (const <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;F) const</td></tr>
<tr class="memdesc:a1e3ebe887970b193b403881de2e6b8f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for slit trims and slit boundaries in a face. <a href="#a1e3ebe887970b193b403881de2e6b8f3">More...</a><br /></td></tr>
<tr class="separator:a1e3ebe887970b193b403881de2e6b8f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0df67fed0035fda170aabd6c5013f184"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0df67fed0035fda170aabd6c5013f184">HasSlits</a> (const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;L) const</td></tr>
<tr class="memdesc:a0df67fed0035fda170aabd6c5013f184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for slit trims in a loop. <a href="#a0df67fed0035fda170aabd6c5013f184">More...</a><br /></td></tr>
<tr class="separator:a0df67fed0035fda170aabd6c5013f184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b3331e092f40f3ad3b88701577d6f1f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2b3331e092f40f3ad3b88701577d6f1f">IsDuplicate</a> (const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;other, double tolerance=ON_ZERO_TOLERANCE) const</td></tr>
<tr class="memdesc:a2b3331e092f40f3ad3b88701577d6f1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Does nothing. Will be deleted in next version. <a href="#a2b3331e092f40f3ad3b88701577d6f1f">More...</a><br /></td></tr>
<tr class="separator:a2b3331e092f40f3ad3b88701577d6f1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4831d318a5467d7a4dc1c616ccb22e2e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a4831d318a5467d7a4dc1c616ccb22e2e">IsManifold</a> (bool *pbIsOriented=nullptr, bool *pbHasBoundary=nullptr) const</td></tr>
<tr class="memdesc:a4831d318a5467d7a4dc1c616ccb22e2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test brep to see if it is an oriented manifold. <a href="#a4831d318a5467d7a4dc1c616ccb22e2e">More...</a><br /></td></tr>
<tr class="separator:a4831d318a5467d7a4dc1c616ccb22e2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29a8f3fd1450f6e1dd5194736cd37f25"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a29a8f3fd1450f6e1dd5194736cd37f25">IsPointInside</a> (<a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> P, double tolerance, bool bStrictlyInside) const</td></tr>
<tr class="memdesc:a29a8f3fd1450f6e1dd5194736cd37f25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if P is inside Brep. This question only makes sense when the brep is a closed manifold. This function does not not check for closed or manifold, so result is not valid in those cases. Intersects a line through P with brep, finds the intersection point Q closest to P, and looks at face normal at Q. If the point Q is on an edge or the intersection is not transverse at Q, then another line is used. <a href="#a29a8f3fd1450f6e1dd5194736cd37f25">More...</a><br /></td></tr>
<tr class="separator:a29a8f3fd1450f6e1dd5194736cd37f25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a385ac017c00e1ec789477889f964f0f6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a385ac017c00e1ec789477889f964f0f6">IsSolid</a> () const</td></tr>
<tr class="memdesc:a385ac017c00e1ec789477889f964f0f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test brep to see if it is a solid. (A "solid" is a closed oriented manifold.) <a href="#a385ac017c00e1ec789477889f964f0f6">More...</a><br /></td></tr>
<tr class="separator:a385ac017c00e1ec789477889f964f0f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7515c293f679098f198f91ca5ad6729b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7515c293f679098f198f91ca5ad6729b">IsSurface</a> () const</td></tr>
<tr class="separator:a7515c293f679098f198f91ca5ad6729b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac538ff2fb9b8360fd5410fb0c66a1e54"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac538ff2fb9b8360fd5410fb0c66a1e54">IsValid</a> (class <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log=nullptr) const override</td></tr>
<tr class="memdesc:ac538ff2fb9b8360fd5410fb0c66a1e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests an object to see if its data members are correctly initialized. <a href="#ac538ff2fb9b8360fd5410fb0c66a1e54">More...</a><br /></td></tr>
<tr class="separator:ac538ff2fb9b8360fd5410fb0c66a1e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32a4113deacc593a977a6365772d7342"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a32a4113deacc593a977a6365772d7342">IsValidForV2</a> () const</td></tr>
<tr class="memdesc:a32a4113deacc593a977a6365772d7342"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests brep to see if it is valid for saving in V2 3DM archives. <a href="#a32a4113deacc593a977a6365772d7342">More...</a><br /></td></tr>
<tr class="separator:a32a4113deacc593a977a6365772d7342"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43ce4fa38930e00a4ad836d233f84ae1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a43ce4fa38930e00a4ad836d233f84ae1">IsValidForV2</a> (const <a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;) const</td></tr>
<tr class="separator:a43ce4fa38930e00a4ad836d233f84ae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2cad3e3b7603aa85d833c399bf64b68"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad2cad3e3b7603aa85d833c399bf64b68">IsValidForV2</a> (const <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;) const</td></tr>
<tr class="separator:ad2cad3e3b7603aa85d833c399bf64b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04e944af9746ee4c369b08c166d9fafb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a04e944af9746ee4c369b08c166d9fafb">IsValidGeometry</a> (<a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log=nullptr) const</td></tr>
<tr class="memdesc:a04e944af9746ee4c369b08c166d9fafb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user function that tests the brep to see if its geometry information is valid. The value of brep.IsValidTopology() must be true before brep.IsValidGeometry() can be safely called. <a href="#a04e944af9746ee4c369b08c166d9fafb">More...</a><br /></td></tr>
<tr class="separator:a04e944af9746ee4c369b08c166d9fafb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4700a326d5175701754b830b72ee3e99"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a4700a326d5175701754b830b72ee3e99">IsValidTolerancesAndFlags</a> (<a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log=nullptr) const</td></tr>
<tr class="memdesc:a4700a326d5175701754b830b72ee3e99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user function that tests the brep to see if its tolerances and flags are valid. The values of brep.IsValidTopology() and brep.IsValidGeometry() must be true before brep.IsValidTolerancesAndFlags() can be safely called. <a href="#a4700a326d5175701754b830b72ee3e99">More...</a><br /></td></tr>
<tr class="separator:a4700a326d5175701754b830b72ee3e99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a183431dbe3ed097578a82a4b7f055d79"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a183431dbe3ed097578a82a4b7f055d79">IsValidTopology</a> (<a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log=nullptr) const</td></tr>
<tr class="memdesc:a183431dbe3ed097578a82a4b7f055d79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests the brep to see if its topology information is valid. <a href="#a183431dbe3ed097578a82a4b7f055d79">More...</a><br /></td></tr>
<tr class="separator:a183431dbe3ed097578a82a4b7f055d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c3090483354c18846ca05dc7c9f0d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a52c3090483354c18846ca05dc7c9f0d0">LabelConnectedComponent</a> (int face_index, int label) const</td></tr>
<tr class="memdesc:a52c3090483354c18846ca05dc7c9f0d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i, and m_trim_user.i values of faces of component including m_F[face_index] to label. Numbering starts at 1. <a href="#a52c3090483354c18846ca05dc7c9f0d0">More...</a><br /></td></tr>
<tr class="separator:a52c3090483354c18846ca05dc7c9f0d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e56a650829171ebead7d374ba8721c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a5e56a650829171ebead7d374ba8721c5">LabelConnectedComponents</a> () const</td></tr>
<tr class="memdesc:a5e56a650829171ebead7d374ba8721c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i, and m_trim_user.i values values to distinguish connected components. <a href="#a5e56a650829171ebead7d374ba8721c5">More...</a><br /></td></tr>
<tr class="separator:a5e56a650829171ebead7d374ba8721c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c53147270e4dfcd7be7685a0c423bea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0c53147270e4dfcd7be7685a0c423bea">Loop</a> (int loop_index) const</td></tr>
<tr class="memdesc:a0c53147270e4dfcd7be7685a0c423bea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get loop from loop index or component index. <a href="#a0c53147270e4dfcd7be7685a0c423bea">More...</a><br /></td></tr>
<tr class="separator:a0c53147270e4dfcd7be7685a0c423bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1661fcd885f2bfeee96b7cddcdde5808"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a1661fcd885f2bfeee96b7cddcdde5808">Loop</a> (ON_COMPONENT_INDEX loop_index) const</td></tr>
<tr class="separator:a1661fcd885f2bfeee96b7cddcdde5808"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fe2304fe39ca52c948b7aaa26af6c0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a4fe2304fe39ca52c948b7aaa26af6c0f">Loop2dCurve</a> (const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;loop) const</td></tr>
<tr class="memdesc:a4fe2304fe39ca52c948b7aaa26af6c0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a 3d curve that traces the entire loop <a href="#a4fe2304fe39ca52c948b7aaa26af6c0f">More...</a><br /></td></tr>
<tr class="separator:a4fe2304fe39ca52c948b7aaa26af6c0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50c48e691132242b5169eb9e17b27e89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a50c48e691132242b5169eb9e17b27e89">Loop3dCurve</a> (const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;loop, bool bRevCurveIfFaceRevIsTrue=false) const</td></tr>
<tr class="memdesc:a50c48e691132242b5169eb9e17b27e89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a single 3d curve that traces the entire loop <a href="#a50c48e691132242b5169eb9e17b27e89">More...</a><br /></td></tr>
<tr class="separator:a50c48e691132242b5169eb9e17b27e89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbb89cba7a4bac4b571af9111bff042b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#acbb89cba7a4bac4b571af9111bff042b">Loop3dCurve</a> (const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;loop, <a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&gt; &amp;curve_list, bool bRevCurveIfFaceRevIsTrue=false) const</td></tr>
<tr class="memdesc:acbb89cba7a4bac4b571af9111bff042b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of 3d curves that trace the non-seam edge portions of an entire loop <a href="#acbb89cba7a4bac4b571af9111bff042b">More...</a><br /></td></tr>
<tr class="separator:acbb89cba7a4bac4b571af9111bff042b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9053adc75275f2784a559120891093e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#af9053adc75275f2784a559120891093e">LoopDirection</a> (const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;) const</td></tr>
<tr class="separator:af9053adc75275f2784a559120891093e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79f428e7004245ca7111fb865e37d99"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#af79f428e7004245ca7111fb865e37d99">LoopIsSurfaceBoundary</a> (int) const</td></tr>
<tr class="separator:af79f428e7004245ca7111fb865e37d99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a591bae58c2aec1b17e4e530a6dbd78ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html">ON_NurbsCurve</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a591bae58c2aec1b17e4e530a6dbd78ca">MakeTrimCurveNurb</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;T)</td></tr>
<tr class="memdesc:a591bae58c2aec1b17e4e530a6dbd78ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the 2d curve of a trim to an <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html">ON_NurbsCurve</a> <a href="#a591bae58c2aec1b17e4e530a6dbd78ca">More...</a><br /></td></tr>
<tr class="separator:a591bae58c2aec1b17e4e530a6dbd78ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3a33c65952431528528e00b741ade5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#afc3a33c65952431528528e00b741ade5">MarkAggregateComponentStatusAsNotCurrent</a> () const override</td></tr>
<tr class="memdesc:afc3a33c65952431528528e00b741ade5"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a href="#afc3a33c65952431528528e00b741ade5">More...</a><br /></td></tr>
<tr class="separator:afc3a33c65952431528528e00b741ade5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad492a77bcce77924f7910e7f1405fc6c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad492a77bcce77924f7910e7f1405fc6c">MatchTrimEnds</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;T0, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;T1)</td></tr>
<tr class="memdesc:ad492a77bcce77924f7910e7f1405fc6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Match the end of a trim to the start of the next trim. <a href="#ad492a77bcce77924f7910e7f1405fc6c">More...</a><br /></td></tr>
<tr class="separator:ad492a77bcce77924f7910e7f1405fc6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4147bccaf4394517ba92017835273fcb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a4147bccaf4394517ba92017835273fcb">MatchTrimEnds</a> (int trim_index)</td></tr>
<tr class="memdesc:a4147bccaf4394517ba92017835273fcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Match the endpoints of a trim to the next and previous trim <a href="#a4147bccaf4394517ba92017835273fcb">More...</a><br /></td></tr>
<tr class="separator:a4147bccaf4394517ba92017835273fcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6148bcd04c027cacb1c8084261c3d60"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae6148bcd04c027cacb1c8084261c3d60">MatchTrimEnds</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;<a class="el" href="../../d9/d96/class_o_n___brep.html#a0c53147270e4dfcd7be7685a0c423bea">Loop</a>)</td></tr>
<tr class="memdesc:ae6148bcd04c027cacb1c8084261c3d60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Match the endpoints of all trims in a loop <a href="#ae6148bcd04c027cacb1c8084261c3d60">More...</a><br /></td></tr>
<tr class="separator:ae6148bcd04c027cacb1c8084261c3d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ab989193175b55bc5bd47ce212a00f3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7ab989193175b55bc5bd47ce212a00f3">MatchTrimEnds</a> ()</td></tr>
<tr class="memdesc:a7ab989193175b55bc5bd47ce212a00f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Match the endpoints of all trims in a brep <a href="#a7ab989193175b55bc5bd47ce212a00f3">More...</a><br /></td></tr>
<tr class="separator:a7ab989193175b55bc5bd47ce212a00f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68391746e3eac8aab93b3ced47038061"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a68391746e3eac8aab93b3ced47038061">MemoryRelocate</a> () override</td></tr>
<tr class="memdesc:a68391746e3eac8aab93b3ced47038061"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override of virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#ae0674ccb79b6333e4b3c8e95ee10dd73" title="The MemoryRelocate() function is called when an object&#39;s location in memory is changed. For example, if an object resides in a chunk of memory that is grown by calling a realloc that has to allocate a new chunk and copy the contents of the old chunk to the new chunk, then the location of the object&#39;s memory changes. In practice this happens when classes derived from ON_Object are stored in dynamic arrays, like the default implementation of ON_ObjectArray&lt;&gt;&#39;s that use realloc to grow the dynamic array. ">ON_Object::MemoryRelocate</a>. <a href="#a68391746e3eac8aab93b3ced47038061">More...</a><br /></td></tr>
<tr class="separator:a68391746e3eac8aab93b3ced47038061"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a267bbcf84836b9de198404f5f8447114"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a267bbcf84836b9de198404f5f8447114">MergeFaces</a> (int fid0, int fid1)</td></tr>
<tr class="memdesc:a267bbcf84836b9de198404f5f8447114"><td class="mdescLeft">&#160;</td><td class="mdescRight">If fid0 != fid1 and m_F[fid0] and m_F[fid1] have the same surface (m_si is identical), and they are joined along a set of edges that do not have any other faces, then this will combine the two faces into one. <a href="#a267bbcf84836b9de198404f5f8447114">More...</a><br /></td></tr>
<tr class="separator:a267bbcf84836b9de198404f5f8447114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b9d2a090e11afada04a61fc92824720"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9b9d2a090e11afada04a61fc92824720">MergeFaces</a> ()</td></tr>
<tr class="memdesc:a9b9d2a090e11afada04a61fc92824720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Merge all possible faces that have the same m_si <a href="#a9b9d2a090e11afada04a61fc92824720">More...</a><br /></td></tr>
<tr class="separator:a9b9d2a090e11afada04a61fc92824720"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a404c108a2d209572cf9a369fbb7fdc95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a404c108a2d209572cf9a369fbb7fdc95">NewConeFace</a> (const <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;vertex, const <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edge, bool bRevEdge)</td></tr>
<tr class="memdesc:a404c108a2d209572cf9a369fbb7fdc95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new face to the brep whose surface geometry is a ruled cone with the edge as the base and the vertex as the apex point. <a href="#a404c108a2d209572cf9a369fbb7fdc95">More...</a><br /></td></tr>
<tr class="separator:a404c108a2d209572cf9a369fbb7fdc95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae013b93d9d59ee0d61e4152e86cc90c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0">NewCurveOnFace</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;face, <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edge, bool bRev3d=false, int c2i=-1)</td></tr>
<tr class="memdesc:ae013b93d9d59ee0d61e4152e86cc90c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new curve on face to the brep. <a href="#ae013b93d9d59ee0d61e4152e86cc90c0">More...</a><br /></td></tr>
<tr class="separator:ae013b93d9d59ee0d61e4152e86cc90c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1ca09f247e2d4bf24c59683f9d0121"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#afc1ca09f247e2d4bf24c59683f9d0121">NewEdge</a> (int=-1)</td></tr>
<tr class="separator:afc1ca09f247e2d4bf24c59683f9d0121"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a10e760f51bf567959a8e7013d72027"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a8a10e760f51bf567959a8e7013d72027">NewEdge</a> (<a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;, <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;, int=-1, const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> *=nullptr, double edge_tolerance=ON_UNSET_VALUE)</td></tr>
<tr class="separator:a8a10e760f51bf567959a8e7013d72027"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a051248257216c172a0b04b1c811996ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a051248257216c172a0b04b1c811996ce">NewFace</a> (int si=-1)</td></tr>
<tr class="memdesc:a051248257216c172a0b04b1c811996ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new face to a brep. An incomplete face is added. The caller must create and fill in the loops used by the face. <a href="#a051248257216c172a0b04b1c811996ce">More...</a><br /></td></tr>
<tr class="separator:a051248257216c172a0b04b1c811996ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44cee299eea267f1d3bef88b204dcd11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a44cee299eea267f1d3bef88b204dcd11">NewFace</a> (const <a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> &amp;surface)</td></tr>
<tr class="memdesc:a44cee299eea267f1d3bef88b204dcd11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new face to a brep. This creates a complete face with new vertices at the surface corners, new edges along the surface boundary, etc. The loop of the returned face has four trims that correspond to the south, east, north, and west side of the surface in that order. If you use this version of NewFace to add an exiting brep, then you are responsible for using a tool like ON_Brep::JoinEdges() to hook the new face to its neighbors. <a href="#a44cee299eea267f1d3bef88b204dcd11">More...</a><br /></td></tr>
<tr class="separator:a44cee299eea267f1d3bef88b204dcd11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13c76000d572e6c09fa6bb83763329de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a13c76000d572e6c09fa6bb83763329de">NewFace</a> (<a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> *pSurface, int vid[4], int eid[4], bool bRev3d[4])</td></tr>
<tr class="memdesc:a13c76000d572e6c09fa6bb83763329de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new face to brep. This version is for expert users. <a href="#a13c76000d572e6c09fa6bb83763329de">More...</a><br /></td></tr>
<tr class="separator:a13c76000d572e6c09fa6bb83763329de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b77e03da2fd19790a94b15fc2423495"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a8b77e03da2fd19790a94b15fc2423495">NewLoop</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605">ON_BrepLoop::TYPE</a>)</td></tr>
<tr class="memdesc:a8b77e03da2fd19790a94b15fc2423495"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new empty boundary loop. The new loop will not be part of a face and will not include any trim curves. <a href="#a8b77e03da2fd19790a94b15fc2423495">More...</a><br /></td></tr>
<tr class="separator:a8b77e03da2fd19790a94b15fc2423495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7998ee5a7253e692c351994f14cd4a5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7998ee5a7253e692c351994f14cd4a5e">NewLoop</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605">ON_BrepLoop::TYPE</a> loop_type, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;face)</td></tr>
<tr class="memdesc:a7998ee5a7253e692c351994f14cd4a5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new boundary loop on a face. After you get this <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a>, you still need to create the vertices, edges, and trims that define the loop. <a href="#a7998ee5a7253e692c351994f14cd4a5e">More...</a><br /></td></tr>
<tr class="separator:a7998ee5a7253e692c351994f14cd4a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3711aeb400342fa78798dcdbce8bef88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3711aeb400342fa78798dcdbce8bef88">NewOuterLoop</a> (int face_index)</td></tr>
<tr class="memdesc:a3711aeb400342fa78798dcdbce8bef88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new outer boundary loop that runs along the sides of the face's surface. All the necessary trims, edges, and vertices are created and added to the brep. <a href="#a3711aeb400342fa78798dcdbce8bef88">More...</a><br /></td></tr>
<tr class="separator:a3711aeb400342fa78798dcdbce8bef88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a733d1f8cea2f9a5f5a92aea266016571"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a733d1f8cea2f9a5f5a92aea266016571">NewOuterLoop</a> (int face_index, int vid[4], int eid[4], bool bRev3d[4])</td></tr>
<tr class="memdesc:a733d1f8cea2f9a5f5a92aea266016571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new face to brep. This version is for expert users. <a href="#a733d1f8cea2f9a5f5a92aea266016571">More...</a><br /></td></tr>
<tr class="separator:a733d1f8cea2f9a5f5a92aea266016571"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a321dcb9cf95e5172f55365ca05e82397"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a321dcb9cf95e5172f55365ca05e82397">NewPlanarFaceLoop</a> (int face_index, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605">ON_BrepLoop::TYPE</a> loop_type, <a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&gt; &amp;boundary, bool bDuplicateCurves=true)</td></tr>
<tr class="memdesc:a321dcb9cf95e5172f55365ca05e82397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a planar trimming loop to a planar face. <a href="#a321dcb9cf95e5172f55365ca05e82397">More...</a><br /></td></tr>
<tr class="separator:a321dcb9cf95e5172f55365ca05e82397"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a52845aa3ff14778dd8f366fddf5506"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506">NewPointOnFace</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;face, double s, double t)</td></tr>
<tr class="memdesc:a9a52845aa3ff14778dd8f366fddf5506"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new point on face to the brep. <a href="#a9a52845aa3ff14778dd8f366fddf5506">More...</a><br /></td></tr>
<tr class="separator:a9a52845aa3ff14778dd8f366fddf5506"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2963b4eb285495eddf451cd62e8d70c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2963b4eb285495eddf451cd62e8d70c9">NewRuledFace</a> (const <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edgeA, bool bRevEdgeA, const <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edgeB, bool bRevEdgeB)</td></tr>
<tr class="memdesc:a2963b4eb285495eddf451cd62e8d70c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new face to the brep whose surface geometry is a ruled surface between two edges. <a href="#a2963b4eb285495eddf451cd62e8d70c9">More...</a><br /></td></tr>
<tr class="separator:a2963b4eb285495eddf451cd62e8d70c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfd61b79756fb6dc4584515b824753b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1">NewSingularTrim</a> (const <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;vertex, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;loop, <a class="el" href="../../da/da0/class_o_n___surface.html#a7418fb8120619cb5f17bd4283ad37087">ON_Surface::ISO</a> iso, int c2i=-1)</td></tr>
<tr class="memdesc:abfd61b79756fb6dc4584515b824753b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new singular trim to the brep. <a href="#abfd61b79756fb6dc4584515b824753b1">More...</a><br /></td></tr>
<tr class="separator:abfd61b79756fb6dc4584515b824753b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03053263b27d2d2ad756d60aa3d334d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a03053263b27d2d2ad756d60aa3d334d8">NewTrim</a> (int c2i=-1)</td></tr>
<tr class="memdesc:a03053263b27d2d2ad756d60aa3d334d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new trim that will be part of an inner, outer, or slit loop to the brep. <a href="#a03053263b27d2d2ad756d60aa3d334d8">More...</a><br /></td></tr>
<tr class="separator:a03053263b27d2d2ad756d60aa3d334d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad340bcdb868f427a7dcc3d112bcb68f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aad340bcdb868f427a7dcc3d112bcb68f">NewTrim</a> (bool bRev3d, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;loop, int c2i=-1)</td></tr>
<tr class="memdesc:aad340bcdb868f427a7dcc3d112bcb68f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new trim that will be part of an inner, outer, or slit loop to the brep. <a href="#aad340bcdb868f427a7dcc3d112bcb68f">More...</a><br /></td></tr>
<tr class="separator:aad340bcdb868f427a7dcc3d112bcb68f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac737eaa361889e5b036892d56b058225"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac737eaa361889e5b036892d56b058225">NewTrim</a> (<a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edge, bool bRev3d, int c2i=-1)</td></tr>
<tr class="memdesc:ac737eaa361889e5b036892d56b058225"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new trim that will be part of an inner, outer, or slit loop to the brep. <a href="#ac737eaa361889e5b036892d56b058225">More...</a><br /></td></tr>
<tr class="separator:ac737eaa361889e5b036892d56b058225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48b7cf69275e5b56167f147f19e04bef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a48b7cf69275e5b56167f147f19e04bef">NewTrim</a> (<a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edge, bool bRev3d, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;loop, int c2i=-1)</td></tr>
<tr class="memdesc:a48b7cf69275e5b56167f147f19e04bef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new trim that will be part of an inner, outer, or slit loop to the brep. <a href="#a48b7cf69275e5b56167f147f19e04bef">More...</a><br /></td></tr>
<tr class="separator:a48b7cf69275e5b56167f147f19e04bef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a097d1bafa3189d05a9be98119b1d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a38a097d1bafa3189d05a9be98119b1d2">NewVertex</a> ()</td></tr>
<tr class="separator:a38a097d1bafa3189d05a9be98119b1d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e9401f87599b10cd9230cbe85a2bfe5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a1e9401f87599b10cd9230cbe85a2bfe5">NewVertex</a> (<a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> vertex_point, double vertex_tolerance=ON_UNSET_VALUE)</td></tr>
<tr class="separator:a1e9401f87599b10cd9230cbe85a2bfe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c446fcc86d077d9d614a6a667dab7d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0c446fcc86d077d9d614a6a667dab7d4">NextEdge</a> (int current_edge_index, int endi, int *next_endi=nullptr) const</td></tr>
<tr class="memdesc:a0c446fcc86d077d9d614a6a667dab7d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a simple tool for getting running through the edges that begin and end at a vertex. <a href="#a0c446fcc86d077d9d614a6a667dab7d4">More...</a><br /></td></tr>
<tr class="separator:a0c446fcc86d077d9d614a6a667dab7d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0df9327271879511c983a48f952c350d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0df9327271879511c983a48f952c350d">NextNonsingularTrim</a> (int) const</td></tr>
<tr class="separator:a0df9327271879511c983a48f952c350d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afde92e47555f607347d35c6a38a1ceaa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#afde92e47555f607347d35c6a38a1ceaa">NextTrim</a> (int) const</td></tr>
<tr class="separator:afde92e47555f607347d35c6a38a1ceaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7053bac2951282366b5627f3e074e767"><td class="memItemLeft" align="right" valign="top">ON::object_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7053bac2951282366b5627f3e074e767">ObjectType</a> () const override</td></tr>
<tr class="memdesc:a7053bac2951282366b5627f3e074e767"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual ON_Objet::ObjectType() override <a href="#a7053bac2951282366b5627f3e074e767">More...</a><br /></td></tr>
<tr class="separator:a7053bac2951282366b5627f3e074e767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae525c494c02d8111a2666dfc2554f90e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae525c494c02d8111a2666dfc2554f90e">operator=</a> (const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;)</td></tr>
<tr class="separator:ae525c494c02d8111a2666dfc2554f90e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a365813ea93518ba8bbddbecd8953453b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a365813ea93518ba8bbddbecd8953453b">PrevEdge</a> (int current_edge_index, int endi, int *prev_endi=nullptr) const</td></tr>
<tr class="memdesc:a365813ea93518ba8bbddbecd8953453b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is a simple tool for getting running through the edges that begin and end at a vertex. <a href="#a365813ea93518ba8bbddbecd8953453b">More...</a><br /></td></tr>
<tr class="separator:a365813ea93518ba8bbddbecd8953453b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea7d834eee697407bdcdc6d6c08dcb4e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aea7d834eee697407bdcdc6d6c08dcb4e">PrevNonsingularTrim</a> (int) const</td></tr>
<tr class="memdesc:aea7d834eee697407bdcdc6d6c08dcb4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as NextTrim and PrevTrim, but skips over trims with type singular. <a href="#aea7d834eee697407bdcdc6d6c08dcb4e">More...</a><br /></td></tr>
<tr class="separator:aea7d834eee697407bdcdc6d6c08dcb4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac22e83fea944d2e5d055a9c8055513b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac22e83fea944d2e5d055a9c8055513b9">PrevTrim</a> (int) const</td></tr>
<tr class="memdesc:ac22e83fea944d2e5d055a9c8055513b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Navigation Interface. <a href="#ac22e83fea944d2e5d055a9c8055513b9">More...</a><br /></td></tr>
<tr class="separator:ac22e83fea944d2e5d055a9c8055513b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59d9ce80429fb3df537f905836e8e1ee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a59d9ce80429fb3df537f905836e8e1ee">Read</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;) override</td></tr>
<tr class="memdesc:a59d9ce80429fb3df537f905836e8e1ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual ON_Objet::Read() override <a href="#a59d9ce80429fb3df537f905836e8e1ee">More...</a><br /></td></tr>
<tr class="separator:a59d9ce80429fb3df537f905836e8e1ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addb0227faa8a2644b42a79cf2ef4d9d3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../da/dfb/class_o_n___brep_region_topology.html">ON_BrepRegionTopology</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#addb0227faa8a2644b42a79cf2ef4d9d3">RegionTopology</a> () const</td></tr>
<tr class="memdesc:addb0227faa8a2644b42a79cf2ef4d9d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get region topology information: In order to keep the <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> class efficient, rarely used region topology information is not maintained. If you require this information, call <a class="el" href="../../d9/d96/class_o_n___brep.html#addb0227faa8a2644b42a79cf2ef4d9d3" title="Get region topology information: In order to keep the ON_Brep class efficient, rarely used region top...">RegionTopology()</a>. <a href="#addb0227faa8a2644b42a79cf2ef4d9d3">More...</a><br /></td></tr>
<tr class="separator:addb0227faa8a2644b42a79cf2ef4d9d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a194f5f7e107f71b7edbb276b11807558"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a194f5f7e107f71b7edbb276b11807558">RemoveNesting</a> (bool bExtractSingleSegments, bool bEdges=true, bool bTrimCurves=true)</td></tr>
<tr class="memdesc:a194f5f7e107f71b7edbb276b11807558"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes nested polycurves from the m_C2[] and m_C3[] arrays. <a href="#a194f5f7e107f71b7edbb276b11807558">More...</a><br /></td></tr>
<tr class="separator:a194f5f7e107f71b7edbb276b11807558"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f65e37f664c24d27ea676edd125fba3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7f65e37f664c24d27ea676edd125fba3">RemoveSlits</a> ()</td></tr>
<tr class="memdesc:a7f65e37f664c24d27ea676edd125fba3"><td class="mdescLeft">&#160;</td><td class="mdescRight">remove slit trims and slit boundaries from each face. <a href="#a7f65e37f664c24d27ea676edd125fba3">More...</a><br /></td></tr>
<tr class="separator:a7f65e37f664c24d27ea676edd125fba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a085dcf71b43ee1aa79c1701c016f931c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a085dcf71b43ee1aa79c1701c016f931c">RemoveSlits</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;F)</td></tr>
<tr class="memdesc:a085dcf71b43ee1aa79c1701c016f931c"><td class="mdescLeft">&#160;</td><td class="mdescRight">remove slit trims and slit boundaries from a face. <a href="#a085dcf71b43ee1aa79c1701c016f931c">More...</a><br /></td></tr>
<tr class="separator:a085dcf71b43ee1aa79c1701c016f931c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a736e930cafdfb1c31ba2f3e5117c2f8e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a736e930cafdfb1c31ba2f3e5117c2f8e">RemoveSlits</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;L)</td></tr>
<tr class="memdesc:a736e930cafdfb1c31ba2f3e5117c2f8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">remove slit trims from a loop. <a href="#a736e930cafdfb1c31ba2f3e5117c2f8e">More...</a><br /></td></tr>
<tr class="separator:a736e930cafdfb1c31ba2f3e5117c2f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2444746e24b803814e27778c4f679624"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2444746e24b803814e27778c4f679624">RemoveWireEdges</a> (bool bDeleteVertices=true)</td></tr>
<tr class="memdesc:a2444746e24b803814e27778c4f679624"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove edges that are not connected to a face. <a href="#a2444746e24b803814e27778c4f679624">More...</a><br /></td></tr>
<tr class="separator:a2444746e24b803814e27778c4f679624"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20a6375ffce0a7c23c705c148a69bd72"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a20a6375ffce0a7c23c705c148a69bd72">RemoveWireVertices</a> ()</td></tr>
<tr class="memdesc:a20a6375ffce0a7c23c705c148a69bd72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove vertices that are not connected to an edge. <a href="#a20a6375ffce0a7c23c705c148a69bd72">More...</a><br /></td></tr>
<tr class="separator:a20a6375ffce0a7c23c705c148a69bd72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa49c4ab144d55a840139e2de9fff7fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aaa49c4ab144d55a840139e2de9fff7fe">Set_user</a> (<a class="el" href="../../d5/d38/union_o_n___u.html">ON_U</a> u) const</td></tr>
<tr class="memdesc:aaa49c4ab144d55a840139e2de9fff7fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">"Expert" Interface <a href="#aaa49c4ab144d55a840139e2de9fff7fe">More...</a><br /></td></tr>
<tr class="separator:aaa49c4ab144d55a840139e2de9fff7fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a703f85321db5662984469699838b1a55"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a703f85321db5662984469699838b1a55">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 override</td></tr>
<tr class="memdesc:a703f85321db5662984469699838b1a55"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a href="#a703f85321db5662984469699838b1a55">More...</a><br /></td></tr>
<tr class="separator:a703f85321db5662984469699838b1a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2e0a29061c67a33020fee98cf4880e5"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ab2e0a29061c67a33020fee98cf4880e5">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 override</td></tr>
<tr class="memdesc:ab2e0a29061c67a33020fee98cf4880e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a href="#ab2e0a29061c67a33020fee98cf4880e5">More...</a><br /></td></tr>
<tr class="separator:ab2e0a29061c67a33020fee98cf4880e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75a882f35eb446588fa82d0c6641c27a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a75a882f35eb446588fa82d0c6641c27a">SetEdgeCurve</a> (<a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edge, int c3_index, const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> *sub_domain=nullptr)</td></tr>
<tr class="memdesc:a75a882f35eb446588fa82d0c6641c27a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set 3d curve geometry used by a b-rep edge. <a href="#a75a882f35eb446588fa82d0c6641c27a">More...</a><br /></td></tr>
<tr class="separator:a75a882f35eb446588fa82d0c6641c27a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3618a01babaf46a47a66e0341a942b74"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3618a01babaf46a47a66e0341a942b74">SetEdgeDomain</a> (int, const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> &amp;)</td></tr>
<tr class="separator:a3618a01babaf46a47a66e0341a942b74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9eacb9c1f2ae20243959d0a52782c635"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9eacb9c1f2ae20243959d0a52782c635">SetEdgeTolerance</a> (<a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;edge, bool bLazy=false) const</td></tr>
<tr class="separator:a9eacb9c1f2ae20243959d0a52782c635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1457c9114a276970ca9ba40d4536b9a5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a1457c9114a276970ca9ba40d4536b9a5">SetEdgeTolerances</a> (bool bLazy=false)</td></tr>
<tr class="memdesc:a1457c9114a276970ca9ba40d4536b9a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the brep's edge tolerances. <a href="#a1457c9114a276970ca9ba40d4536b9a5">More...</a><br /></td></tr>
<tr class="separator:a1457c9114a276970ca9ba40d4536b9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a58111694f9bf33ddf03e2803049224"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a1a58111694f9bf33ddf03e2803049224">SetTolerancesBoxesAndFlags</a> (bool bLazy=false, bool bSetVertexTolerances=true, bool bSetEdgeTolerances=true, bool bSetTrimTolerances=true, bool bSetTrimIsoFlags=true, bool bSetTrimTypeFlags=true, bool bSetLoopTypeFlags=true, bool bSetTrimBoxes=true)</td></tr>
<tr class="memdesc:a1a58111694f9bf33ddf03e2803049224"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set tolerances and flags in a brep <a href="#a1a58111694f9bf33ddf03e2803049224">More...</a><br /></td></tr>
<tr class="separator:a1a58111694f9bf33ddf03e2803049224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca2bac17d3be3b3f6e4e712502f94fd"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#adca2bac17d3be3b3f6e4e712502f94fd">SetTrimBoundingBox</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;trim, bool bLazy=false)</td></tr>
<tr class="memdesc:adca2bac17d3be3b3f6e4e712502f94fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the trim parameter space bounding box (trim.m_pbox). <a href="#adca2bac17d3be3b3f6e4e712502f94fd">More...</a><br /></td></tr>
<tr class="separator:adca2bac17d3be3b3f6e4e712502f94fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2f41930c23502839fb58bc76b2f653"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a5a2f41930c23502839fb58bc76b2f653">SetTrimBoundingBoxes</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;loop, bool bLazy=false)</td></tr>
<tr class="memdesc:a5a2f41930c23502839fb58bc76b2f653"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the loop parameter space bounding box (loop.m_pbox). <a href="#a5a2f41930c23502839fb58bc76b2f653">More...</a><br /></td></tr>
<tr class="separator:a5a2f41930c23502839fb58bc76b2f653"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad28beea1fb21fe8a11b8deda23fab0ce"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad28beea1fb21fe8a11b8deda23fab0ce">SetTrimBoundingBoxes</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;face, bool bLazy=false)</td></tr>
<tr class="memdesc:ad28beea1fb21fe8a11b8deda23fab0ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the loop and trim parameter space bounding boxes for every loop and trim in the face <a href="#ad28beea1fb21fe8a11b8deda23fab0ce">More...</a><br /></td></tr>
<tr class="separator:ad28beea1fb21fe8a11b8deda23fab0ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a78150292413c7967646bd0ddf0fea1"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3a78150292413c7967646bd0ddf0fea1">SetTrimBoundingBoxes</a> (bool bLazy=false)</td></tr>
<tr class="memdesc:a3a78150292413c7967646bd0ddf0fea1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the loop and trim parameter space bounding boxes for every loop and trim in the brep. <a href="#a3a78150292413c7967646bd0ddf0fea1">More...</a><br /></td></tr>
<tr class="separator:a3a78150292413c7967646bd0ddf0fea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9945a7fe18ee3dc72956f344c620064b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9945a7fe18ee3dc72956f344c620064b">SetTrimCurve</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;trim, int c2_index, const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> *sub_domain=nullptr)</td></tr>
<tr class="memdesc:a9945a7fe18ee3dc72956f344c620064b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set 2d curve geometry used by a b-rep trim. <a href="#a9945a7fe18ee3dc72956f344c620064b">More...</a><br /></td></tr>
<tr class="separator:a9945a7fe18ee3dc72956f344c620064b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa026c717f5db0eae088142a46ad22351"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aa026c717f5db0eae088142a46ad22351">SetTrimDomain</a> (int, const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> &amp;)</td></tr>
<tr class="separator:aa026c717f5db0eae088142a46ad22351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac040323515f674fcabf8be6e273b0541"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac040323515f674fcabf8be6e273b0541">SetTrimIsoFlags</a> ()</td></tr>
<tr class="separator:ac040323515f674fcabf8be6e273b0541"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0202fe87a2a2c8ad71ece9b89acb758"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad0202fe87a2a2c8ad71ece9b89acb758">SetTrimIsoFlags</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;)</td></tr>
<tr class="separator:ad0202fe87a2a2c8ad71ece9b89acb758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abebecafeda68d292c8de0ffa96e69bce"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#abebecafeda68d292c8de0ffa96e69bce">SetTrimIsoFlags</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;)</td></tr>
<tr class="separator:abebecafeda68d292c8de0ffa96e69bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89cb6cf7e815137d209dfefb11713cbd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a89cb6cf7e815137d209dfefb11713cbd">SetTrimIsoFlags</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;)</td></tr>
<tr class="separator:a89cb6cf7e815137d209dfefb11713cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9136fad3d86a72467405f2d010da7df4"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9136fad3d86a72467405f2d010da7df4">SetTrimTolerance</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;trim, bool bLazy=false) const</td></tr>
<tr class="separator:a9136fad3d86a72467405f2d010da7df4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7d971564956d4e722a6370940dcee44"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae7d971564956d4e722a6370940dcee44">SetTrimTolerances</a> (bool bLazy=false)</td></tr>
<tr class="memdesc:ae7d971564956d4e722a6370940dcee44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the brep's trim tolerances. <a href="#ae7d971564956d4e722a6370940dcee44">More...</a><br /></td></tr>
<tr class="separator:ae7d971564956d4e722a6370940dcee44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1e4b2b933b19ef09d364c7b4bdd3820"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#af1e4b2b933b19ef09d364c7b4bdd3820">SetTrimTypeFlags</a> (bool bLazy=false)</td></tr>
<tr class="separator:af1e4b2b933b19ef09d364c7b4bdd3820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68ca7a2a4b75fbc0921ddb894d2fef2b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a68ca7a2a4b75fbc0921ddb894d2fef2b">SetTrimTypeFlags</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;, bool bLazy=false)</td></tr>
<tr class="separator:a68ca7a2a4b75fbc0921ddb894d2fef2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5c55ffbb547a782f4bda1afd4385e0f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad5c55ffbb547a782f4bda1afd4385e0f">SetTrimTypeFlags</a> (<a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;, bool bLazy=false)</td></tr>
<tr class="separator:ad5c55ffbb547a782f4bda1afd4385e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9369d78dfe213a0e502b1151ee7da3f8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9369d78dfe213a0e502b1151ee7da3f8">SetTrimTypeFlags</a> (<a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;, bool bLazy=false)</td></tr>
<tr class="separator:a9369d78dfe213a0e502b1151ee7da3f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a708e78a85784e161f6cb94e2050eb8f2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a708e78a85784e161f6cb94e2050eb8f2">SetVertexTolerance</a> (<a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;vertex, bool bLazy=false) const</td></tr>
<tr class="separator:a708e78a85784e161f6cb94e2050eb8f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81e43c05212c16ef8a0f2e97a1cf60d4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a81e43c05212c16ef8a0f2e97a1cf60d4">SetVertexTolerances</a> (bool bLazy=false)</td></tr>
<tr class="memdesc:a81e43c05212c16ef8a0f2e97a1cf60d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the brep's vertex tolerances. <a href="#a81e43c05212c16ef8a0f2e97a1cf60d4">More...</a><br /></td></tr>
<tr class="separator:a81e43c05212c16ef8a0f2e97a1cf60d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3254b43a53f367a1af83822b2dfd407a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3254b43a53f367a1af83822b2dfd407a">SetVertices</a> (void)</td></tr>
<tr class="separator:a3254b43a53f367a1af83822b2dfd407a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a714e95381cf306d4304c0fdbe12400b8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a714e95381cf306d4304c0fdbe12400b8">ShrinkSurface</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;face, int DisableSide=0)</td></tr>
<tr class="memdesc:a714e95381cf306d4304c0fdbe12400b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sometimes the <a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> used by a face extends far beyond the face's outer boundary. ShrinkSurface uses <a class="el" href="../../da/da0/class_o_n___surface.html#ab88b3c29cccf29717a83ee349e2d85d7" title="Removes the portions of the surface outside of the specified interval. ">ON_Surface::Trim</a> to remove portions of the surface that extend beyond the face's outer boundary loop. <a href="#a714e95381cf306d4304c0fdbe12400b8">More...</a><br /></td></tr>
<tr class="separator:a714e95381cf306d4304c0fdbe12400b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa839da194fbe9be044f3702febeac7c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#afa839da194fbe9be044f3702febeac7c">ShrinkSurfaces</a> ()</td></tr>
<tr class="memdesc:afa839da194fbe9be044f3702febeac7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sometimes the <a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> used by a face extends far beyond the face's outer boundary. ShrinkSurfaces calls ON_Shrink::ShrinkSurface on each face to remove portions of surfaces that extend beyond their face's outer boundary loop. <a href="#afa839da194fbe9be044f3702febeac7c">More...</a><br /></td></tr>
<tr class="separator:afa839da194fbe9be044f3702febeac7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af190638468ee5f2cc813788d5a6156dd"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#af190638468ee5f2cc813788d5a6156dd">SizeOf</a> () const override</td></tr>
<tr class="memdesc:af190638468ee5f2cc813788d5a6156dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a0299df21bfed90d7b5bfb24cdcf5e6c1">ON_Object::SizeOf</a> override <a href="#af190638468ee5f2cc813788d5a6156dd">More...</a><br /></td></tr>
<tr class="separator:af190638468ee5f2cc813788d5a6156dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb58a14210acd8c3e851770a465a9faa"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#adb58a14210acd8c3e851770a465a9faa">SolidOrientation</a> () const</td></tr>
<tr class="memdesc:adb58a14210acd8c3e851770a465a9faa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine orientation of a brep. <a href="#adb58a14210acd8c3e851770a465a9faa">More...</a><br /></td></tr>
<tr class="separator:adb58a14210acd8c3e851770a465a9faa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a028084fd2858dbb17f1b63958f947561"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a028084fd2858dbb17f1b63958f947561">SortFaceLoops</a> (<a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;face) const</td></tr>
<tr class="memdesc:a028084fd2858dbb17f1b63958f947561"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort the face.m_li[] array by loop type (outer, inner, slit, crvonsrf, ptonsrf) <a href="#a028084fd2858dbb17f1b63958f947561">More...</a><br /></td></tr>
<tr class="separator:a028084fd2858dbb17f1b63958f947561"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d26299b7fbf12c2501cfd70ccf1df34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2d26299b7fbf12c2501cfd70ccf1df34">Standardize</a> ()</td></tr>
<tr class="memdesc:a2d26299b7fbf12c2501cfd70ccf1df34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standardize all trims, edges, and faces in the brep. <a href="#a2d26299b7fbf12c2501cfd70ccf1df34">More...</a><br /></td></tr>
<tr class="separator:a2d26299b7fbf12c2501cfd70ccf1df34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c7f86cb4e24a7a1931a1c3b3be4211f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a8c7f86cb4e24a7a1931a1c3b3be4211f">StandardizeEdgeCurve</a> (int edge_index, bool bAdjustEnds)</td></tr>
<tr class="memdesc:a8c7f86cb4e24a7a1931a1c3b3be4211f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standardizes the relationship between an <a class="el" href="../../dd/de8/class_o_n___brep_edge.html" title="Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in...">ON_BrepEdge</a> and the 3d curve it uses. When done, the edge will be the only edge that references its 3d curve, the domains of the edge and 3d curve will be the same, and the edge will use the entire locus of the 3d curve. <a href="#a8c7f86cb4e24a7a1931a1c3b3be4211f">More...</a><br /></td></tr>
<tr class="separator:a8c7f86cb4e24a7a1931a1c3b3be4211f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae75c852d640873ef76eb74342bfdc3a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae75c852d640873ef76eb74342bfdc3a0">StandardizeEdgeCurve</a> (int edge_index, bool bAdjustEnds, int EdgeCurveUse)</td></tr>
<tr class="memdesc:ae75c852d640873ef76eb74342bfdc3a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user only. Same as above, but to be used when the edge curve use count is known for the edge. Standardizes the relationship between an <a class="el" href="../../dd/de8/class_o_n___brep_edge.html" title="Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in...">ON_BrepEdge</a> and the 3d curve it uses. When done, the edge will be the only edge that references its 3d curve, the domains of the edge and 3d curve will be the same, and the edge will use the entire locus of the 3d curve. <a href="#ae75c852d640873ef76eb74342bfdc3a0">More...</a><br /></td></tr>
<tr class="separator:ae75c852d640873ef76eb74342bfdc3a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51dd0b01ecf757ffb1769cb068511f33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a51dd0b01ecf757ffb1769cb068511f33">StandardizeEdgeCurves</a> (bool bAdjustEnds)</td></tr>
<tr class="memdesc:a51dd0b01ecf757ffb1769cb068511f33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standardize all edges in the brep. <a href="#a51dd0b01ecf757ffb1769cb068511f33">More...</a><br /></td></tr>
<tr class="separator:a51dd0b01ecf757ffb1769cb068511f33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a104b34b09d6cb03d392e3218fb96c497"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a104b34b09d6cb03d392e3218fb96c497">StandardizeFaceSurface</a> (int face_index)</td></tr>
<tr class="memdesc:a104b34b09d6cb03d392e3218fb96c497"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standardizes the relationship between an <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> and the 3d surface it uses. When done, the face will be the only face that references its 3d surface, and the orientations of the face and 3d surface will be the same. <a href="#a104b34b09d6cb03d392e3218fb96c497">More...</a><br /></td></tr>
<tr class="separator:a104b34b09d6cb03d392e3218fb96c497"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d9999b710bc03e12fa61bc2234d5a9d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0d9999b710bc03e12fa61bc2234d5a9d">StandardizeFaceSurfaces</a> ()</td></tr>
<tr class="memdesc:a0d9999b710bc03e12fa61bc2234d5a9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standardize all faces in the brep. <a href="#a0d9999b710bc03e12fa61bc2234d5a9d">More...</a><br /></td></tr>
<tr class="separator:a0d9999b710bc03e12fa61bc2234d5a9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f0345eb433e28d5c1f215a0c3840654"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9f0345eb433e28d5c1f215a0c3840654">StandardizeTrimCurve</a> (int trim_index)</td></tr>
<tr class="memdesc:a9f0345eb433e28d5c1f215a0c3840654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standardizes the relationship between an <a class="el" href="../../d3/dac/class_o_n___brep_trim.html" title="Brep trim information is stored in ON_BrepTrim classes. ON_Brep.m_T[] is an array of all the trim in ...">ON_BrepTrim</a> and the 2d curve it uses. When done, the trim will be the only trim that references its 2d curve, the domains of the trim and 2d curve will be the same, and the trim will use the entire locus of the 2d curve. <a href="#a9f0345eb433e28d5c1f215a0c3840654">More...</a><br /></td></tr>
<tr class="separator:a9f0345eb433e28d5c1f215a0c3840654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acba03597ba0e7bd9c4ecfeed2851f551"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#acba03597ba0e7bd9c4ecfeed2851f551">StandardizeTrimCurves</a> ()</td></tr>
<tr class="memdesc:acba03597ba0e7bd9c4ecfeed2851f551"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standardize all trims in the brep. <a href="#acba03597ba0e7bd9c4ecfeed2851f551">More...</a><br /></td></tr>
<tr class="separator:acba03597ba0e7bd9c4ecfeed2851f551"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a46e8f6107a55e6a04e555da6129308"><td class="memItemLeft" align="right" valign="top"><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="../../d9/d96/class_o_n___brep.html#a6a46e8f6107a55e6a04e555da6129308">SubBrep</a> (int subfi_count, const int *sub_fi, <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> *sub_brep=0) const</td></tr>
<tr class="memdesc:a6a46e8f6107a55e6a04e555da6129308"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a subset of this brep. <a href="#a6a46e8f6107a55e6a04e555da6129308">More...</a><br /></td></tr>
<tr class="separator:a6a46e8f6107a55e6a04e555da6129308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a433d526743dbd2e0d97b651d94eb747a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a433d526743dbd2e0d97b651d94eb747a">SurfaceUseCount</a> (int surface_index, int max_count=0) const</td></tr>
<tr class="memdesc:a433d526743dbd2e0d97b651d94eb747a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query Interface. <a href="#a433d526743dbd2e0d97b651d94eb747a">More...</a><br /></td></tr>
<tr class="separator:a433d526743dbd2e0d97b651d94eb747a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7438aa522cde52487b2f19924eb93f3b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7438aa522cde52487b2f19924eb93f3b">SwapCoordinates</a> (int, int) override</td></tr>
<tr class="memdesc:a7438aa522cde52487b2f19924eb93f3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#a737d7b1433104a39298629931e899cd4" title="Swaps object coordinate values with indices i and j. ">ON_Geometry::SwapCoordinates()</a> override <a href="#a7438aa522cde52487b2f19924eb93f3b">More...</a><br /></td></tr>
<tr class="separator:a7438aa522cde52487b2f19924eb93f3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67646f46a8e1c20389b32ff8adec9910"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a67646f46a8e1c20389b32ff8adec9910">Transform</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;) override</td></tr>
<tr class="memdesc:a67646f46a8e1c20389b32ff8adec9910"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1" title="Transforms the object. ">ON_Geometry::Transform()</a> override <a href="#a67646f46a8e1c20389b32ff8adec9910">More...</a><br /></td></tr>
<tr class="separator:a67646f46a8e1c20389b32ff8adec9910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72e94c5f4874f28cb98db9a0f05dc1f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a72e94c5f4874f28cb98db9a0f05dc1f2">Trim</a> (int trim_index) const</td></tr>
<tr class="memdesc:a72e94c5f4874f28cb98db9a0f05dc1f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get trim from trim index or component index. <a href="#a72e94c5f4874f28cb98db9a0f05dc1f2">More...</a><br /></td></tr>
<tr class="separator:a72e94c5f4874f28cb98db9a0f05dc1f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43d508125ec917ddeb1ad246ff772105"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a43d508125ec917ddeb1ad246ff772105">Trim</a> (ON_COMPONENT_INDEX trim_index) const</td></tr>
<tr class="separator:a43d508125ec917ddeb1ad246ff772105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6179699e700f30ba2844329d85a21b7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac6179699e700f30ba2844329d85a21b7">TrimCurveUseCount</a> (int c2_index, int max_count=0) const</td></tr>
<tr class="memdesc:ac6179699e700f30ba2844329d85a21b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine how many brep trims reference m_C2[c2_index]. <a href="#ac6179699e700f30ba2844329d85a21b7">More...</a><br /></td></tr>
<tr class="separator:ac6179699e700f30ba2844329d85a21b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a035482a41183269636ef3437a4899394"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a4e2b20d9b31e02383f6cb3c36670d833">ON_BrepTrim::TYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a035482a41183269636ef3437a4899394">TrimType</a> (const <a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;trim, bool bLazy=true) const</td></tr>
<tr class="memdesc:a035482a41183269636ef3437a4899394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the type (singular, mated, boundary, etc.) of an <a class="el" href="../../d3/dac/class_o_n___brep_trim.html" title="Brep trim information is stored in ON_BrepTrim classes. ON_Brep.m_T[] is an array of all the trim in ...">ON_BrepTrim</a> object. <a href="#a035482a41183269636ef3437a4899394">More...</a><br /></td></tr>
<tr class="separator:a035482a41183269636ef3437a4899394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2c27966fc5d9ed8c65a93be16174072"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad2c27966fc5d9ed8c65a93be16174072">Vertex</a> (int vertex_index) const</td></tr>
<tr class="memdesc:ad2c27966fc5d9ed8c65a93be16174072"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get vertex from trim index or component index. <a href="#ad2c27966fc5d9ed8c65a93be16174072">More...</a><br /></td></tr>
<tr class="separator:ad2c27966fc5d9ed8c65a93be16174072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ff25599b1eb3529b372eada07754030"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3ff25599b1eb3529b372eada07754030">Vertex</a> (ON_COMPONENT_INDEX vertex_index) const</td></tr>
<tr class="separator:a3ff25599b1eb3529b372eada07754030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad0786db5f64f6c921b8ab4e595fc34a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aad0786db5f64f6c921b8ab4e595fc34a">Write</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;) const override</td></tr>
<tr class="memdesc:aad0786db5f64f6c921b8ab4e595fc34a"><td class="mdescLeft">&#160;</td><td class="mdescRight">virtual ON_Objet::Write() override <a href="#aad0786db5f64f6c921b8ab4e595fc34a">More...</a><br /></td></tr>
<tr class="separator:aad0786db5f64f6c921b8ab4e595fc34a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_o_n___geometry"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_o_n___geometry')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a></td></tr>
<tr class="memitem:a65226d33b1c8c1e8289e37073566c953 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a65226d33b1c8c1e8289e37073566c953">ON_Geometry</a> ()=default</td></tr>
<tr class="separator:a65226d33b1c8c1e8289e37073566c953 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71fbefc2a5f24da5f5fb4061d6849f17 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a71fbefc2a5f24da5f5fb4061d6849f17">ON_Geometry</a> (const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> &amp;)=default</td></tr>
<tr class="separator:a71fbefc2a5f24da5f5fb4061d6849f17 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f2ca447610c622f3530944c764a3a67 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a4f2ca447610c622f3530944c764a3a67">~ON_Geometry</a> ()=default</td></tr>
<tr class="separator:a4f2ca447610c622f3530944c764a3a67 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1acdd7f0c350da696b402a9ac5edce0 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#ab1acdd7f0c350da696b402a9ac5edce0">BoundingBox</a> () const</td></tr>
<tr class="memdesc:ab1acdd7f0c350da696b402a9ac5edce0 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get object's 3d axis aligned bounding box. <a href="../../df/de0/class_o_n___geometry.html#ab1acdd7f0c350da696b402a9ac5edce0">More...</a><br /></td></tr>
<tr class="separator:ab1acdd7f0c350da696b402a9ac5edce0 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20e5d1aeada9545127329a8699c702b9 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual ON_COMPONENT_INDEX&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a20e5d1aeada9545127329a8699c702b9">ComponentIndex</a> () const</td></tr>
<tr class="memdesc:a20e5d1aeada9545127329a8699c702b9 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this piece of geometry is a component in something larger, like an <a class="el" href="../../dd/de8/class_o_n___brep_edge.html" title="Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in...">ON_BrepEdge</a> in an <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>, then this function returns the component index. <a href="../../df/de0/class_o_n___geometry.html#a20e5d1aeada9545127329a8699c702b9">More...</a><br /></td></tr>
<tr class="separator:a20e5d1aeada9545127329a8699c702b9 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7259b0a7e7c663e55345788411352075 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a7259b0a7e7c663e55345788411352075">GetBoundingBox</a> (<a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;bbox, bool bGrowBox=false) const</td></tr>
<tr class="memdesc:a7259b0a7e7c663e55345788411352075 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get object's 3d axis aligned bounding box or the union of the input box with the object's bounding box. <a href="../../df/de0/class_o_n___geometry.html#a7259b0a7e7c663e55345788411352075">More...</a><br /></td></tr>
<tr class="separator:a7259b0a7e7c663e55345788411352075 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac123c564ea7a43c4406ac78954cf5266 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#ac123c564ea7a43c4406ac78954cf5266">GetBoundingBox</a> (<a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;bbox_min, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;bbox_max, bool bGrowBox=false) const</td></tr>
<tr class="memdesc:ac123c564ea7a43c4406ac78954cf5266 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get corners of object's 3d axis aligned bounding box or the union of the input box with the object's bounding box. <a href="../../df/de0/class_o_n___geometry.html#ac123c564ea7a43c4406ac78954cf5266">More...</a><br /></td></tr>
<tr class="separator:ac123c564ea7a43c4406ac78954cf5266 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af156cd098b9e68fab5f32e76b1e274e2 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#af156cd098b9e68fab5f32e76b1e274e2">IsDeformable</a> () const</td></tr>
<tr class="separator:af156cd098b9e68fab5f32e76b1e274e2 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf87e5ba0d9939dfabbb9f421b9d2b3b inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#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="memdesc:adf87e5ba0d9939dfabbb9f421b9d2b3b inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests an object to see if its data members are correctly initialized. <a href="../../df/de0/class_o_n___geometry.html#adf87e5ba0d9939dfabbb9f421b9d2b3b">More...</a><br /></td></tr>
<tr class="separator:adf87e5ba0d9939dfabbb9f421b9d2b3b inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3d5cb708edca66a4a6c1992299329a3 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#ac3d5cb708edca66a4a6c1992299329a3">MakeDeformable</a> ()</td></tr>
<tr class="memdesc:ac3d5cb708edca66a4a6c1992299329a3 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">If possible, converts the object into a form that can be accuratly modified with "squishy" transformations like projections, shears, an non-uniform scaling. <a href="../../df/de0/class_o_n___geometry.html#ac3d5cb708edca66a4a6c1992299329a3">More...</a><br /></td></tr>
<tr class="separator:ac3d5cb708edca66a4a6c1992299329a3 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a071e7617820ea38c40f4b3966e7daee0 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a071e7617820ea38c40f4b3966e7daee0">operator=</a> (const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a> &amp;)=default</td></tr>
<tr class="separator:a071e7617820ea38c40f4b3966e7daee0 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c8306ab6d43886453a056160429bc0a inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a3c8306ab6d43886453a056160429bc0a">Rotate</a> (double sin_angle, double cos_angle, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;rotation_axis, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;rotation_center)</td></tr>
<tr class="memdesc:a3c8306ab6d43886453a056160429bc0a inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule). <a href="../../df/de0/class_o_n___geometry.html#a3c8306ab6d43886453a056160429bc0a">More...</a><br /></td></tr>
<tr class="separator:a3c8306ab6d43886453a056160429bc0a inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af49629d8d427ee579d9b28c1e25818e0 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#af49629d8d427ee579d9b28c1e25818e0">Rotate</a> (double rotation_angle, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;rotation_axis, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;rotation_center)</td></tr>
<tr class="memdesc:af49629d8d427ee579d9b28c1e25818e0 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule). <a href="../../df/de0/class_o_n___geometry.html#af49629d8d427ee579d9b28c1e25818e0">More...</a><br /></td></tr>
<tr class="separator:af49629d8d427ee579d9b28c1e25818e0 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b847d6dcda412468ab59f06328b2619 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a1b847d6dcda412468ab59f06328b2619">Scale</a> (double scale_factor)</td></tr>
<tr class="memdesc:a1b847d6dcda412468ab59f06328b2619 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scales the object by the specified facotor. The scale is centered at the origin. <a href="../../df/de0/class_o_n___geometry.html#a1b847d6dcda412468ab59f06328b2619">More...</a><br /></td></tr>
<tr class="separator:a1b847d6dcda412468ab59f06328b2619 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b47e669fde50b5223a8017863598e89 inherit pub_methods_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a3b47e669fde50b5223a8017863598e89">Translate</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;translation_vector)</td></tr>
<tr class="memdesc:a3b47e669fde50b5223a8017863598e89 inherit pub_methods_class_o_n___geometry"><td class="mdescLeft">&#160;</td><td class="mdescRight">Translates the object along the specified vector. <a href="../../df/de0/class_o_n___geometry.html#a3b47e669fde50b5223a8017863598e89">More...</a><br /></td></tr>
<tr class="separator:a3b47e669fde50b5223a8017863598e89 inherit pub_methods_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_o_n___object"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_o_n___object')"><img src="../../closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a></td></tr>
<tr class="memitem:af580c6199f4469c49a4e09a117626c10 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#af580c6199f4469c49a4e09a117626c10">ON_Object</a> () ON_NOEXCEPT</td></tr>
<tr class="separator:af580c6199f4469c49a4e09a117626c10 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a274166b34d06fc07a85997fd01b2dab1 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a274166b34d06fc07a85997fd01b2dab1">ON_Object</a> (const <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;)</td></tr>
<tr class="separator:a274166b34d06fc07a85997fd01b2dab1 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad940aab7d51005c8732d76d1b188e332 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ad940aab7d51005c8732d76d1b188e332">~ON_Object</a> ()</td></tr>
<tr class="separator:ad940aab7d51005c8732d76d1b188e332 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5432b341051664c185b10712a6e5b79 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ad5432b341051664c185b10712a6e5b79">AttachUserData</a> (class <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> *pUserData)</td></tr>
<tr class="memdesc:ad5432b341051664c185b10712a6e5b79 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach user data to an object. <a href="../../d9/d7b/class_o_n___object.html#ad5432b341051664c185b10712a6e5b79">More...</a><br /></td></tr>
<tr class="separator:ad5432b341051664c185b10712a6e5b79 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27893ff72ca7abbe985f8b5f4ccd900e inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a27893ff72ca7abbe985f8b5f4ccd900e">ClearAllComponentStates</a> () const</td></tr>
<tr class="memdesc:a27893ff72ca7abbe985f8b5f4ccd900e inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set all active level component states to <a class="el" href="../../d9/d12/class_o_n___component_status.html#ae267cd5d4088c8a033fa348d30227223">ON_ComponentStatus::NoneSet</a>. <a href="../../d9/d7b/class_o_n___object.html#a27893ff72ca7abbe985f8b5f4ccd900e">More...</a><br /></td></tr>
<tr class="separator:a27893ff72ca7abbe985f8b5f4ccd900e inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad044157e5c1efde9fce1c6ccf6e81ff3 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ad044157e5c1efde9fce1c6ccf6e81ff3">CopyUserData</a> (const <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;source_object, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> source_userdata_item_id, <a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c">ON_Object::UserDataConflictResolution</a> userdata_conflict_resolution)</td></tr>
<tr class="memdesc:ad044157e5c1efde9fce1c6ccf6e81ff3 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user tool that copies user data items with positive values of <a class="el" href="../../d5/d55/class_o_n___user_data.html#ac025400e9bff35c899ed85ba1b0a52e4">ON_UserData.m_userdata_copycount</a> from source_object to "this. <a href="../../d9/d7b/class_o_n___object.html#ad044157e5c1efde9fce1c6ccf6e81ff3">More...</a><br /></td></tr>
<tr class="separator:ad044157e5c1efde9fce1c6ccf6e81ff3 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58958333257eba5575a6a1b09c366c1b inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a58958333257eba5575a6a1b09c366c1b">CopyUserData</a> (const <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;source_object)</td></tr>
<tr class="memdesc:a58958333257eba5575a6a1b09c366c1b inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls CopyUserData(source_object,ON_Object::UserDataConflictResolution::source_object). <a href="../../d9/d7b/class_o_n___object.html#a58958333257eba5575a6a1b09c366c1b">More...</a><br /></td></tr>
<tr class="separator:a58958333257eba5575a6a1b09c366c1b inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa67be7d8cc76ec82ae22a30093ecf98f inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#aa67be7d8cc76ec82ae22a30093ecf98f">DeleteComponents</a> (const ON_COMPONENT_INDEX *ci_list, size_t ci_count)</td></tr>
<tr class="memdesc:aa67be7d8cc76ec82ae22a30093ecf98f inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the portions of the object identified in ci_list[]. <a href="../../d9/d7b/class_o_n___object.html#aa67be7d8cc76ec82ae22a30093ecf98f">More...</a><br /></td></tr>
<tr class="separator:aa67be7d8cc76ec82ae22a30093ecf98f inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dbb0eff3b2287152b40991b3afca9ee inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a1dbb0eff3b2287152b40991b3afca9ee">DetachUserData</a> (class <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> *pUserData)</td></tr>
<tr class="memdesc:a1dbb0eff3b2287152b40991b3afca9ee inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove user data from an object. <a href="../../d9/d7b/class_o_n___object.html#a1dbb0eff3b2287152b40991b3afca9ee">More...</a><br /></td></tr>
<tr class="separator:a1dbb0eff3b2287152b40991b3afca9ee inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad265ca0da2d751edaa9d2b5ab2540c6a inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ad265ca0da2d751edaa9d2b5ab2540c6a">EmergencyDestroy</a> ()</td></tr>
<tr class="memdesc:ad265ca0da2d751edaa9d2b5ab2540c6a inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets m_user_data_list = 0. <a href="../../d9/d7b/class_o_n___object.html#ad265ca0da2d751edaa9d2b5ab2540c6a">More...</a><br /></td></tr>
<tr class="separator:ad265ca0da2d751edaa9d2b5ab2540c6a inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb43bb324c44740c4bc2932e2f95c835 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">class <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#adb43bb324c44740c4bc2932e2f95c835">FirstUserData</a> () const</td></tr>
<tr class="memdesc:adb43bb324c44740c4bc2932e2f95c835 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">User data is stored as a linked list of <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> classes. FirstUserData gets the first item in the linked list. This is the most recent item attached using <a class="el" href="../../d9/d7b/class_o_n___object.html#ad5432b341051664c185b10712a6e5b79" title="Attach user data to an object. ">AttachUserData()</a>. Remark: To iterate through all the user data on an object, call <a class="el" href="../../d9/d7b/class_o_n___object.html#adb43bb324c44740c4bc2932e2f95c835" title="User data is stored as a linked list of ON_UserData classes. FirstUserData gets the first item in the...">FirstUserData()</a> and then use <a class="el" href="../../d5/d55/class_o_n___user_data.html#a5e5a0d01e000319e0b37b340752613d8">ON_UserData::Next()</a> to traverse the list. <a href="../../d9/d7b/class_o_n___object.html#adb43bb324c44740c4bc2932e2f95c835">More...</a><br /></td></tr>
<tr class="separator:adb43bb324c44740c4bc2932e2f95c835 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f8d609e22008680581c6ca72ac47df inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">class <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a29f8d609e22008680581c6ca72ac47df">GetUserData</a> (const <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> &amp;userdata_uuid) const</td></tr>
<tr class="memdesc:a29f8d609e22008680581c6ca72ac47df inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to user data. <a href="../../d9/d7b/class_o_n___object.html#a29f8d609e22008680581c6ca72ac47df">More...</a><br /></td></tr>
<tr class="separator:a29f8d609e22008680581c6ca72ac47df inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab40b5e89b4766299e415593b31a3849c inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ab40b5e89b4766299e415593b31a3849c">GetUserString</a> (const wchar_t *key, <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &amp;string_value) const</td></tr>
<tr class="memdesc:ab40b5e89b4766299e415593b31a3849c inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get user string from the object. <a href="../../d9/d7b/class_o_n___object.html#ab40b5e89b4766299e415593b31a3849c">More...</a><br /></td></tr>
<tr class="separator:ab40b5e89b4766299e415593b31a3849c inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac285fba1506b2b9b821e3655582939c4 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ac285fba1506b2b9b821e3655582939c4">GetUserStringKeys</a> (<a class="el" href="../../dd/d40/class_o_n___class_array.html">ON_ClassArray</a>&lt; <a class="el" href="../../d1/d11/class_o_n__w_string.html">ON_wString</a> &gt; &amp;user_string_keys) const</td></tr>
<tr class="memdesc:ac285fba1506b2b9b821e3655582939c4 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of all user string keys on the object. <a href="../../d9/d7b/class_o_n___object.html#ac285fba1506b2b9b821e3655582939c4">More...</a><br /></td></tr>
<tr class="separator:ac285fba1506b2b9b821e3655582939c4 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a004ab49490f69fcdc7681919c3837a33 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a004ab49490f69fcdc7681919c3837a33">GetUserStrings</a> (<a class="el" href="../../dd/d40/class_o_n___class_array.html">ON_ClassArray</a>&lt; <a class="el" href="../../d0/d82/class_o_n___user_string.html">ON_UserString</a> &gt; &amp;user_strings) const</td></tr>
<tr class="memdesc:a004ab49490f69fcdc7681919c3837a33 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of all user strings on the object. <a href="../../d9/d7b/class_o_n___object.html#a004ab49490f69fcdc7681919c3837a33">More...</a><br /></td></tr>
<tr class="separator:a004ab49490f69fcdc7681919c3837a33 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5367058a90545e81cd79b78103175d inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#afe5367058a90545e81cd79b78103175d">IsKindOf</a> (const <a class="el" href="../../d3/d3c/class_o_n___class_id.html">ON_ClassId</a> *pClassId) const</td></tr>
<tr class="memdesc:afe5367058a90545e81cd79b78103175d inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low level tool to test if an object is derived from a specified class. <a href="../../d9/d7b/class_o_n___object.html#afe5367058a90545e81cd79b78103175d">More...</a><br /></td></tr>
<tr class="separator:afe5367058a90545e81cd79b78103175d inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21c508d3b53458e252adbcd29e62ed09 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a21c508d3b53458e252adbcd29e62ed09">ModelObjectId</a> () const</td></tr>
<tr class="memdesc:a21c508d3b53458e252adbcd29e62ed09 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">All objects in an opennurbs model have an id ( ON_Layer.m_layer_id, ON_Font.m_font_id, ON_Material.m_material_id, <a class="el" href="../../d0/d52/class_o_n__3dm_object_attributes.html#a806a85052b002c45021650e3b97e2018">ON_3dmObjectAttributes.m_uuid</a> ). <a href="../../d9/d7b/class_o_n___object.html#a21c508d3b53458e252adbcd29e62ed09">More...</a><br /></td></tr>
<tr class="separator:a21c508d3b53458e252adbcd29e62ed09 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78b4ecb2eb36641e1ee6b4fc6129606e inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a78b4ecb2eb36641e1ee6b4fc6129606e">MoveUserData</a> (<a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;source_object, <a class="el" href="../../d8/db4/struct_o_n___u_u_i_d__struct.html">ON_UUID</a> source_userdata_item_id, <a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c">ON_Object::UserDataConflictResolution</a> userdata_conflict_resolution, bool bDeleteAllSourceItems)</td></tr>
<tr class="memdesc:a78b4ecb2eb36641e1ee6b4fc6129606e inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Expert user tool that moves user data items from source_object to "this. <a href="../../d9/d7b/class_o_n___object.html#a78b4ecb2eb36641e1ee6b4fc6129606e">More...</a><br /></td></tr>
<tr class="separator:a78b4ecb2eb36641e1ee6b4fc6129606e inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54a891ae2cb2a25008a7a39cb19dfcea inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a54a891ae2cb2a25008a7a39cb19dfcea">MoveUserData</a> (<a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;source_object)</td></tr>
<tr class="memdesc:a54a891ae2cb2a25008a7a39cb19dfcea inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls MoveUserData(source_object,ON_Object::UserDataConflictResolution::source_object,true). <a href="../../d9/d7b/class_o_n___object.html#a54a891ae2cb2a25008a7a39cb19dfcea">More...</a><br /></td></tr>
<tr class="separator:a54a891ae2cb2a25008a7a39cb19dfcea inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba6166c9aecef42639e684a2a3fda223 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#aba6166c9aecef42639e684a2a3fda223">operator=</a> (const <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> &amp;)</td></tr>
<tr class="separator:aba6166c9aecef42639e684a2a3fda223 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88b61cafc0024ecb7a4bd22da2718680 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a88b61cafc0024ecb7a4bd22da2718680">PurgeUserData</a> ()</td></tr>
<tr class="memdesc:a88b61cafc0024ecb7a4bd22da2718680 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../d9/d7b/class_o_n___object.html#a88b61cafc0024ecb7a4bd22da2718680" title="PurgeUserData() removes all user data from object. ">PurgeUserData()</a> removes all user data from object. <a href="../../d9/d7b/class_o_n___object.html#a88b61cafc0024ecb7a4bd22da2718680">More...</a><br /></td></tr>
<tr class="separator:a88b61cafc0024ecb7a4bd22da2718680 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a074dc9e9b919853919564793c37f5143 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a074dc9e9b919853919564793c37f5143">SetUserString</a> (const wchar_t *key, const wchar_t *string_value)</td></tr>
<tr class="memdesc:a074dc9e9b919853919564793c37f5143 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach a user string to the object. This information will perisist through copy construction, operator=, and file IO. <a href="../../d9/d7b/class_o_n___object.html#a074dc9e9b919853919564793c37f5143">More...</a><br /></td></tr>
<tr class="separator:a074dc9e9b919853919564793c37f5143 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7234af898c307a2c2f7931db7e627592 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a7234af898c307a2c2f7931db7e627592">SetUserStrings</a> (int count, const <a class="el" href="../../d0/d82/class_o_n___user_string.html">ON_UserString</a> *user_strings, bool bReplace)</td></tr>
<tr class="memdesc:a7234af898c307a2c2f7931db7e627592 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append entries to the user string list <a href="../../d9/d7b/class_o_n___object.html#a7234af898c307a2c2f7931db7e627592">More...</a><br /></td></tr>
<tr class="separator:a7234af898c307a2c2f7931db7e627592 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a881bd2f0d8515adba1c42c578bcb7052 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a881bd2f0d8515adba1c42c578bcb7052">TransformUserData</a> (const class <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;xform)</td></tr>
<tr class="memdesc:a881bd2f0d8515adba1c42c578bcb7052 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Objects derived from <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a> must call <a class="el" href="../../d9/d7b/class_o_n___object.html#a881bd2f0d8515adba1c42c578bcb7052" title="Objects derived from ON_Geometry must call TransformUserData() in their Transform() member function...">TransformUserData()</a> in their Transform() member function. <a href="../../d9/d7b/class_o_n___object.html#a881bd2f0d8515adba1c42c578bcb7052">More...</a><br /></td></tr>
<tr class="separator:a881bd2f0d8515adba1c42c578bcb7052 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82188bbf97bbd149ac6fcb7cd8e989d1 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a82188bbf97bbd149ac6fcb7cd8e989d1">UpdateReferencedComponents</a> (const class <a class="el" href="../../d8/d72/class_o_n___component_manifest.html">ON_ComponentManifest</a> &amp;source_manifest, const class <a class="el" href="../../d8/d72/class_o_n___component_manifest.html">ON_ComponentManifest</a> &amp;destination_manifest, const class <a class="el" href="../../d9/df6/class_o_n___manifest_map.html">ON_ManifestMap</a> &amp;manifest_map)</td></tr>
<tr class="memdesc:a82188bbf97bbd149ac6fcb7cd8e989d1 inherit pub_methods_class_o_n___object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the destination_manifest to update references to other components. This is typically done when a component's references came from a "source" context and are being updated to the "destination" context. For example, inserting one model into another when index, id, and name conflicts need to be resolved at the time of insertion. <a href="../../d9/d7b/class_o_n___object.html#a82188bbf97bbd149ac6fcb7cd8e989d1">More...</a><br /></td></tr>
<tr class="separator:a82188bbf97bbd149ac6fcb7cd8e989d1 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab648403ebf4592831809710f378e9ac2 inherit pub_methods_class_o_n___object"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#ab648403ebf4592831809710f378e9ac2">UserStringCount</a> () const</td></tr>
<tr class="separator:ab648403ebf4592831809710f378e9ac2 inherit pub_methods_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:acced23d3a7d4bc67e1f9c49161e821ad"><td class="memItemLeft" align="right" valign="top">static <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="../../d9/d96/class_o_n___brep.html#acced23d3a7d4bc67e1f9c49161e821ad">New</a> ()</td></tr>
<tr class="memdesc:acced23d3a7d4bc67e1f9c49161e821ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use <a class="el" href="../../d9/d96/class_o_n___brep.html#acced23d3a7d4bc67e1f9c49161e821ad" title="Use ON_Brep::New() instead of new ON_Brep() when writing Rhino plug-ins (or when openNURBS is used as...">ON_Brep::New()</a> instead of new <a class="el" href="../../d9/d96/class_o_n___brep.html#a10524dbce7f6ead309590b5c4689d273" title="Construction. ">ON_Brep()</a> when writing Rhino plug-ins (or when openNURBS is used as a Microsoft DLL and you need to create a new <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> in a different .EXE or .DLL). <a href="#acced23d3a7d4bc67e1f9c49161e821ad">More...</a><br /></td></tr>
<tr class="separator:acced23d3a7d4bc67e1f9c49161e821ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3069c70c366e55909d2912633e32b72"><td class="memItemLeft" align="right" valign="top">static <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="../../d9/d96/class_o_n___brep.html#af3069c70c366e55909d2912633e32b72">New</a> (const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;)</td></tr>
<tr class="memdesc:af3069c70c366e55909d2912633e32b72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use <a class="el" href="../../d9/d96/class_o_n___brep.html#af3069c70c366e55909d2912633e32b72" title="Use ON_Brep::New(const ON_Brep&amp; src) instead of new ON_Brep(const ON_Brep&amp; src). ">ON_Brep::New(const ON_Brep&amp; src)</a> instead of new <a class="el" href="../../d9/d96/class_o_n___brep.html#ab5e1c9c771493c22c37ac999ac33c97b">ON_Brep(const ON_Brep&amp; src)</a>. <a href="#af3069c70c366e55909d2912633e32b72">More...</a><br /></td></tr>
<tr class="separator:af3069c70c366e55909d2912633e32b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:abe5c84e87a7fd1a21557bd3fc97fdfa3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d5/d38/union_o_n___u.html">ON_U</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#abe5c84e87a7fd1a21557bd3fc97fdfa3">m_brep_user</a></td></tr>
<tr class="separator:abe5c84e87a7fd1a21557bd3fc97fdfa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5ea3e0ae302c42760e9c75cd5363e2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/d06/class_o_n___curve_array.html">ON_CurveArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad5ea3e0ae302c42760e9c75cd5363e2d">m_C2</a></td></tr>
<tr class="separator:ad5ea3e0ae302c42760e9c75cd5363e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f2acd29f898501e1944165ad9fea18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/d06/class_o_n___curve_array.html">ON_CurveArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac5f2acd29f898501e1944165ad9fea18">m_C3</a></td></tr>
<tr class="separator:ac5f2acd29f898501e1944165ad9fea18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cab74697be6282befc920ab0db73c63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/dce/class_o_n___brep_edge_array.html">ON_BrepEdgeArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0cab74697be6282befc920ab0db73c63">m_E</a></td></tr>
<tr class="separator:a0cab74697be6282befc920ab0db73c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15f34ef42b695422f04791047e63f0f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/dfc/class_o_n___brep_face_array.html">ON_BrepFaceArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a15f34ef42b695422f04791047e63f0f0">m_F</a></td></tr>
<tr class="separator:a15f34ef42b695422f04791047e63f0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0e15de3de0de8d4887e3c6fcb866aea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/dce/class_o_n___brep_loop_array.html">ON_BrepLoopArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae0e15de3de0de8d4887e3c6fcb866aea">m_L</a></td></tr>
<tr class="separator:ae0e15de3de0de8d4887e3c6fcb866aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cce744a01951ed60a0e64e337b7220f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/dc3/class_o_n___surface_array.html">ON_SurfaceArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3cce744a01951ed60a0e64e337b7220f">m_S</a></td></tr>
<tr class="separator:a3cce744a01951ed60a0e64e337b7220f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a162b6c45769458bd7f675069731e3b56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/df4/class_o_n___brep_trim_array.html">ON_BrepTrimArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a162b6c45769458bd7f675069731e3b56">m_T</a></td></tr>
<tr class="separator:a162b6c45769458bd7f675069731e3b56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8352d430cecfd2db707728dd0d81eaac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d44/class_o_n___brep_vertex_array.html">ON_BrepVertexArray</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a8352d430cecfd2db707728dd0d81eaac">m_V</a></td></tr>
<tr class="separator:a8352d430cecfd2db707728dd0d81eaac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a501086673ba6f67c8de7c5f42084b1ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a501086673ba6f67c8de7c5f42084b1ba">ClearEdgeVertices</a> ()</td></tr>
<tr class="separator:a501086673ba6f67c8de7c5f42084b1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a709088c64f158587dbcb0529d6881be2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a709088c64f158587dbcb0529d6881be2">ClearTrimVertices</a> ()</td></tr>
<tr class="separator:a709088c64f158587dbcb0529d6881be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4424c650cae0bc0cbf654b6173d798f2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a4424c650cae0bc0cbf654b6173d798f2">HopAcrossEdge</a> (int &amp;, int &amp;) const</td></tr>
<tr class="separator:a4424c650cae0bc0cbf654b6173d798f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6726b50636fd751aad8bd6ba3f95ec7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a6726b50636fd751aad8bd6ba3f95ec7b">Initialize</a> ()</td></tr>
<tr class="separator:a6726b50636fd751aad8bd6ba3f95ec7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ce20baa6d342b0c05285fb66f2305a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a5ce20baa6d342b0c05285fb66f2305a1">Internal_AttachV5RegionTopologyAsUserData</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;archive) const</td></tr>
<tr class="separator:a5ce20baa6d342b0c05285fb66f2305a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad868e375850c90c68027aa3a5eab7e94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad868e375850c90c68027aa3a5eab7e94">IsValidEdge</a> (int edge_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:ad868e375850c90c68027aa3a5eab7e94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03c31b8c5f1fe1f6f547d26a449ebe70"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a03c31b8c5f1fe1f6f547d26a449ebe70">IsValidEdgeGeometry</a> (int edge_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a03c31b8c5f1fe1f6f547d26a449ebe70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38ef9b438b14d6dfeb5dfa6e0ed0d521"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a38ef9b438b14d6dfeb5dfa6e0ed0d521">IsValidEdgeTolerancesAndFlags</a> (int edge_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a38ef9b438b14d6dfeb5dfa6e0ed0d521"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad44c5b23463283938e3fc20ad5b43035"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad44c5b23463283938e3fc20ad5b43035">IsValidEdgeTopology</a> (int edge_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:ad44c5b23463283938e3fc20ad5b43035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41d12ae5793e86c595bc9378d1c4b365"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a41d12ae5793e86c595bc9378d1c4b365">IsValidFace</a> (int face_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a41d12ae5793e86c595bc9378d1c4b365"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e8d46beaace8e3961ca4a626677fbe4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a2e8d46beaace8e3961ca4a626677fbe4">IsValidFaceGeometry</a> (int face_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a2e8d46beaace8e3961ca4a626677fbe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6f751a1590e7649d39fd39366055a40"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae6f751a1590e7649d39fd39366055a40">IsValidFaceTolerancesAndFlags</a> (int face_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:ae6f751a1590e7649d39fd39366055a40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8613780573ab0a0406f88152a6a4911"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ab8613780573ab0a0406f88152a6a4911">IsValidFaceTopology</a> (int face_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:ab8613780573ab0a0406f88152a6a4911"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30dce521111ccf2e70362cc56adc48a1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a30dce521111ccf2e70362cc56adc48a1">IsValidLoop</a> (int loop_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a30dce521111ccf2e70362cc56adc48a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a956d9483c0e8de57c04e2dfae3e2a556"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a956d9483c0e8de57c04e2dfae3e2a556">IsValidLoopGeometry</a> (int loop_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a956d9483c0e8de57c04e2dfae3e2a556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab261766a6a5cdd500584a25c88a3afb4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ab261766a6a5cdd500584a25c88a3afb4">IsValidLoopTolerancesAndFlags</a> (int loop_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:ab261766a6a5cdd500584a25c88a3afb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11425aacedabffbd8393331db837c553"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a11425aacedabffbd8393331db837c553">IsValidLoopTopology</a> (int loop_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a11425aacedabffbd8393331db837c553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7bf901fffce01b077fc1bc5978990c9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae7bf901fffce01b077fc1bc5978990c9">IsValidTrim</a> (int trim_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="memdesc:ae7bf901fffce01b077fc1bc5978990c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">helpers for validation checking <a href="#ae7bf901fffce01b077fc1bc5978990c9">More...</a><br /></td></tr>
<tr class="separator:ae7bf901fffce01b077fc1bc5978990c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0da9cb5c0681764c1c9d514dcacd34e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ac0da9cb5c0681764c1c9d514dcacd34e">IsValidTrimGeometry</a> (int trim_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:ac0da9cb5c0681764c1c9d514dcacd34e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bf677526cb4d1197289fe8aef9c808c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7bf677526cb4d1197289fe8aef9c808c">IsValidTrimTolerancesAndFlags</a> (int trim_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a7bf677526cb4d1197289fe8aef9c808c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9d2d7c604177b0e964ae0843ca32d5e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ab9d2d7c604177b0e964ae0843ca32d5e">IsValidTrimTopology</a> (int trim_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:ab9d2d7c604177b0e964ae0843ca32d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a829e4c62119cebd063ad4fd9969f84b5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a829e4c62119cebd063ad4fd9969f84b5">IsValidVertex</a> (int vertex_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a829e4c62119cebd063ad4fd9969f84b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa288fbd9b874c142760fcf047b5f8b4d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aa288fbd9b874c142760fcf047b5f8b4d">IsValidVertexGeometry</a> (int vertex_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:aa288fbd9b874c142760fcf047b5f8b4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bfb94a7ece7741b23379b7a17ca1d12"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0bfb94a7ece7741b23379b7a17ca1d12">IsValidVertexTolerancesAndFlags</a> (int vertex_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:a0bfb94a7ece7741b23379b7a17ca1d12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad1476770db41b0b621b4f94949b0b30"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aad1476770db41b0b621b4f94949b0b30">IsValidVertexTopology</a> (int vertex_index, <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *text_log) const</td></tr>
<tr class="separator:aad1476770db41b0b621b4f94949b0b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fe308dc2e1b01f53a8aea677c0bb9e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a8fe308dc2e1b01f53a8aea677c0bb9e2">Read100_BrepCurve</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;) const</td></tr>
<tr class="separator:a8fe308dc2e1b01f53a8aea677c0bb9e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7da9d42b65c86d73775c2f7c9367a470"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a7da9d42b65c86d73775c2f7c9367a470">Read100_BrepSurface</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;) const</td></tr>
<tr class="separator:a7da9d42b65c86d73775c2f7c9367a470"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa852796920df28c2009872d0bf652626"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aa852796920df28c2009872d0bf652626">ReadOld100</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;)</td></tr>
<tr class="memdesc:aa852796920df28c2009872d0bf652626"><td class="mdescLeft">&#160;</td><td class="mdescRight">read helpers to support various versions <a href="#aa852796920df28c2009872d0bf652626">More...</a><br /></td></tr>
<tr class="separator:aa852796920df28c2009872d0bf652626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bfe2c34f35e633317f9dd74d4d8020a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a9bfe2c34f35e633317f9dd74d4d8020a">ReadOld101</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;)</td></tr>
<tr class="separator:a9bfe2c34f35e633317f9dd74d4d8020a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0eb2b53d569e0a299c7c10bbcfb32c7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae0eb2b53d569e0a299c7c10bbcfb32c7">ReadOld200</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;, int)</td></tr>
<tr class="separator:ae0eb2b53d569e0a299c7c10bbcfb32c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc75fabd794c749078e8a300ea805860"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#adc75fabd794c749078e8a300ea805860">ReadV1_LegacyFaceStuff</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;)</td></tr>
<tr class="separator:adc75fabd794c749078e8a300ea805860"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab935cfd5ad57d80a8e21a4642d38fed5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ab935cfd5ad57d80a8e21a4642d38fed5">ReadV1_LegacyLoop</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;)</td></tr>
<tr class="separator:ab935cfd5ad57d80a8e21a4642d38fed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1302dcd5e457c6afaed7fbb2bfd21732"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a1302dcd5e457c6afaed7fbb2bfd21732">ReadV1_LegacyLoopStuff</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;)</td></tr>
<tr class="separator:a1302dcd5e457c6afaed7fbb2bfd21732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a696e3a496f24b14a896b8cd33f37701f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a696e3a496f24b14a896b8cd33f37701f">ReadV1_LegacyShellStuff</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;)</td></tr>
<tr class="separator:a696e3a496f24b14a896b8cd33f37701f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c2d1f286ad9f9b146b35e13a5400bfd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a0c2d1f286ad9f9b146b35e13a5400bfd">ReadV1_LegacyTrim</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;)</td></tr>
<tr class="separator:a0c2d1f286ad9f9b146b35e13a5400bfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14249ebb506b138cbe8625172e5a17dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a14249ebb506b138cbe8625172e5a17dd">ReadV1_LegacyTrimStuff</a> (<a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;, <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;)</td></tr>
<tr class="memdesc:a14249ebb506b138cbe8625172e5a17dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">helpers for reading legacy v1 trimmed surfaces and breps <a href="#a14249ebb506b138cbe8625172e5a17dd">More...</a><br /></td></tr>
<tr class="separator:a14249ebb506b138cbe8625172e5a17dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a295d6c5f2d32b9912fadb7cf4343769e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a295d6c5f2d32b9912fadb7cf4343769e">SetEdgeVertex</a> (const int, const int, const int)</td></tr>
<tr class="memdesc:a295d6c5f2d32b9912fadb7cf4343769e"><td class="mdescLeft">&#160;</td><td class="mdescRight">helpers to create and set vertices <a href="#a295d6c5f2d32b9912fadb7cf4343769e">More...</a><br /></td></tr>
<tr class="separator:a295d6c5f2d32b9912fadb7cf4343769e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a684e4031ac028e756faf9d11a68e15fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a684e4031ac028e756faf9d11a68e15fd">SetLoopVertices</a> (const int)</td></tr>
<tr class="separator:a684e4031ac028e756faf9d11a68e15fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad62696b64299b23e9bc7280d2b2902c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad62696b64299b23e9bc7280d2b2902c6">SetTolsFromLegacyValues</a> ()</td></tr>
<tr class="separator:ad62696b64299b23e9bc7280d2b2902c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7bde522dd78d8417ecaf3e4cc85c670"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad7bde522dd78d8417ecaf3e4cc85c670">SetTrimIsoFlag</a> (int, double[6])</td></tr>
<tr class="memdesc:ad7bde522dd78d8417ecaf3e4cc85c670"><td class="mdescLeft">&#160;</td><td class="mdescRight">helpers to set <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">ON_BrepTrim::m_iso</a> flag <a href="#ad7bde522dd78d8417ecaf3e4cc85c670">More...</a><br /></td></tr>
<tr class="separator:ad7bde522dd78d8417ecaf3e4cc85c670"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a367513113fc406d51c0be97c2f9d10ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a367513113fc406d51c0be97c2f9d10ef">SetTrimIsoFlag</a> (int)</td></tr>
<tr class="separator:a367513113fc406d51c0be97c2f9d10ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38351452b8317bc672b7203ab12585e9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a38351452b8317bc672b7203ab12585e9">SetTrimStartVertex</a> (const int, const int)</td></tr>
<tr class="separator:a38351452b8317bc672b7203ab12585e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c45bf93cacd9edbb4a11ca6c3806422"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a4c45bf93cacd9edbb4a11ca6c3806422">SwapLoopParameters</a> (int)</td></tr>
<tr class="memdesc:a4c45bf93cacd9edbb4a11ca6c3806422"><td class="mdescLeft">&#160;</td><td class="mdescRight">helpers for SwapFaceParameters() <a href="#a4c45bf93cacd9edbb4a11ca6c3806422">More...</a><br /></td></tr>
<tr class="separator:a4c45bf93cacd9edbb4a11ca6c3806422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01677cd3759b72f5a293245ce9218479"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a01677cd3759b72f5a293245ce9218479">SwapTrimParameters</a> (int)</td></tr>
<tr class="separator:a01677cd3759b72f5a293245ce9218479"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a03c357472b723e926a93b12f577e68ff"><td class="memItemLeft" align="right" valign="top">static class <a class="el" href="../../da/dfb/class_o_n___brep_region_topology.html">ON_BrepRegionTopology</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a03c357472b723e926a93b12f577e68ff">Internal_RegionTopologyPointer</a> (const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> *brep, bool bValidateFaceCount)</td></tr>
<tr class="separator:a03c357472b723e926a93b12f577e68ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ae0e14779704c652b1b25f4a9ccdf3899"><td class="memItemLeft" align="right" valign="top"><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/d96/class_o_n___brep.html#ae0e14779704c652b1b25f4a9ccdf3899">m_aggregate_status</a></td></tr>
<tr class="separator:ae0e14779704c652b1b25f4a9ccdf3899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b330660a2b7629a1c9ccb9a9c4a5725"><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="../../d9/d96/class_o_n___brep.html#a4b330660a2b7629a1c9ccb9a9c4a5725">m_bbox</a></td></tr>
<tr class="separator:a4b330660a2b7629a1c9ccb9a9c4a5725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05b4ec696bbaa1ed46e52c696b014b32"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a05b4ec696bbaa1ed46e52c696b014b32">m_is_solid</a> = 0</td></tr>
<tr class="separator:a05b4ec696bbaa1ed46e52c696b014b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3830a52d2a4ad62c8c03f624a2c56110"><td class="memItemLeft" align="right" valign="top">class <a class="el" href="../../da/dfb/class_o_n___brep_region_topology.html">ON_BrepRegionTopology</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a3830a52d2a4ad62c8c03f624a2c56110">m_region_topology</a> = nullptr</td></tr>
<tr class="separator:a3830a52d2a4ad62c8c03f624a2c56110"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a48f1f980f282dcbde5797a186e5356a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a48f1f980f282dcbde5797a186e5356a0">ON_BinaryArchive::ReadV1_TCODE_LEGACY_FAC</a> (<a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> **, <a class="el" href="../../d0/d52/class_o_n__3dm_object_attributes.html">ON_3dmObjectAttributes</a> *)</td></tr>
<tr class="separator:a48f1f980f282dcbde5797a186e5356a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5263fa674b111ee8df40ed97834db604"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a5263fa674b111ee8df40ed97834db604">ON_BinaryArchive::ReadV1_TCODE_LEGACY_SHL</a> (<a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> **, <a class="el" href="../../d0/d52/class_o_n__3dm_object_attributes.html">ON_3dmObjectAttributes</a> *)</td></tr>
<tr class="separator:a5263fa674b111ee8df40ed97834db604"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00aa323a17399f864183ce8843b79e75"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#a00aa323a17399f864183ce8843b79e75">ON_BrepFace</a></td></tr>
<tr class="separator:a00aa323a17399f864183ce8843b79e75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa934a007795d44d74f841ba575dd52da"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#aa934a007795d44d74f841ba575dd52da">ON_BrepFaceSide</a></td></tr>
<tr class="separator:aa934a007795d44d74f841ba575dd52da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae25bc108b2f762f70aa0030d3ed91fc2"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ae25bc108b2f762f70aa0030d3ed91fc2">ON_BrepRegion</a></td></tr>
<tr class="separator:ae25bc108b2f762f70aa0030d3ed91fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad15be7a9fb0632a42c0330f7e69af7e4"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d96/class_o_n___brep.html#ad15be7a9fb0632a42c0330f7e69af7e4">ON_V5_BrepRegionTopologyUserData</a></td></tr>
<tr class="separator:ad15be7a9fb0632a42c0330f7e69af7e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_class_o_n___object"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_o_n___object')"><img src="../../closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a></td></tr>
<tr class="memitem:a7f520e987ffa14e71b06493340f9956c inherit pub_types_class_o_n___object"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c">UserDataConflictResolution</a> : unsigned char { <br />
&#160;&#160;<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956caba9e24ac13ffcde7d2f6b554a33df7cd">UserDataConflictResolution::destination_object</a> = 0,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956ca34f1a09f0cf6c7e702b6aad2260c6b0f">UserDataConflictResolution::source_object</a> = 1,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956cad741a50b9ec9ac0de6491a83bc5b166f">UserDataConflictResolution::source_copycount_gt</a> = 2,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956ca35055504b8fe7e98f97c2b2ea6168ad2">UserDataConflictResolution::source_copycount_ge</a> = 3,
<br />
&#160;&#160;<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956ca6c944380c6bd502741a041a82ad00a5a">UserDataConflictResolution::destination_copycount_gt</a> = 4,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956cadb77cee2050a09b500c679688e45a105">UserDataConflictResolution::destination_copycount_ge</a> = 5,
<a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956ca880ec7882afd9386e91140bf4f77e594">UserDataConflictResolution::delete_item</a> = 6
<br />
}<tr class="memdesc:a7f520e987ffa14e71b06493340f9956c"><td class="mdescLeft">&#160;</td><td class="mdescRight">When a userdata item is copied or moved from a source object to a destination object, the <a class="el" href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c" title="When a userdata item is copied or moved from a source object to a destination object, the ON_Object::UserDataConflictResolution enum values specify how conficts are resolved. Remark: A userdata item &quot;conflict&quot; occurs when both the destination and source object have a user data item with the same value of ON_UserData::m_userdata_uuid. ">ON_Object::UserDataConflictResolution</a> enum values specify how conficts are resolved. Remark: A userdata item "conflict" occurs when both the destination and source object have a user data item with the same value of <a class="el" href="../../d5/d55/class_o_n___user_data.html#a9bc044ba84a529fe2195d8f8a817fda2" title="This uuid is the value that must be passed to ON_Object::GetUserData() to retrieve this piece of user...">ON_UserData::m_userdata_uuid</a>. <a href="../../d9/d7b/class_o_n___object.html#a7f520e987ffa14e71b06493340f9956c">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a7f520e987ffa14e71b06493340f9956c inherit pub_types_class_o_n___object"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_class_o_n___geometry"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_class_o_n___geometry')"><img src="../../closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a></td></tr>
<tr class="memitem:a4d9849b197644c66831f3ed1b8738935 inherit pub_static_attribs_class_o_n___geometry"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/de0/class_o_n___geometry.html#a4d9849b197644c66831f3ed1b8738935">Unset</a></td></tr>
<tr class="separator:a4d9849b197644c66831f3ed1b8738935 inherit pub_static_attribs_class_o_n___geometry"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a10524dbce7f6ead309590b5c4689d273"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10524dbce7f6ead309590b5c4689d273">&#9670;&nbsp;</a></span>ON_Brep() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_Brep::ON_Brep </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construction. </p>
</div>
</div>
<a id="a9876bf5e07c176643ddcf6e300ed3410"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9876bf5e07c176643ddcf6e300ed3410">&#9670;&nbsp;</a></span>~ON_Brep()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_Brep::~ON_Brep </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab5e1c9c771493c22c37ac999ac33c97b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5e1c9c771493c22c37ac999ac33c97b">&#9670;&nbsp;</a></span>ON_Brep() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_Brep::ON_Brep </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a4b6c4f920a4aa0815294e1f2f6330065"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b6c4f920a4aa0815294e1f2f6330065">&#9670;&nbsp;</a></span>AddEdgeCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::AddEdgeCurve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6bca40652af99b3785b19f45dfd571db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bca40652af99b3785b19f45dfd571db">&#9670;&nbsp;</a></span>AddSurface()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::AddSurface </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> *&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="accfb7c51e416304a0cd505d465cfd797"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accfb7c51e416304a0cd505d465cfd797">&#9670;&nbsp;</a></span>AddTrimCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::AddTrimCurve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creation Interface. </p>
</div>
</div>
<a id="ae11df8a76b49c7f4c683ac9a2cddc34d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae11df8a76b49c7f4c683ac9a2cddc34d">&#9670;&nbsp;</a></span>AggregateComponentStatus()</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="../../d1/df0/class_o_n___aggregate_component_status.html">ON_AggregateComponentStatus</a> ON_Brep::AggregateComponentStatus </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a8a1cfab63437a2d03cc50fdc6734f2a5">ON_Object</a>.</p>
</div>
</div>
<a id="a23b5155fc8272e9f249e9bcaaf7ce9e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23b5155fc8272e9f249e9bcaaf7ce9e4">&#9670;&nbsp;</a></span>Append()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Append </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a71f7a351f9f44f7bbbff479fe8a49d68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71f7a351f9f44f7bbbff479fe8a49d68">&#9670;&nbsp;</a></span>BrepComponent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../df/de0/class_o_n___geometry.html">ON_Geometry</a>* ON_Brep::BrepComponent </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>ci</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a brep component from its index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">component_index</td><td>[in]</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A const pointer to the component. Do not delete the returned object. It points to an object managed by this brep. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a5a52be86be2f244d11579b492d5354ce" title="Get face from face index or component index. ">ON_Brep::Face</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a7ee943e39fa5b05b89a32e676a3e0726" title="Get edge from edge index or component index. ">ON_Brep::Edge</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a0c53147270e4dfcd7be7685a0c423bea" title="Get loop from loop index or component index. ">ON_Brep::Loop</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a72e94c5f4874f28cb98db9a0f05dc1f2" title="Get trim from trim index or component index. ">ON_Brep::Trim</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ad2c27966fc5d9ed8c65a93be16174072" title="Get vertex from trim index or component index. ">ON_Brep::Vertex</a></dd></dl>
</div>
</div>
<a id="aa9acb060ba0067db18caff5706253d0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9acb060ba0067db18caff5706253d0a">&#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"><a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* ON_Brep::BrepForm </td>
<td>(</td>
<td class="paramtype"><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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>If possible, <a class="el" href="../../d9/d96/class_o_n___brep.html#aa9acb060ba0067db18caff5706253d0a" title="If possible, BrepForm() creates a brep form of the ON_Geometry. ">BrepForm()</a> creates a brep form of the <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">brep</td><td>[in] if not nullptr, brep is used to store the brep form of the geometry. Result: If brep is not nullptr, then brep = this, otherwise a duplicate of this is returned.</td></tr>
</table>
</dd>
</dl>
<p>Override of virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23" title="If possible, BrepForm() creates a brep form of the ON_Geometry. ">ON_Geometry::BrepForm</a> </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#aeb8d6122b6285e4ab819fa50bd442c23">ON_Geometry</a>.</p>
</div>
</div>
<a id="a1330b05d11517c9e5e35d1f4b8d65650"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1330b05d11517c9e5e35d1f4b8d65650">&#9670;&nbsp;</a></span>ChangeVertex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ChangeVertex </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>old_vi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>new_vi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bClearTolerances</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user tool to move trims and edges from one vertex to another. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">old_vi</td><td>[in] index of old vertex</td></tr>
<tr><td class="paramname">new_vi</td><td>[in] index of new vertex</td></tr>
<tr><td class="paramname">bClearTolerances</td><td>[in] if true, then tolerances of edges and trims that are connected ot the old vertex are set to ON_UNSET_VALUE.</td></tr>
<tr><td class="paramname">vertex_index</td><td>[in] if &gt;= 0, this the edge is collapsed to this vertex. Otherwise a vertex is automatically selected or created.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
<p>After you finish cleaning up the brep, you need to call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">ON_Brep::Compact()</a> to remove unused edge, trim, and vertex information from the brep's m_E[], m_V[], m_T[], m_C2[], and m_C3[] arrays. </p>
</div>
</div>
<a id="a8c88202d3b573841f5236a5eefcab0be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c88202d3b573841f5236a5eefcab0be">&#9670;&nbsp;</a></span>Clear_edge_user_i() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Clear_edge_user_i </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a86a934cef03382109c48e88c3394bc8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86a934cef03382109c48e88c3394bc8b">&#9670;&nbsp;</a></span>Clear_edge_user_i() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Clear_edge_user_i </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af938178a219f532c89eb6025581c1026"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af938178a219f532c89eb6025581c1026">&#9670;&nbsp;</a></span>Clear_face_user_i()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Clear_face_user_i </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abfcf047081704acf94818f176c4db4f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfcf047081704acf94818f176c4db4f4">&#9670;&nbsp;</a></span>Clear_loop_user_i()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Clear_loop_user_i </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab14e6fa964f5d2c88811a336f059ca93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab14e6fa964f5d2c88811a336f059ca93">&#9670;&nbsp;</a></span>Clear_trim_user_i()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Clear_trim_user_i </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af8ac9f4d0dfaaf6b6a3ab131b520bb74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8ac9f4d0dfaaf6b6a3ab131b520bb74">&#9670;&nbsp;</a></span>Clear_user_i()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Clear_user_i </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a34269bf77620895da477db08b1ecafb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34269bf77620895da477db08b1ecafb1">&#9670;&nbsp;</a></span>Clear_vertex_user_i()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Clear_vertex_user_i </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a27cc1dba8851752cca0c1269b2336e39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27cc1dba8851752cca0c1269b2336e39">&#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">void ON_Brep::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#af8dfbd8534986bbd327a6ad812e374be" title="Some objects cache bounding box information. If you modify an object, then call ClearBoundingBox() to...">ON_Geometry::ClearBoundingBox()</a> override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#af8dfbd8534986bbd327a6ad812e374be">ON_Geometry</a>.</p>
</div>
</div>
<a id="a3e453036900222c04f07ffa1e8d6a1de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e453036900222c04f07ffa1e8d6a1de">&#9670;&nbsp;</a></span>ClearComponentStates() <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">unsigned int ON_Brep::ClearComponentStates </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a>&#160;</td>
<td class="paramname"><em>states_to_clear</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a1af75ebe418edff4a11985f8fca7d83b">ON_Object</a>.</p>
</div>
</div>
<a id="aad47a740758f748dfa30528d1d79e64c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad47a740758f748dfa30528d1d79e64c">&#9670;&nbsp;</a></span>ClearComponentStates() <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">unsigned int ON_Brep::ClearComponentStates </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>component_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a>&#160;</td>
<td class="paramname"><em>states_to_clear</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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#aeadf76a46f3f1a661bbf41e1b754fe89">ON_Object</a>.</p>
</div>
</div>
<a id="a501086673ba6f67c8de7c5f42084b1ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a501086673ba6f67c8de7c5f42084b1ba">&#9670;&nbsp;</a></span>ClearEdgeVertices()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::ClearEdgeVertices </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a709088c64f158587dbcb0529d6881be2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a709088c64f158587dbcb0529d6881be2">&#9670;&nbsp;</a></span>ClearTrimVertices()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::ClearTrimVertices </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af981e669c792c0106f342ea6f0d2baef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af981e669c792c0106f342ea6f0d2baef">&#9670;&nbsp;</a></span>CloseTrimGap()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CloseTrimGap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>trim0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>trim1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user tool to remove any gap between adjacent trims. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trim0</td><td>[in]</td></tr>
<tr><td class="paramname">trim1</td><td>[in]</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if successful. </dd></dl>
<p>The trims must be in the same trimming loop. The vertex at the end of trim0 must be the same as the vertex at the start of trim1. The trim's m_iso and m_type flags need to be correctly set. </p>
</div>
</div>
<a id="a7440558880c487c00426871deac0f83a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7440558880c487c00426871deac0f83a">&#9670;&nbsp;</a></span>CollapseEdge()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CollapseEdge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bCloseTrimGap</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vertex_index</em> = <code>-1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user tool to collapse a "short" edge to a vertex. The edge is removed and the topology is repaired so that everything that used to connect to the edge connects the specified vertex. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">edge_index</td><td>[in] index of edge to remove</td></tr>
<tr><td class="paramname">bCloseTrimGap</td><td>[in] if true and the removal of the edge creates a gap in the parameter space trimming loop, then the 2d trim curves will be adjusted to close the gap.</td></tr>
<tr><td class="paramname">vertex_index</td><td>[in] if &gt;= 0, this the edge is collapsed to this vertex. Otherwise a vertex is automatically selected or created.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if edge was successfully collapsed. </dd></dl>
<p>After you finish cleaning up the brep, you need to call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">ON_Brep::Compact()</a> to remove unused edge, trim, and vertex information from the brep's m_E[], m_V[], m_T[], m_C2[], and m_C3[] arrays. </p>
</div>
</div>
<a id="adbcf230a9a3df7855268e2ce7175352e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbcf230a9a3df7855268e2ce7175352e">&#9670;&nbsp;</a></span>CombineCoincidentEdges()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CombineCoincidentEdges </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user function. </p>
<dl class="section see"><dt>See also</dt><dd>ON_Brep::JoinEdges</dd></dl>
</div>
</div>
<a id="a2e629ea2e129197cd99db6b61358e7a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e629ea2e129197cd99db6b61358e7a8">&#9670;&nbsp;</a></span>CombineCoincidentVertices()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CombineCoincidentVertices </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user function. </p>
<dl class="section see"><dt>See also</dt><dd>ON_Brep::JoinEdges</dd></dl>
</div>
</div>
<a id="a560a0a44f22c9a1fc20ef93d262e73f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a560a0a44f22c9a1fc20ef93d262e73f7">&#9670;&nbsp;</a></span>CombineContiguousEdges()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a>* ON_Brep::CombineContiguousEdges </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_iindex1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>angle_tolerance_radians</em> = <code>ON_PI/180.0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user function. Combines contiguous edges into a single edge. The edges must share a common vertex, then angle between the edge tangents are the common vertex must be less than or equal to angle_tolerance_radians, and any associated trims must be contiguous in there respective boundaries. Parameters; edge_index0 - [in] edge_index1 - [in] angle_tolerance_radians - [in] </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the new edge or nullptr if the edges cannot be combined into a single edge. </dd></dl>
<p>The input edges are deleted but are still in the brep's m_E[] arrays. Use <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">ON_Brep::Compact</a> to remove the unused edges. </p>
</div>
</div>
<a id="ab13e291e708f95d2d52a201d568ae5e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab13e291e708f95d2d52a201d568ae5e2">&#9670;&nbsp;</a></span>Compact()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::Compact </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed, and shrinks arrays to minimum required size. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a94e5f98b7d57886a848a4a0fafea6d20">ON_Brep::CullUnusedFaces</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a6be75156f2788d471f4226ace6644bcd">ON_Brep::CullUnusedLoops</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2a0f209a16003de0390d762915560928">ON_Brep::CullUnusedTrims</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a98f50ae5fb3e4ad98d9c3ee1772922fa">ON_Brep::CullUnusedEdges</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ae6ee463654e16087c459f86d73be6d94">ON_Brep::CullUnusedVertices</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a020756ece3c13f2880414f302ffeea18">ON_Brep::CullUnused3dCurves</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2c393dbae22c987848ad4c9e30293b1b">ON_Brep::CullUnused2dCurves</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2e7b0856db1ca34d0160bd8632b92f5d">ON_Brep::CullUnusedSurfaces</a></dd></dl>
</div>
</div>
<a id="a68979013f72233511db3b75cd350a2c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68979013f72233511db3b75cd350a2c5">&#9670;&nbsp;</a></span>ComputeLoopType()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605">ON_BrepLoop::TYPE</a> ON_Brep::ComputeLoopType </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae39151302c8c46ff57042b2474efc14f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae39151302c8c46ff57042b2474efc14f">&#9670;&nbsp;</a></span>Create() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::Create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> *&amp;&#160;</td>
<td class="paramname"><em>pSurface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a brep from a surface. The resulting surface has an outer boundary made from four trims. The trims are ordered so that they run along the south, east, north, and then west side of the surface's parameter space. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pSurface</td><td>[in] pointer to a surface. The brep will manage this pointer and delete it in ~ON_Brep.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table true successful When true is returned, the pSurface pointer is added to the brep's m_S[] array and it will be deleted by the brep's destructor. false brep cannot be created from this surface. When false is returned, then the caller is responsible for deleting pSurface unless it was previously added to the brep's m_S[] array. </dd></dl>
<p>The surface class must be created with new so that the delete in ~ON_Brep will not cause a crash. </p>
</div>
</div>
<a id="ac297e771a1fd0eed277b2a48e2a72b9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac297e771a1fd0eed277b2a48e2a72b9a">&#9670;&nbsp;</a></span>Create() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::Create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../de/ddc/class_o_n___nurbs_surface.html">ON_NurbsSurface</a> *&amp;&#160;</td>
<td class="paramname"><em>pNurbsSurface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abfe3e1599a321d23bb0c16a2453ea161"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfe3e1599a321d23bb0c16a2453ea161">&#9670;&nbsp;</a></span>Create() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::Create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d4/db5/class_o_n___plane_surface.html">ON_PlaneSurface</a> *&amp;&#160;</td>
<td class="paramname"><em>pPlaneSurface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a319da425bcc2f4f72fd09bd5231fd3df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a319da425bcc2f4f72fd09bd5231fd3df">&#9670;&nbsp;</a></span>Create() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::Create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d1/d37/class_o_n___rev_surface.html">ON_RevSurface</a> *&amp;&#160;</td>
<td class="paramname"><em>pRevSurface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0f8dc57feae632807445796c04b49eb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f8dc57feae632807445796c04b49eb3">&#9670;&nbsp;</a></span>Create() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::Create </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/d1c/class_o_n___sum_surface.html">ON_SumSurface</a> *&amp;&#160;</td>
<td class="paramname"><em>pSumSurface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a69c939d199cca3fd120a508f7696effc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69c939d199cca3fd120a508f7696effc">&#9670;&nbsp;</a></span>CreateMesh()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::CreateMesh </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../df/dbc/class_o_n___mesh_parameters.html">ON_MeshParameters</a> &amp;&#160;</td>
<td class="paramname"><em>mp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="../../df/d11/class_o_n___mesh.html">ON_Mesh</a> *&gt; &amp;&#160;</td>
<td class="paramname"><em>mesh_list</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates polygon mesh approximation of the brep and appends one mesh for each face to the mesh_list[] array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mp</td><td>[in] meshing parameters</td></tr>
<tr><td class="paramname">mesh_list</td><td>[out] meshes are appended to this array.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of meshes appended to mesh_list[] array. </dd></dl>
</div>
</div>
<a id="a2c393dbae22c987848ad4c9e30293b1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c393dbae22c987848ad4c9e30293b1b">&#9670;&nbsp;</a></span>CullUnused2dCurves()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CullUnused2dCurves </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a020756ece3c13f2880414f302ffeea18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a020756ece3c13f2880414f302ffeea18">&#9670;&nbsp;</a></span>CullUnused3dCurves()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CullUnused3dCurves </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a98f50ae5fb3e4ad98d9c3ee1772922fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98f50ae5fb3e4ad98d9c3ee1772922fa">&#9670;&nbsp;</a></span>CullUnusedEdges()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CullUnusedEdges </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a94e5f98b7d57886a848a4a0fafea6d20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94e5f98b7d57886a848a4a0fafea6d20">&#9670;&nbsp;</a></span>CullUnusedFaces()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CullUnusedFaces </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6be75156f2788d471f4226ace6644bcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6be75156f2788d471f4226ace6644bcd">&#9670;&nbsp;</a></span>CullUnusedLoops()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CullUnusedLoops </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2e7b0856db1ca34d0160bd8632b92f5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e7b0856db1ca34d0160bd8632b92f5d">&#9670;&nbsp;</a></span>CullUnusedSurfaces()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CullUnusedSurfaces </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2a0f209a16003de0390d762915560928"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a0f209a16003de0390d762915560928">&#9670;&nbsp;</a></span>CullUnusedTrims()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CullUnusedTrims </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae6ee463654e16087c459f86d73be6d94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6ee463654e16087c459f86d73be6d94">&#9670;&nbsp;</a></span>CullUnusedVertices()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::CullUnusedVertices </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9b9cf5a78381497a5a8c05cf6d3ab7e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b9cf5a78381497a5a8c05cf6d3ab7e4">&#9670;&nbsp;</a></span>DataCRC()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON__UINT32 ON_Brep::DataCRC </td>
<td>(</td>
<td class="paramtype">ON__UINT32&#160;</td>
<td class="paramname"><em>current_remainder</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#af51d5fcec9379ad9b7a56ac4dfc9a8b2" title="Returns a CRC calculated from the information that defines the object. This CRC can be used as a quic...">ON_Object::DataCRC</a> override </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#af51d5fcec9379ad9b7a56ac4dfc9a8b2">ON_Object</a>.</p>
</div>
</div>
<a id="a1d150e985d5d52a4b5c8d634be158099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d150e985d5d52a4b5c8d634be158099">&#9670;&nbsp;</a></span>Delete2dCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Delete2dCurve </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5a6e3ee3a5337809e1ccb07f5deb0fae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a6e3ee3a5337809e1ccb07f5deb0fae">&#9670;&nbsp;</a></span>Delete3dCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Delete3dCurve </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c3_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a840102ce5d6bea58914c6e78b3bd938d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a840102ce5d6bea58914c6e78b3bd938d">&#9670;&nbsp;</a></span>DeleteEdge()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DeleteEdge </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDeleteEdgeVertices</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acc2433358c597861e9d29cc3501b59fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc2433358c597861e9d29cc3501b59fd">&#9670;&nbsp;</a></span>DeleteFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DeleteFace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>face</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDeleteFaceEdges</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a04747ca0e189b70b7003100ec218d5cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04747ca0e189b70b7003100ec218d5cb">&#9670;&nbsp;</a></span>DeleteLoop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DeleteLoop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>loop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDeleteLoopEdges</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afa3a7b2df82f1b92e3cb4edc5ebc53da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa3a7b2df82f1b92e3cb4edc5ebc53da">&#9670;&nbsp;</a></span>DeleteSurface()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DeleteSurface </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a307bdf4c65bcff2ee9c057b5d90b79ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a307bdf4c65bcff2ee9c057b5d90b79ed">&#9670;&nbsp;</a></span>DeleteTrim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DeleteTrim </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>trim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDeleteTrimEdges</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a48e6289696e9a551bc467a566121bfae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48e6289696e9a551bc467a566121bfae">&#9670;&nbsp;</a></span>DeleteVertex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DeleteVertex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td>
<td class="paramname"><em>vertex</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9d8b85fce4f652311b9fd613b6ad6539"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d8b85fce4f652311b9fd613b6ad6539">&#9670;&nbsp;</a></span>Destroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Destroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>construction/destruction helpers </p>
<p>returns Brep to state it has after default construction </p>
</div>
</div>
<a id="a92d34d18f0f1448dc938f35521855db4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92d34d18f0f1448dc938f35521855db4">&#9670;&nbsp;</a></span>DestroyMesh()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DestroyMesh </td>
<td>(</td>
<td class="paramtype">ON::mesh_type&#160;</td>
<td class="paramname"><em>mesh_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDeleteMesh</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Destroy meshes used to render and analyze brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mesh_type</td><td>[in] type of mesh to destroy</td></tr>
<tr><td class="paramname">bDeleteMesh</td><td>[in] if true, cached meshes are deleted. If false, pointers to cached meshes are just set to nullptr.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#ac3140b56bfaad4c3b27c396266cf9e7d" title="Get cached meshes used to render and analyze brep. ">ON_Brep::GetMesh</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#afb5ef2f993524bc892165ae38b9ba8b0" title="Destroy meshes used to render and analyze surface and polysrf objects. ">ON_BrepFace::DestroyMesh</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#aa06d099b0ef5753763323b289df52bc6">ON_BrepFace::Mesh</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#a3f7f3d68d404d1c58560be83850d26d4" title="If true is returne, then ~ON_BrepFace will delete mesh. ">ON_BrepFace::SetMesh</a></dd></dl>
</div>
</div>
<a id="ad3f5f48c61b6556d8475560ccd887057"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3f5f48c61b6556d8475560ccd887057">&#9670;&nbsp;</a></span>DestroyRegionTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DestroyRegionTopology </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Destroy region topology information. </p>
</div>
</div>
<a id="afe073d8c45fb82d4ba7197e2d958dd57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe073d8c45fb82d4ba7197e2d958dd57">&#9670;&nbsp;</a></span>DestroyRuntimeCache()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::DestroyRuntimeCache </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDelete</em> = <code>true</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#af8435c33ab53af41c22dac75e8917569" title="Expert user function. If you are using openNURBS in its default configuration to read and write 3dm a...">ON_Object::DestroyRuntimeCache</a> override </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#af8435c33ab53af41c22dac75e8917569">ON_Object</a>.</p>
</div>
</div>
<a id="a6053e0c644ef483c3356d7c5e407ce6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6053e0c644ef483c3356d7c5e407ce6b">&#9670;&nbsp;</a></span>Dimension()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::Dimension </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364" title="Dimension of the object. ">ON_Geometry::Dimension()</a> override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#a0d66ab16e2fddfd1b3e6cf3d6ebbd364">ON_Geometry</a>.</p>
</div>
</div>
<a id="a17604727f07bd35031afb97fa2fea3cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17604727f07bd35031afb97fa2fea3cd">&#9670;&nbsp;</a></span>DisconnectEdgeFaces()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::DisconnectEdgeFaces </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>eid</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user function. Turn an edge into a series of naked or seam edges. One for each trim at the original edge that comes from a unique face. These edges will share the 3d curve of the original edge. The original edge will still be valid and will have m_ti[0] unchanged. </p>
</div>
</div>
<a id="a8e042bf758b7df9978c5b3b04f8b07ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e042bf758b7df9978c5b3b04f8b07ca">&#9670;&nbsp;</a></span>Dump()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Dump </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual ON_Objet::Dump() override </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a21c7b04a80f1806c3a45f72d7c491a44">ON_Object</a>.</p>
</div>
</div>
<a id="a4a3ceeae3a8b1351193c9c2506a9f449"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a3ceeae3a8b1351193c9c2506a9f449">&#9670;&nbsp;</a></span>DuplicateFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* ON_Brep::DuplicateFace </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDuplicateMeshes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Duplicate a single brep face. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_index</td><td>[in] index of face to duplicate</td></tr>
<tr><td class="paramname">bDuplicateMeshes</td><td>[in] if true, any attached meshes are duplicated</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Single face brep. </dd></dl>
<p>The m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i, and m_trim_user.i values of the returned brep are are set to the indices of the objects they duplicate. </p>
<dl class="section see"><dt>See also</dt><dd>ON_Brep::DeleteFace, ON_Brep::ExtractFace</dd></dl>
</div>
</div>
<a id="a13c2bac78b17215fdfdc65911e2d3025"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13c2bac78b17215fdfdc65911e2d3025">&#9670;&nbsp;</a></span>DuplicateFaces()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* ON_Brep::DuplicateFaces </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDuplicateMeshes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Duplicate a a subset of a brep </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_count</td><td>[in] length of face_index[] array</td></tr>
<tr><td class="paramname">face_index</td><td>[in] array of face indices</td></tr>
<tr><td class="paramname">bDuplicateMeshes</td><td>[in] if true, any attached meshes are duplicated</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A brep made by duplicating the faces listed in the face_index[] array. </dd></dl>
<p>The m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i, and m_trim_user.i values of the returned brep are are set to the indices of the objects they duplicate. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a4a3ceeae3a8b1351193c9c2506a9f449" title="Duplicate a single brep face. ">ON_Brep::DuplicateFace</a></dd></dl>
</div>
</div>
<a id="a7ee943e39fa5b05b89a32e676a3e0726"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ee943e39fa5b05b89a32e676a3e0726">&#9670;&nbsp;</a></span>Edge() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a>* ON_Brep::Edge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get edge from edge index or component index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">edge_index</td><td>[in] either an index into m_E[] or a component index of type brep_edge.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the index is a valid edge index or a valid edge component index, then a pointer to the <a class="el" href="../../dd/de8/class_o_n___brep_edge.html" title="Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in...">ON_BrepEdge</a> is returned. Otherwise nullptr is returned. See Also ON_Brep::Component( const ON_BrepEdge&amp; ) </dd></dl>
</div>
</div>
<a id="ae54402c7bc79fc13652e90e510415a11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae54402c7bc79fc13652e90e510415a11">&#9670;&nbsp;</a></span>Edge() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a>* ON_Brep::Edge </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>edge_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a04ae5ac4314e64a49e6bb1d0c8062daf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04ae5ac4314e64a49e6bb1d0c8062daf">&#9670;&nbsp;</a></span>EdgeCurveUseCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::EdgeCurveUseCount </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c3_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>max_count</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determine how many brep edges reference m_C3[c3_index]. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">c3_index</td><td>[in] index of the 3d curve in m_C3[] array</td></tr>
<tr><td class="paramname">max_count</td><td>[in] counting stops if max_count &gt; 0 and at least max_count edges use the 3d curve.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of brep edges that reference the 3d curve. </dd></dl>
</div>
</div>
<a id="abb66e611106eb90541ef676ef619ec5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb66e611106eb90541ef676ef619ec5c">&#9670;&nbsp;</a></span>EmergencyDestroy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::EmergencyDestroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>call if memory pool used by b-rep members becomes invalid </p>
</div>
</div>
<a id="a94edf1cb5173c1acaa7e530b8cf6607d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94edf1cb5173c1acaa7e530b8cf6607d">&#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">bool ON_Brep::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a> override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#adcb646d6ca698c092b73f2f05373bfc2">ON_Geometry</a>.</p>
</div>
</div>
<a id="a93d598d882f5943153d6ba1897a4cfde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93d598d882f5943153d6ba1897a4cfde">&#9670;&nbsp;</a></span>ExtractFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* ON_Brep::ExtractFace </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Extract a face from a brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_index</td><td>[in] index of face to extract</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Single face brep. </dd></dl>
<dl class="section see"><dt>See also</dt><dd>ON_Brep::DeleteFace, ON_Brep::DuplicateFace</dd></dl>
</div>
</div>
<a id="a5a52be86be2f244d11579b492d5354ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a52be86be2f244d11579b492d5354ce">&#9670;&nbsp;</a></span>Face() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a>* ON_Brep::Face </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get face from face index or component index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_index</td><td>[in] either an index into m_F[] or a component index of type brep_face.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the index is a valid face index or a valid face component index, then a pointer to the <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> is returned. Otherwise nullptr is returned. See Also ON_Brep::Component( const ON_BrepFace&amp; ) </dd></dl>
</div>
</div>
<a id="acdebe569ba66676b34349728bc400a92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdebe569ba66676b34349728bc400a92">&#9670;&nbsp;</a></span>Face() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a>* ON_Brep::Face </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>face_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6bc13c90c28fe1b04a28512fc7bd16f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bc13c90c28fe1b04a28512fc7bd16f9">&#9670;&nbsp;</a></span>FaceIsSurface()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::FaceIsSurface </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa7ee3ddf28686389740e2d029b0efe1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7ee3ddf28686389740e2d029b0efe1b">&#9670;&nbsp;</a></span>Flip()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Flip </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abc49fb9faf4e5ceebc120c053a743254"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc49fb9faf4e5ceebc120c053a743254">&#9670;&nbsp;</a></span>FlipFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::FlipFace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>reverses orientation of a face by toggling <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#afe606ccbc6ac4fdd7225af7f6fa105db">ON_BrepFace::m_bRev</a> </p>
</div>
</div>
<a id="ac1da697b5e3e1aaa6f656f9afdb47d04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1da697b5e3e1aaa6f656f9afdb47d04">&#9670;&nbsp;</a></span>FlipLoop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::FlipLoop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a845ac982231f89071f85864462468bac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a845ac982231f89071f85864462468bac">&#9670;&nbsp;</a></span>FlipReversedSurfaces()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::FlipReversedSurfaces </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modification Interface. </p>
</div>
</div>
<a id="adf0b9b34403cac4724f7f91ed593a647"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf0b9b34403cac4724f7f91ed593a647">&#9670;&nbsp;</a></span>GetBBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::GetBBox </td>
<td>(</td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>boxmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>boxmax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bGrowBox</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a> GetBBox override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#ad615e08fe92af659c8d10cbb4f8fc5e3">ON_Geometry</a>.</p>
</div>
</div>
<a id="a49725b5672fdaae8e02d03c43c509f11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49725b5672fdaae8e02d03c43c509f11">&#9670;&nbsp;</a></span>GetComponentsWithSetStates()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_Brep::GetComponentsWithSetStates </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a>&#160;</td>
<td class="paramname"><em>states_filter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bAllEqualStates</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; ON_COMPONENT_INDEX &gt; &amp;&#160;</td>
<td class="paramname"><em>components</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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a691de6470e814973858aa5c51eaffa77">ON_Object</a>.</p>
</div>
</div>
<a id="a19fe78d07a5487e17f06169b23143245"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19fe78d07a5487e17f06169b23143245">&#9670;&nbsp;</a></span>GetConnectedComponents()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::GetConnectedComponents </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>components</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDuplicateMeshes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>If this brep has two or more connected components, then duplicates of the connected components are appended to the components[] array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">components</td><td>[in] connected components are appended to this array.</td></tr>
<tr><td class="paramname">bDuplicateMeshes</td><td>[in] if true, any meshes on this brep are copied to the output breps.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of connected components appended to components[] or zero if this brep has only one connected component. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a19fe78d07a5487e17f06169b23143245" title="If this brep has two or more connected components, then duplicates of the connected components are ap...">ON_Brep::GetConnectedComponents</a></dd></dl>
</div>
</div>
<a id="ac3140b56bfaad4c3b27c396266cf9e7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3140b56bfaad4c3b27c396266cf9e7d">&#9670;&nbsp;</a></span>GetMesh()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::GetMesh </td>
<td>(</td>
<td class="paramtype">ON::mesh_type&#160;</td>
<td class="paramname"><em>mesh_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; const <a class="el" href="../../df/d11/class_o_n___mesh.html">ON_Mesh</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>meshes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get cached meshes used to render and analyze brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mesh_type</td><td>[in] type of mesh to get</td></tr>
<tr><td class="paramname">meshes</td><td>[out] meshes are appended to this array. The <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> owns these meshes so they cannot be modified.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of meshes added to array. (Same as m_F.Count()) </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a92d34d18f0f1448dc938f35521855db4" title="Destroy meshes used to render and analyze brep. ">ON_Brep::DestroyMesh</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#afb5ef2f993524bc892165ae38b9ba8b0" title="Destroy meshes used to render and analyze surface and polysrf objects. ">ON_BrepFace::DestroyMesh</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#aa06d099b0ef5753763323b289df52bc6">ON_BrepFace::Mesh</a>, <a class="el" href="../../d0/d4c/class_o_n___brep_face.html#a3f7f3d68d404d1c58560be83850d26d4" title="If true is returne, then ~ON_BrepFace will delete mesh. ">ON_BrepFace::SetMesh</a></dd></dl>
</div>
</div>
<a id="a3d122681a235047c9f4e542fddc698f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d122681a235047c9f4e542fddc698f5">&#9670;&nbsp;</a></span>GetTightBoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::GetTightBoundingBox </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;&#160;</td>
<td class="paramname"><em>tight_bbox</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bGrowBox</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const class <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> *&#160;</td>
<td class="paramname"><em>xform</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../df/de0/class_o_n___geometry.html" title="Base class for all geometry classes that must provide runtime class id. Provides interface for common...">ON_Geometry</a> GetTightBoundingBox override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#ab59968e400d15d016517b7b4f2e32ea4">ON_Geometry</a>.</p>
</div>
</div>
<a id="a29ce36c3247ac9d0fd4175f34860b652"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29ce36c3247ac9d0fd4175f34860b652">&#9670;&nbsp;</a></span>GetTrim2dEnd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::GetTrim2dEnd </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/dd9/class_o_n__2d_point.html">ON_2dPoint</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a237b2576c8a30cfabbcf292f099c3adb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a237b2576c8a30cfabbcf292f099c3adb">&#9670;&nbsp;</a></span>GetTrim2dStart()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::GetTrim2dStart </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trim_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/dd9/class_o_n__2d_point.html">ON_2dPoint</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7742627e5a4f52d6d36d3c472c9a05cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7742627e5a4f52d6d36d3c472c9a05cf">&#9670;&nbsp;</a></span>GetTrim3dEnd()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::GetTrim3dEnd </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa1c5f826ed02ea5a1350b82e4327decf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1c5f826ed02ea5a1350b82e4327decf">&#9670;&nbsp;</a></span>GetTrim3dStart()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::GetTrim3dStart </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7bd44fdbe8610cc3e404d863000b691b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bd44fdbe8610cc3e404d863000b691b">&#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">bool ON_Brep::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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#a84b28eb33d34c71913b9cd16f8ecab50" title="Query an object to see if it has an ON_Brep form. Result: Returns true if the virtual ON_Geometry::Br...">ON_Geometry::HasBrepForm()</a> override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#a84b28eb33d34c71913b9cd16f8ecab50">ON_Geometry</a>.</p>
</div>
</div>
<a id="a6eb5a7379abf6cf2e07b9e637d24ff92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6eb5a7379abf6cf2e07b9e637d24ff92">&#9670;&nbsp;</a></span>HasRegionTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::HasRegionTopology </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aeff521224dfae78f13fea6f7131a7975"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeff521224dfae78f13fea6f7131a7975">&#9670;&nbsp;</a></span>HasSlits() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::HasSlits </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check for slit trims and slit boundaries in each face. </p>
<dl class="section return"><dt>Returns</dt><dd>true if any slits were found </dd></dl>
</div>
</div>
<a id="a1e3ebe887970b193b403881de2e6b8f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e3ebe887970b193b403881de2e6b8f3">&#9670;&nbsp;</a></span>HasSlits() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::HasSlits </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>F</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check for slit trims and slit boundaries in a face. </p>
<dl class="section return"><dt>Returns</dt><dd>true if any slits were found </dd></dl>
</div>
</div>
<a id="a0df67fed0035fda170aabd6c5013f184"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0df67fed0035fda170aabd6c5013f184">&#9670;&nbsp;</a></span>HasSlits() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::HasSlits </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>L</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check for slit trims in a loop. </p>
<dl class="section return"><dt>Returns</dt><dd>true if any slits were found </dd></dl>
</div>
</div>
<a id="a4424c650cae0bc0cbf654b6173d798f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4424c650cae0bc0cbf654b6173d798f2">&#9670;&nbsp;</a></span>HopAcrossEdge()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::HopAcrossEdge </td>
<td>(</td>
<td class="paramtype">int &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&#160;</td>
<td class="paramname">&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6726b50636fd751aad8bd6ba3f95ec7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6726b50636fd751aad8bd6ba3f95ec7b">&#9670;&nbsp;</a></span>Initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Initialize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5ce20baa6d342b0c05285fb66f2305a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ce20baa6d342b0c05285fb66f2305a1">&#9670;&nbsp;</a></span>Internal_AttachV5RegionTopologyAsUserData()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Internal_AttachV5RegionTopologyAsUserData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"><em>archive</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a03c357472b723e926a93b12f577e68ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03c357472b723e926a93b12f577e68ff">&#9670;&nbsp;</a></span>Internal_RegionTopologyPointer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static class <a class="el" href="../../da/dfb/class_o_n___brep_region_topology.html">ON_BrepRegionTopology</a>* ON_Brep::Internal_RegionTopologyPointer </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> *&#160;</td>
<td class="paramname"><em>brep</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bValidateFaceCount</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">static</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2b3331e092f40f3ad3b88701577d6f1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b3331e092f40f3ad3b88701577d6f1f">&#9670;&nbsp;</a></span>IsDuplicate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsDuplicate </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;&#160;</td>
<td class="paramname"><em>other</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tolerance</em> = <code>ON_ZERO_TOLERANCE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Does nothing. Will be deleted in next version. </p>
</div>
</div>
<a id="a4831d318a5467d7a4dc1c616ccb22e2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4831d318a5467d7a4dc1c616ccb22e2e">&#9670;&nbsp;</a></span>IsManifold()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsManifold </td>
<td>(</td>
<td class="paramtype">bool *&#160;</td>
<td class="paramname"><em>pbIsOriented</em> = <code>nullptr</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool *&#160;</td>
<td class="paramname"><em>pbHasBoundary</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Test brep to see if it is an oriented manifold. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pbIsOriented</td><td>[in] if not null, *pbIsOriented is set to true if b-rep is an oriented manifold and false if brep is not an oriented manifold.</td></tr>
<tr><td class="paramname">pbHasBoundary</td><td>[in] if not null, *pbHasBoundary is set to true if b-rep has a boundary edge and false if brep does not have a boundary edge.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true brep is a manifold fals brep is not a manifold </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a385ac017c00e1ec789477889f964f0f6" title="Test brep to see if it is a solid. (A &quot;solid&quot; is a closed oriented manifold.) ">ON_Brep::IsSolid</a></dd></dl>
</div>
</div>
<a id="a29a8f3fd1450f6e1dd5194736cd37f25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29a8f3fd1450f6e1dd5194736cd37f25">&#9670;&nbsp;</a></span>IsPointInside()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsPointInside </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tolerance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bStrictlyInside</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determine if P is inside Brep. This question only makes sense when the brep is a closed manifold. This function does not not check for closed or manifold, so result is not valid in those cases. Intersects a line through P with brep, finds the intersection point Q closest to P, and looks at face normal at Q. If the point Q is on an edge or the intersection is not transverse at Q, then another line is used. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">P</td><td>[in] 3d point</td></tr>
<tr><td class="paramname">tolerance</td><td>[in] 3d distance tolerance used for intersection and determining strict inclusion.</td></tr>
<tr><td class="paramname">bStrictlInside</td><td>[in] If bStrictlInside is true, then this function will return false if the distance from P is within tolerance of a brep face.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if P is in, false if not. See parameter bStrictlyIn. </dd></dl>
</div>
</div>
<a id="a385ac017c00e1ec789477889f964f0f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a385ac017c00e1ec789477889f964f0f6">&#9670;&nbsp;</a></span>IsSolid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsSolid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Test brep to see if it is a solid. (A "solid" is a closed oriented manifold.) </p>
<dl class="section return"><dt>Returns</dt><dd>table true brep is a solid fals brep is not a solid </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#adb58a14210acd8c3e851770a465a9faa" title="Determine orientation of a brep. ">ON_Brep::SolidOrientation</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a4831d318a5467d7a4dc1c616ccb22e2e" title="Test brep to see if it is an oriented manifold. ">ON_Brep::IsManifold</a></dd></dl>
</div>
</div>
<a id="a7515c293f679098f198f91ca5ad6729b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7515c293f679098f198f91ca5ad6729b">&#9670;&nbsp;</a></span>IsSurface()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsSurface </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac538ff2fb9b8360fd5410fb0c66a1e54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac538ff2fb9b8360fd5410fb0c66a1e54">&#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_Brep::IsValid </td>
<td>(</td>
<td class="paramtype">class <a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</em> = <code>nullptr</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests an object to see if its data members are correctly initialized. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text_log</td><td>[in] if the object is not valid and text_log is not nullptr, then a brief englis description of the reason the object is not valid is appened to the log. The information appended to text_log is suitable for</td></tr>
<tr><td class="paramname">low</td><td>level debugging purposes by programmers and is not intended to be useful as a high level user interface tool.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table true object is valid false object is invalid, uninitialized, etc. </dd></dl>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a7212696724553dc4d365479a10150c0d">ON_Object</a>.</p>
</div>
</div>
<a id="ad868e375850c90c68027aa3a5eab7e94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad868e375850c90c68027aa3a5eab7e94">&#9670;&nbsp;</a></span>IsValidEdge()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidEdge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a03c31b8c5f1fe1f6f547d26a449ebe70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03c31b8c5f1fe1f6f547d26a449ebe70">&#9670;&nbsp;</a></span>IsValidEdgeGeometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidEdgeGeometry </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a38ef9b438b14d6dfeb5dfa6e0ed0d521"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38ef9b438b14d6dfeb5dfa6e0ed0d521">&#9670;&nbsp;</a></span>IsValidEdgeTolerancesAndFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidEdgeTolerancesAndFlags </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad44c5b23463283938e3fc20ad5b43035"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad44c5b23463283938e3fc20ad5b43035">&#9670;&nbsp;</a></span>IsValidEdgeTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidEdgeTopology </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a41d12ae5793e86c595bc9378d1c4b365"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41d12ae5793e86c595bc9378d1c4b365">&#9670;&nbsp;</a></span>IsValidFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidFace </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2e8d46beaace8e3961ca4a626677fbe4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e8d46beaace8e3961ca4a626677fbe4">&#9670;&nbsp;</a></span>IsValidFaceGeometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidFaceGeometry </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae6f751a1590e7649d39fd39366055a40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6f751a1590e7649d39fd39366055a40">&#9670;&nbsp;</a></span>IsValidFaceTolerancesAndFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidFaceTolerancesAndFlags </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab8613780573ab0a0406f88152a6a4911"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8613780573ab0a0406f88152a6a4911">&#9670;&nbsp;</a></span>IsValidFaceTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidFaceTopology </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a32a4113deacc593a977a6365772d7342"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32a4113deacc593a977a6365772d7342">&#9670;&nbsp;</a></span>IsValidForV2() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidForV2 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests brep to see if it is valid for saving in V2 3DM archives. </p>
<dl class="section return"><dt>Returns</dt><dd>true if brep is valid for V2 3DM archives. </dd></dl>
<p>V2 breps could not have dangling curves. </p>
</div>
</div>
<a id="a43ce4fa38930e00a4ad836d233f84ae1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43ce4fa38930e00a4ad836d233f84ae1">&#9670;&nbsp;</a></span>IsValidForV2() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidForV2 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad2cad3e3b7603aa85d833c399bf64b68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2cad3e3b7603aa85d833c399bf64b68">&#9670;&nbsp;</a></span>IsValidForV2() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidForV2 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a04e944af9746ee4c369b08c166d9fafb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04e944af9746ee4c369b08c166d9fafb">&#9670;&nbsp;</a></span>IsValidGeometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidGeometry </td>
<td>(</td>
<td class="paramtype"><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>
</div><div class="memdoc">
<p>Expert user function that tests the brep to see if its geometry information is valid. The value of brep.IsValidTopology() must be true before brep.IsValidGeometry() can be safely called. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text_log</td><td>[in] if the brep geometry is not valid and text_log is not nullptr, then a brief english description of the problem is appended to the log. The information appended to text_log is suitable for</td></tr>
<tr><td class="paramname">low</td><td>level debugging purposes by programmers and is not intended to be useful as a high level user interface tool.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table true brep geometry is valid false brep geometry is not valid </dd></dl>
<p><a class="el" href="../../d9/d96/class_o_n___brep.html#a183431dbe3ed097578a82a4b7f055d79" title="Tests the brep to see if its topology information is valid. ">ON_Brep::IsValidTopology</a> must be true before you can safely call <a class="el" href="../../d9/d96/class_o_n___brep.html#a04e944af9746ee4c369b08c166d9fafb" title="Expert user function that tests the brep to see if its geometry information is valid. The value of brep.IsValidTopology() must be true before brep.IsValidGeometry() can be safely called. ">ON_Brep::IsValidGeometry</a>. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#ac538ff2fb9b8360fd5410fb0c66a1e54" title="Tests an object to see if its data members are correctly initialized. ">ON_Brep::IsValid</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a183431dbe3ed097578a82a4b7f055d79" title="Tests the brep to see if its topology information is valid. ">ON_Brep::IsValidTopology</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a4700a326d5175701754b830b72ee3e99" title="Expert user function that tests the brep to see if its tolerances and flags are valid. The values of brep.IsValidTopology() and brep.IsValidGeometry() must be true before brep.IsValidTolerancesAndFlags() can be safely called. ">ON_Brep::IsValidTolerancesAndFlags</a></dd></dl>
</div>
</div>
<a id="a30dce521111ccf2e70362cc56adc48a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30dce521111ccf2e70362cc56adc48a1">&#9670;&nbsp;</a></span>IsValidLoop()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidLoop </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>loop_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a956d9483c0e8de57c04e2dfae3e2a556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a956d9483c0e8de57c04e2dfae3e2a556">&#9670;&nbsp;</a></span>IsValidLoopGeometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidLoopGeometry </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>loop_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab261766a6a5cdd500584a25c88a3afb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab261766a6a5cdd500584a25c88a3afb4">&#9670;&nbsp;</a></span>IsValidLoopTolerancesAndFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidLoopTolerancesAndFlags </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>loop_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a11425aacedabffbd8393331db837c553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11425aacedabffbd8393331db837c553">&#9670;&nbsp;</a></span>IsValidLoopTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidLoopTopology </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>loop_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4700a326d5175701754b830b72ee3e99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4700a326d5175701754b830b72ee3e99">&#9670;&nbsp;</a></span>IsValidTolerancesAndFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidTolerancesAndFlags </td>
<td>(</td>
<td class="paramtype"><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>
</div><div class="memdoc">
<p>Expert user function that tests the brep to see if its tolerances and flags are valid. The values of brep.IsValidTopology() and brep.IsValidGeometry() must be true before brep.IsValidTolerancesAndFlags() can be safely called. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text_log</td><td>[in] if the brep tolerance or flags are not valid and text_log is not nullptr, then a brief english description of the problem is appended to the log. The information appended to text_log is suitable for</td></tr>
<tr><td class="paramname">low</td><td>level debugging purposes by programmers and is not intended to be useful as a high level user interface tool.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table true brep tolerance and flags are valid false brep tolerance and flags are not valid </dd></dl>
<p><a class="el" href="../../d9/d96/class_o_n___brep.html#a183431dbe3ed097578a82a4b7f055d79" title="Tests the brep to see if its topology information is valid. ">ON_Brep::IsValidTopology</a> and <a class="el" href="../../d9/d96/class_o_n___brep.html#a04e944af9746ee4c369b08c166d9fafb" title="Expert user function that tests the brep to see if its geometry information is valid. The value of brep.IsValidTopology() must be true before brep.IsValidGeometry() can be safely called. ">ON_Brep::IsValidGeometry</a> must be true before you can safely call <a class="el" href="../../d9/d96/class_o_n___brep.html#a4700a326d5175701754b830b72ee3e99" title="Expert user function that tests the brep to see if its tolerances and flags are valid. The values of brep.IsValidTopology() and brep.IsValidGeometry() must be true before brep.IsValidTolerancesAndFlags() can be safely called. ">ON_Brep::IsValidTolerancesAndFlags</a>. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#ac538ff2fb9b8360fd5410fb0c66a1e54" title="Tests an object to see if its data members are correctly initialized. ">ON_Brep::IsValid</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a183431dbe3ed097578a82a4b7f055d79" title="Tests the brep to see if its topology information is valid. ">ON_Brep::IsValidTopology</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a04e944af9746ee4c369b08c166d9fafb" title="Expert user function that tests the brep to see if its geometry information is valid. The value of brep.IsValidTopology() must be true before brep.IsValidGeometry() can be safely called. ">ON_Brep::IsValidGeometry</a></dd></dl>
</div>
</div>
<a id="a183431dbe3ed097578a82a4b7f055d79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a183431dbe3ed097578a82a4b7f055d79">&#9670;&nbsp;</a></span>IsValidTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidTopology </td>
<td>(</td>
<td class="paramtype"><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>
</div><div class="memdoc">
<p>Tests the brep to see if its topology information is valid. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text_log</td><td>[in] if the brep topology is not valid and text_log is not nullptr, then a brief english description of the problem is appended to the log. The information appended to text_log is suitable for</td></tr>
<tr><td class="paramname">low</td><td>level debugging purposes by programmers and is not intended to be useful as a high level user interface tool.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table true brep topology is valid false brep topology is not valid </dd></dl>
<p><a class="el" href="../../d9/d96/class_o_n___brep.html#a183431dbe3ed097578a82a4b7f055d79" title="Tests the brep to see if its topology information is valid. ">ON_Brep::IsValidTopology</a> can be called at any time. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#ac538ff2fb9b8360fd5410fb0c66a1e54" title="Tests an object to see if its data members are correctly initialized. ">ON_Brep::IsValid</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a04e944af9746ee4c369b08c166d9fafb" title="Expert user function that tests the brep to see if its geometry information is valid. The value of brep.IsValidTopology() must be true before brep.IsValidGeometry() can be safely called. ">ON_Brep::IsValidGeometry</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a4700a326d5175701754b830b72ee3e99" title="Expert user function that tests the brep to see if its tolerances and flags are valid. The values of brep.IsValidTopology() and brep.IsValidGeometry() must be true before brep.IsValidTolerancesAndFlags() can be safely called. ">ON_Brep::IsValidTolerancesAndFlags</a></dd></dl>
</div>
</div>
<a id="ae7bf901fffce01b077fc1bc5978990c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7bf901fffce01b077fc1bc5978990c9">&#9670;&nbsp;</a></span>IsValidTrim()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidTrim </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trim_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>helpers for validation checking </p>
</div>
</div>
<a id="ac0da9cb5c0681764c1c9d514dcacd34e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0da9cb5c0681764c1c9d514dcacd34e">&#9670;&nbsp;</a></span>IsValidTrimGeometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidTrimGeometry </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trim_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7bf677526cb4d1197289fe8aef9c808c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bf677526cb4d1197289fe8aef9c808c">&#9670;&nbsp;</a></span>IsValidTrimTolerancesAndFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidTrimTolerancesAndFlags </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trim_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab9d2d7c604177b0e964ae0843ca32d5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9d2d7c604177b0e964ae0843ca32d5e">&#9670;&nbsp;</a></span>IsValidTrimTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidTrimTopology </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trim_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a829e4c62119cebd063ad4fd9969f84b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a829e4c62119cebd063ad4fd9969f84b5">&#9670;&nbsp;</a></span>IsValidVertex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidVertex </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vertex_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa288fbd9b874c142760fcf047b5f8b4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa288fbd9b874c142760fcf047b5f8b4d">&#9670;&nbsp;</a></span>IsValidVertexGeometry()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidVertexGeometry </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vertex_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0bfb94a7ece7741b23379b7a17ca1d12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bfb94a7ece7741b23379b7a17ca1d12">&#9670;&nbsp;</a></span>IsValidVertexTolerancesAndFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidVertexTolerancesAndFlags </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vertex_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aad1476770db41b0b621b4f94949b0b30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad1476770db41b0b621b4f94949b0b30">&#9670;&nbsp;</a></span>IsValidVertexTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::IsValidVertexTopology </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vertex_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d2/da3/class_o_n___text_log.html">ON_TextLog</a> *&#160;</td>
<td class="paramname"><em>text_log</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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a52c3090483354c18846ca05dc7c9f0d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52c3090483354c18846ca05dc7c9f0d0">&#9670;&nbsp;</a></span>LabelConnectedComponent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::LabelConnectedComponent </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>label</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i, and m_trim_user.i values of faces of component including m_F[face_index] to label. Numbering starts at 1. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_index</td><td>[in] index of face in component</td></tr>
<tr><td class="paramname">label</td><td>[in] value for m_*_user.i</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>Chases through trim lists of face edges to find adjacent faces. Does NOT check for vertex-vertex connections </p>
</div>
</div>
<a id="a5e56a650829171ebead7d374ba8721c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e56a650829171ebead7d374ba8721c5">&#9670;&nbsp;</a></span>LabelConnectedComponents()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::LabelConnectedComponents </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Set m_vertex_user.i, m_edge_user.i, m_face_user.i, m_loop_user.i, and m_trim_user.i values values to distinguish connected components. </p>
<dl class="section return"><dt>Returns</dt><dd>number of connected components </dd></dl>
<p>For each face in the ith component, sets m_face_user.i to i&gt;0. Chases through trim lists of face edges to find adjacent faces. Numbering starts at 1. Does NOT check for vertex-vertex connections. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a19fe78d07a5487e17f06169b23143245" title="If this brep has two or more connected components, then duplicates of the connected components are ap...">ON_Brep::GetConnectedComponents</a></dd></dl>
</div>
</div>
<a id="a0c53147270e4dfcd7be7685a0c423bea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c53147270e4dfcd7be7685a0c423bea">&#9670;&nbsp;</a></span>Loop() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a>* ON_Brep::Loop </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>loop_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get loop from loop index or component index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">loop_index</td><td>[in] either an index into m_L[] or a component index of type brep_loop.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the index is a valid loop index or a valid loop component index, then a pointer to the <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> is returned. Otherwise nullptr is returned. See Also ON_Brep::Component( const ON_BrepLoop&amp; ) </dd></dl>
</div>
</div>
<a id="a1661fcd885f2bfeee96b7cddcdde5808"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1661fcd885f2bfeee96b7cddcdde5808">&#9670;&nbsp;</a></span>Loop() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a>* ON_Brep::Loop </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>loop_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4fe2304fe39ca52c948b7aaa26af6c0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fe2304fe39ca52c948b7aaa26af6c0f">&#9670;&nbsp;</a></span>Loop2dCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a>* ON_Brep::Loop2dCurve </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>loop</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a 3d curve that traces the entire loop </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">loop</td><td>[in] loop whose 2d curve should be duplicated</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a 2d <a class="el" href="../../d4/d5a/class_o_n___curve.html" title="ON_Curve is a pure virtual class for curve objects ">ON_Curve</a>. The caller must delete this curve. </dd></dl>
</div>
</div>
<a id="a50c48e691132242b5169eb9e17b27e89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50c48e691132242b5169eb9e17b27e89">&#9670;&nbsp;</a></span>Loop3dCurve() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a>* ON_Brep::Loop3dCurve </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>loop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRevCurveIfFaceRevIsTrue</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a single 3d curve that traces the entire loop </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">loop</td><td>[in] loop whose 3d curve should be duplicated</td></tr>
<tr><td class="paramname">bRevCurveIfFaceRevIsTrue</td><td>[in] If false, the returned 3d curve has an orientation compatible with the 2d curve returned by <a class="el" href="../../d9/d96/class_o_n___brep.html#a4fe2304fe39ca52c948b7aaa26af6c0f" title="Get a 3d curve that traces the entire loop ">Loop2dCurve()</a>. If true and the m_bRev flag of the loop's face is true, then the returned curve is reversed.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a 3d <a class="el" href="../../d4/d5a/class_o_n___curve.html" title="ON_Curve is a pure virtual class for curve objects ">ON_Curve</a>. The caller must delete this curve. </dd></dl>
</div>
</div>
<a id="acbb89cba7a4bac4b571af9111bff042b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbb89cba7a4bac4b571af9111bff042b">&#9670;&nbsp;</a></span>Loop3dCurve() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::Loop3dCurve </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>loop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&gt; &amp;&#160;</td>
<td class="paramname"><em>curve_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRevCurveIfFaceRevIsTrue</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a list of 3d curves that trace the non-seam edge portions of an entire loop </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">loop</td><td>[in] loop whose 3d curve should be duplicated</td></tr>
<tr><td class="paramname">curve_list</td><td>[out] 3d curves are appended to this list</td></tr>
<tr><td class="paramname">bRevCurveIfFaceRevIsTrue</td><td>[in] If false, the returned 3d curves have an orientation compatible with the 2d curve returned by <a class="el" href="../../d9/d96/class_o_n___brep.html#a4fe2304fe39ca52c948b7aaa26af6c0f" title="Get a 3d curve that traces the entire loop ">Loop2dCurve()</a>. If true and the m_bRev flag of the loop's face is true, then the returned curves are reversed.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of curves appended to curve_list. </dd></dl>
</div>
</div>
<a id="af9053adc75275f2784a559120891093e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9053adc75275f2784a559120891093e">&#9670;&nbsp;</a></span>LoopDirection()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::LoopDirection </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af79f428e7004245ca7111fb865e37d99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af79f428e7004245ca7111fb865e37d99">&#9670;&nbsp;</a></span>LoopIsSurfaceBoundary()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::LoopIsSurfaceBoundary </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a591bae58c2aec1b17e4e530a6dbd78ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a591bae58c2aec1b17e4e530a6dbd78ca">&#9670;&nbsp;</a></span>MakeTrimCurveNurb()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html">ON_NurbsCurve</a>* ON_Brep::MakeTrimCurveNurb </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>T</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert the 2d curve of a trim to an <a class="el" href="../../d3/d6a/class_o_n___nurbs_curve.html">ON_NurbsCurve</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">T</td><td>[in] brep trim</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to m_C2[T.m_c2i] NOTE: After calling this, m_C2[T.m_c2i] will be a nurbs curve only referenced by T, with domain = T.m_t. Caller should not delete the returned curve since its memory is owned by the brep (this). </dd></dl>
</div>
</div>
<a id="afc3a33c65952431528528e00b741ade5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc3a33c65952431528528e00b741ade5">&#9670;&nbsp;</a></span>MarkAggregateComponentStatusAsNotCurrent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::MarkAggregateComponentStatusAsNotCurrent </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a609192fbafecbe4be3136d8cb4dce882">ON_Object</a>.</p>
</div>
</div>
<a id="ad492a77bcce77924f7910e7f1405fc6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad492a77bcce77924f7910e7f1405fc6c">&#9670;&nbsp;</a></span>MatchTrimEnds() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::MatchTrimEnds </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>T0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>T1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Match the end of a trim to the start of the next trim. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">T0</td><td>[in] brep trim</td></tr>
<tr><td class="paramname">T1</td><td>[in] brep trim that comes immediately after T0 in the same loop</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if either trim's 2d curve is changed </dd></dl>
</div>
</div>
<a id="a4147bccaf4394517ba92017835273fcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4147bccaf4394517ba92017835273fcb">&#9670;&nbsp;</a></span>MatchTrimEnds() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::MatchTrimEnds </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trim_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Match the endpoints of a trim to the next and previous trim </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trim_index</td><td>[in] index into m_T</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if any trim's 2d curve is changed </dd></dl>
</div>
</div>
<a id="ae6148bcd04c027cacb1c8084261c3d60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6148bcd04c027cacb1c8084261c3d60">&#9670;&nbsp;</a></span>MatchTrimEnds() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::MatchTrimEnds </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>Loop</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Match the endpoints of all trims in a loop </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">Loop</td><td>[in] brep loop</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if any trim's 2d curve is changed </dd></dl>
</div>
</div>
<a id="a7ab989193175b55bc5bd47ce212a00f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ab989193175b55bc5bd47ce212a00f3">&#9670;&nbsp;</a></span>MatchTrimEnds() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::MatchTrimEnds </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Match the endpoints of all trims in a brep </p>
<dl class="section return"><dt>Returns</dt><dd>true if any trim's 2d curve is changed </dd></dl>
</div>
</div>
<a id="a68391746e3eac8aab93b3ced47038061"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68391746e3eac8aab93b3ced47038061">&#9670;&nbsp;</a></span>MemoryRelocate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::MemoryRelocate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Override of virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#ae0674ccb79b6333e4b3c8e95ee10dd73" title="The MemoryRelocate() function is called when an object&#39;s location in memory is changed. For example, if an object resides in a chunk of memory that is grown by calling a realloc that has to allocate a new chunk and copy the contents of the old chunk to the new chunk, then the location of the object&#39;s memory changes. In practice this happens when classes derived from ON_Object are stored in dynamic arrays, like the default implementation of ON_ObjectArray&lt;&gt;&#39;s that use realloc to grow the dynamic array. ">ON_Object::MemoryRelocate</a>. </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#ae0674ccb79b6333e4b3c8e95ee10dd73">ON_Object</a>.</p>
</div>
</div>
<a id="a267bbcf84836b9de198404f5f8447114"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a267bbcf84836b9de198404f5f8447114">&#9670;&nbsp;</a></span>MergeFaces() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::MergeFaces </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>fid0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>fid1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If fid0 != fid1 and m_F[fid0] and m_F[fid1] have the same surface (m_si is identical), and they are joined along a set of edges that do not have any other faces, then this will combine the two faces into one. </p>
<p>TODODOC: fid0, fid1 - [in] indices into m_F of faces to be merged. </p><dl class="section return"><dt>Returns</dt><dd>id of merged face if faces were successfully merged. -1 if not merged. </dd></dl>
<p>Caller should call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">Compact()</a> when done. </p>
</div>
</div>
<a id="a9b9d2a090e11afada04a61fc92824720"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b9d2a090e11afada04a61fc92824720">&#9670;&nbsp;</a></span>MergeFaces() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::MergeFaces </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Merge all possible faces that have the same m_si </p>
<dl class="section return"><dt>Returns</dt><dd>true if any faces were successfully merged. </dd></dl>
<p>Caller should call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">Compact()</a> when done. </p>
</div>
</div>
<a id="acced23d3a7d4bc67e1f9c49161e821ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acced23d3a7d4bc67e1f9c49161e821ad">&#9670;&nbsp;</a></span>New() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* ON_Brep::New </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Use <a class="el" href="../../d9/d96/class_o_n___brep.html#acced23d3a7d4bc67e1f9c49161e821ad" title="Use ON_Brep::New() instead of new ON_Brep() when writing Rhino plug-ins (or when openNURBS is used as...">ON_Brep::New()</a> instead of new <a class="el" href="../../d9/d96/class_o_n___brep.html#a10524dbce7f6ead309590b5c4689d273" title="Construction. ">ON_Brep()</a> when writing Rhino plug-ins (or when openNURBS is used as a Microsoft DLL and you need to create a new <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> in a different .EXE or .DLL). </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to an <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>. Destroy by calling delete. </dd></dl>
<p>When openNURBS is used as a Microsoft DLL, the CL.EXE compiler uses local vtables for classes that are new-ed in other executables but uses the ordinary vtable for for classes that are allocated in functions like ON_BrepCylinder(), ON_NurbsSurfaceQuadrilateral(), ON_Cylinder::RevSurfaceForm(nullptr), etc. Using static <a class="el" href="../../d9/d96/class_o_n___brep.html#acced23d3a7d4bc67e1f9c49161e821ad" title="Use ON_Brep::New() instead of new ON_Brep() when writing Rhino plug-ins (or when openNURBS is used as...">New()</a> functions like <a class="el" href="../../d9/d96/class_o_n___brep.html#acced23d3a7d4bc67e1f9c49161e821ad" title="Use ON_Brep::New() instead of new ON_Brep() when writing Rhino plug-ins (or when openNURBS is used as...">ON_Brep::New()</a> insures that identical classes has the same vtable and makes all code run identically. </p>
<div class="fragment"><div class="line">@verbatim</div><div class="line"> <span class="comment">// bad - ON_Brep* pBrep = new ON_Brep();</span></div><div class="line"> <a class="code" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* pBrep = <a class="code" href="../../d9/d96/class_o_n___brep.html#acced23d3a7d4bc67e1f9c49161e821ad">ON_Brep::New</a>(); <span class="comment">// good</span></div><div class="line"> ...</div><div class="line"> <span class="keyword">delete</span> pBrep;</div><div class="line"> pBrep = <span class="keyword">nullptr</span>;</div><div class="line"><span class="keyword">@end</span>verbatim</div></div><!-- fragment -->
</div>
</div>
<a id="af3069c70c366e55909d2912633e32b72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3069c70c366e55909d2912633e32b72">&#9670;&nbsp;</a></span>New() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* ON_Brep::New </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Use <a class="el" href="../../d9/d96/class_o_n___brep.html#af3069c70c366e55909d2912633e32b72" title="Use ON_Brep::New(const ON_Brep&amp; src) instead of new ON_Brep(const ON_Brep&amp; src). ">ON_Brep::New(const ON_Brep&amp; src)</a> instead of new <a class="el" href="../../d9/d96/class_o_n___brep.html#ab5e1c9c771493c22c37ac999ac33c97b">ON_Brep(const ON_Brep&amp; src)</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to an <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>. Destroy by calling delete. </dd></dl>
<p>See static ON_Brep* <a class="el" href="../../d9/d96/class_o_n___brep.html#acced23d3a7d4bc67e1f9c49161e821ad" title="Use ON_Brep::New() instead of new ON_Brep() when writing Rhino plug-ins (or when openNURBS is used as...">ON_Brep::New()</a> for details. </p>
</div>
</div>
<a id="a404c108a2d209572cf9a369fbb7fdc95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a404c108a2d209572cf9a369fbb7fdc95">&#9670;&nbsp;</a></span>NewConeFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a>* ON_Brep::NewConeFace </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td>
<td class="paramname"><em>vertex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRevEdge</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new face to the brep whose surface geometry is a ruled cone with the edge as the base and the vertex as the apex point. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vertex</td><td>[in] The apex of the cone will be at this vertex. The north side of the surface's parameter space will be a singular point at the vertex.</td></tr>
<tr><td class="paramname">edge</td><td>[in] The south side of the face's surface will run along this edge.</td></tr>
<tr><td class="paramname">bRevEdge</td><td>[in] true if the new face's outer boundary orientation along the edge is opposite the orientation of edge.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the new face or a nullptr if the new face could not be created. </dd></dl>
</div>
</div>
<a id="ae013b93d9d59ee0d61e4152e86cc90c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae013b93d9d59ee0d61e4152e86cc90c0">&#9670;&nbsp;</a></span>NewCurveOnFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; ON_Brep::NewCurveOnFace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>face</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRev3d</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2i</em> = <code>-1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new curve on face to the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face</td><td>[in] face that curve lies on</td></tr>
<tr><td class="paramname">edge</td><td>[in] 3d edge associated with this curve on surface</td></tr>
<tr><td class="paramname">bRev3d</td><td>[in] true if the 3d edge and the 2d parameter space curve have opposite directions.</td></tr>
<tr><td class="paramname">c2i</td><td>[in] index of 2d curve in face's parameter space</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new trim that represents the curve on surface </dd></dl>
<p>You should set the trim's <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">ON_BrepTrim::m_tolerance</a> and <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">ON_BrepTrim::m_iso</a> values. </p>
</div>
</div>
<a id="afc1ca09f247e2d4bf24c59683f9d0121"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc1ca09f247e2d4bf24c59683f9d0121">&#9670;&nbsp;</a></span>NewEdge() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a>&amp; ON_Brep::NewEdge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"> = <code>-1</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8a10e760f51bf567959a8e7013d72027"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a10e760f51bf567959a8e7013d72027">&#9670;&nbsp;</a></span>NewEdge() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a>&amp; ON_Brep::NewEdge </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> *&#160;</td>
<td class="paramname"> = <code>nullptr</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>edge_tolerance</em> = <code>ON_UNSET_VALUE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a051248257216c172a0b04b1c811996ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a051248257216c172a0b04b1c811996ce">&#9670;&nbsp;</a></span>NewFace() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a>&amp; ON_Brep::NewFace </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>si</em> = <code>-1</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new face to a brep. An incomplete face is added. The caller must create and fill in the loops used by the face. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">si</td><td>[in] index of surface in brep's m_S[] array</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to new face. </dd></dl>
<p>Adding a new face may grow the dynamic m_F array. When this happens pointers and references to memory in the previous m_F[] array may become invalid. Use face indices if this is an issue. </p>
<div class="fragment"><div class="line">See ON_BrepBox and ON_BrepSphere source code.</div></div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a6bca40652af99b3785b19f45dfd571db">ON_Brep::AddSurface</a></dd></dl>
</div>
</div>
<a id="a44cee299eea267f1d3bef88b204dcd11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44cee299eea267f1d3bef88b204dcd11">&#9670;&nbsp;</a></span>NewFace() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a>* ON_Brep::NewFace </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> &amp;&#160;</td>
<td class="paramname"><em>surface</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new face to a brep. This creates a complete face with new vertices at the surface corners, new edges along the surface boundary, etc. The loop of the returned face has four trims that correspond to the south, east, north, and west side of the surface in that order. If you use this version of NewFace to add an exiting brep, then you are responsible for using a tool like ON_Brep::JoinEdges() to hook the new face to its neighbors. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">surface</td><td>[in] surface is copied.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to new face. </dd></dl>
<p>Adding a new face may grow the dynamic arrays used to store vertices, edges, faces, loops, and trims. When these dyamic arrays are grown, any pointers and references to memory in the previous arrays may become invalid. Use indices if this is an issue. </p>
<dl class="section see"><dt>See also</dt><dd>ON_Brep::JoinEdges, <a class="el" href="../../d9/d96/class_o_n___brep.html#a6bca40652af99b3785b19f45dfd571db">ON_Brep::AddSurface</a></dd></dl>
</div>
</div>
<a id="a13c76000d572e6c09fa6bb83763329de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13c76000d572e6c09fa6bb83763329de">&#9670;&nbsp;</a></span>NewFace() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a>* ON_Brep::NewFace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> *&#160;</td>
<td class="paramname"><em>pSurface</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vid</em>[4], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>eid</em>[4], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRev3d</em>[4]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new face to brep. This version is for expert users. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pSurface</td><td>[in] the returned face will have an outer loop that goes around the edges of the surface.</td></tr>
<tr><td class="paramname">vid</td><td>[in/out] four vertex indices that specify the vertices at the (sw,se,nw,ne) corners. If the input value of a vertex index is -1, then the vertex will be created.</td></tr>
<tr><td class="paramname">eid</td><td>[in/out] four edge indices that specify the edges for the (south,east,north,west) sides. If the input value of an edge index is -1, then the edge will be created.</td></tr>
<tr><td class="paramname">bRev3d</td><td>[in/out] four values of the trim m_bRev3d flags of the (south,east,north,west) sides.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the new face or nullptr if input is not valid. If null is returned, then the caller must delete pSurace unless it was previously added to the brep's m_S[] array. </dd></dl>
<p>Adding a new face may grow the dynamic m_F array. When this happens pointers and references to memory in the previous m_F[] array may become invalid. Use face indices if this is an issue. </p>
<div class="fragment"><div class="line">See ON_BrepBox and ON_BrepSphere source code.</div></div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a6bca40652af99b3785b19f45dfd571db">ON_Brep::AddSurface</a>, ON_Brep::AddFace( int si ), <a class="el" href="../../d9/d96/class_o_n___brep.html#ae39151302c8c46ff57042b2474efc14f" title="Create a brep from a surface. The resulting surface has an outer boundary made from four trims...">ON_Brep::Create( ON_Surface*&amp; )</a></dd></dl>
</div>
</div>
<a id="a8b77e03da2fd19790a94b15fc2423495"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b77e03da2fd19790a94b15fc2423495">&#9670;&nbsp;</a></span>NewLoop() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a>&amp; ON_Brep::NewLoop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605">ON_BrepLoop::TYPE</a>&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new empty boundary loop. The new loop will not be part of a face and will not include any trim curves. </p>
<dl class="section return"><dt>Returns</dt><dd>New boundary loop. </dd></dl>
</div>
</div>
<a id="a7998ee5a7253e692c351994f14cd4a5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7998ee5a7253e692c351994f14cd4a5e">&#9670;&nbsp;</a></span>NewLoop() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a>&amp; ON_Brep::NewLoop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605">ON_BrepLoop::TYPE</a>&#160;</td>
<td class="paramname"><em>loop_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>face</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new boundary loop on a face. After you get this <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a>, you still need to create the vertices, edges, and trims that define the loop. </p>
<dl class="section return"><dt>Returns</dt><dd>New loop that needs to be filled in. </dd></dl>
</div>
</div>
<a id="a3711aeb400342fa78798dcdbce8bef88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3711aeb400342fa78798dcdbce8bef88">&#9670;&nbsp;</a></span>NewOuterLoop() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a>* ON_Brep::NewOuterLoop </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new outer boundary loop that runs along the sides of the face's surface. All the necessary trims, edges, and vertices are created and added to the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_index</td><td>[in] index of face that needs an outer boundary that runs along the sides of its surface.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>New outer boundary loop that is complete. </dd></dl>
</div>
</div>
<a id="a733d1f8cea2f9a5f5a92aea266016571"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a733d1f8cea2f9a5f5a92aea266016571">&#9670;&nbsp;</a></span>NewOuterLoop() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a>* ON_Brep::NewOuterLoop </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vid</em>[4], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>eid</em>[4], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRev3d</em>[4]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new face to brep. This version is for expert users. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_index</td><td>[in] index of face that will get a new outer loop running around the sides of the face's underlying surface.</td></tr>
<tr><td class="paramname">vid</td><td>[in/out] four vertex indices that specify the vertices at the (sw,se,nw,ne) corners. If the input value of a vertex index is -1, then the vertex will be created.</td></tr>
<tr><td class="paramname">eid</td><td>[in/out] four edge indices that specify the edges for the (south,east,north,west) sides. If the input value of an edge index is -1, then the edge will be created.</td></tr>
<tr><td class="paramname">bRev3d</td><td>[in/out] four values of the trim m_bRev3d flags of the (south,east,north,west) sides.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the new loop or nullptr if input is not valid. </dd></dl>
<p>Adding a new loop may grow the dynamic m_L array. When this happens pointers and references to memory in the previous m_L[] array may become invalid. Use face indices if this is an issue. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a051248257216c172a0b04b1c811996ce" title="Add a new face to a brep. An incomplete face is added. The caller must create and fill in the loops u...">ON_Brep::NewFace</a></dd></dl>
</div>
</div>
<a id="a321dcb9cf95e5172f55365ca05e82397"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a321dcb9cf95e5172f55365ca05e82397">&#9670;&nbsp;</a></span>NewPlanarFaceLoop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::NewPlanarFaceLoop </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605">ON_BrepLoop::TYPE</a>&#160;</td>
<td class="paramname"><em>loop_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dc/dfe/class_o_n___simple_array.html">ON_SimpleArray</a>&lt; <a class="el" href="../../d4/d5a/class_o_n___curve.html">ON_Curve</a> *&gt; &amp;&#160;</td>
<td class="paramname"><em>boundary</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDuplicateCurves</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a planar trimming loop to a planar face. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_index</td><td>[in] index of planar face. The underlying suface must be an <a class="el" href="../../d4/db5/class_o_n___plane_surface.html">ON_PlaneSurface</a>.</td></tr>
<tr><td class="paramname">loop_type</td><td>[in] type of loop to add. If loop_type is <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605a9e4d15b324e3dbe4a659fc0bd22feae2">ON_BrepLoop::unknown</a>, then the loop direction is tested and the the new loops type will be set to <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605a3327fa96da8f4d8da8d2e63a3d9735f3">ON_BrepLoop::outer</a> or <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605a6b6e6c91f5d79d533e23b8c9e9fa0bd7">ON_BrepLoop::inner</a>. If the loop_type is <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605a3327fa96da8f4d8da8d2e63a3d9735f3">ON_BrepLoop::outer</a>, then the direction of the new loop is tested and flipped if it is clockwise. If the loop_type is <a class="el" href="../../d0/d1c/class_o_n___brep_loop.html#a6d110ea16437f324a14cc27db4ed0605a6b6e6c91f5d79d533e23b8c9e9fa0bd7">ON_BrepLoop::inner</a>, then the direction of the new loop is tested and flipped if it is counter-clockwise.</td></tr>
<tr><td class="paramname">boundary</td><td>[in] a list of 3d curves that form a simple (no self intersections) closed curve. These curves define the 3d edge geometry and should be near the planar surface.</td></tr>
<tr><td class="paramname">bDuplicateCurves</td><td>[in] If true, then duplicates of the curves in the boundary array are added to the brep. If false, the curves in the boundary array are added to the brep and will be deleted by <a class="el" href="../../d9/d96/class_o_n___brep.html#a9876bf5e07c176643ddcf6e300ed3410">ON_Brep::~ON_Brep</a>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful. The new loop will be brep.m_L.Last(). </dd></dl>
</div>
</div>
<a id="a9a52845aa3ff14778dd8f366fddf5506"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a52845aa3ff14778dd8f366fddf5506">&#9670;&nbsp;</a></span>NewPointOnFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a>&amp; ON_Brep::NewPointOnFace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>face</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>t</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds a new point on face to the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face</td><td>[in] face that vertex lies on s,t - [in] surface parameters</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new vertex that represents the point on face. </dd></dl>
<p>If a vertex is a point on a face, then brep.m_E[m_ei] will be an edge with no 3d curve. This edge will have a single trim with type <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a4e2b20d9b31e02383f6cb3c36670d833af1c00529cfc6ace3fad9901951fb2e57">ON_BrepTrim::ptonsrf</a>. There will be a loop containing this single trim. </p>
</div>
</div>
<a id="a2963b4eb285495eddf451cd62e8d70c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2963b4eb285495eddf451cd62e8d70c9">&#9670;&nbsp;</a></span>NewRuledFace()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a>* ON_Brep::NewRuledFace </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edgeA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRevEdgeA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edgeB</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRevEdgeB</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new face to the brep whose surface geometry is a ruled surface between two edges. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">edgeA</td><td>[in] The south side of the face's surface will run along edgeA.</td></tr>
<tr><td class="paramname">bRevEdgeA</td><td>[in] true if the new face's outer boundary orientation along edgeA is opposite the orientation of edgeA.</td></tr>
<tr><td class="paramname">edgeB</td><td>[in] The north side of the face's surface will run along edgeA.</td></tr>
<tr><td class="paramname">bRevEdgeB</td><td>[in] true if the new face's outer boundary orientation along edgeB is opposite the orientation of edgeB.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the new face or a nullptr if the new face could not be created. </dd></dl>
</div>
</div>
<a id="abfd61b79756fb6dc4584515b824753b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfd61b79756fb6dc4584515b824753b1">&#9670;&nbsp;</a></span>NewSingularTrim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; ON_Brep::NewSingularTrim </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td>
<td class="paramname"><em>vertex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>loop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../da/da0/class_o_n___surface.html#a7418fb8120619cb5f17bd4283ad37087">ON_Surface::ISO</a>&#160;</td>
<td class="paramname"><em>iso</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2i</em> = <code>-1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new singular trim to the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vertex</td><td>[in] vertex along collapsed surface edge</td></tr>
<tr><td class="paramname">loop</td><td>[in] trim is appended to this loop</td></tr>
<tr><td class="paramname">iso</td><td>[in] one of <a class="el" href="../../da/da0/class_o_n___surface.html#a7418fb8120619cb5f17bd4283ad37087a679d810bb0f81cf47468c197ece3a931">ON_Surface::S_iso</a>, <a class="el" href="../../da/da0/class_o_n___surface.html#a7418fb8120619cb5f17bd4283ad37087ab307c0ca4d4e514650445a4cd06c78ac">ON_Surface::E_iso</a>, <a class="el" href="../../da/da0/class_o_n___surface.html#a7418fb8120619cb5f17bd4283ad37087afeed892fcad04099c847059c6c7d9a3f">ON_Surface::N_iso</a>, or <a class="el" href="../../da/da0/class_o_n___surface.html#a7418fb8120619cb5f17bd4283ad37087afa931b2cc684b7f087669c55217acce2">ON_Surface::W_iso</a>.</td></tr>
<tr><td class="paramname">c2i</td><td>[in] index of 2d trimming curve</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new trim </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a03053263b27d2d2ad756d60aa3d334d8" title="Add a new trim that will be part of an inner, outer, or slit loop to the brep. ">ON_Brep::NewTrim</a></dd></dl>
</div>
</div>
<a id="a03053263b27d2d2ad756d60aa3d334d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03053263b27d2d2ad756d60aa3d334d8">&#9670;&nbsp;</a></span>NewTrim() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; ON_Brep::NewTrim </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2i</em> = <code>-1</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new trim that will be part of an inner, outer, or slit loop to the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">c2i</td><td>[in] index of 2d trimming curve</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new trim </dd></dl>
<p>You should set the trim's <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">ON_BrepTrim::m_tolerance</a>, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#aa5260a30fa87ae3c45e08facc8272bff">ON_BrepTrim::m_type</a>, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">ON_BrepTrim::m_iso</a>, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#ad532777b0ebbcfabff713715e1e46765" title="index of loop that uses this trim ">ON_BrepTrim::m_li</a>, and <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a19d451ccd47c559a401aa7349aec1ee5" title="index of 3d edge (-1 if ON_BrepTrim is singular) ">ON_BrepTrim::m_ei</a> values. In general, you should try to use the ON_BrepTrim::NewTrim( edge, bRev3d, loop, c2i ) version of NewTrim. If you want to add a singular trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1" title="Add a new singular trim to the brep. ">ON_Brep::NewSingularTrim</a>. If you want to add a crvonsrf trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0" title="Add a new curve on face to the brep. ">ON_Brep::NewCurveOnFace</a>. If you want to add a ptonsrf trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506" title="Adds a new point on face to the brep. ">ON_Brep::NewPointOnFace</a>. </p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> c2i = brep-&gt;AddTrimCurve( p2dCurve );</div><div class="line"><a class="code" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; trim = <a class="code" href="../../d9/d96/class_o_n___brep.html#a03053263b27d2d2ad756d60aa3d334d8">NewTrim</a>( edge, bRev3d, loop, c2i );</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a19d451ccd47c559a401aa7349aec1ee5">m_ei</a> = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#ad532777b0ebbcfabff713715e1e46765">m_li</a> = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">m_tolerance</a>[0] = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">m_tolerance</a>[1] = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#aa5260a30fa87ae3c45e08facc8272bff">m_type</a> = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">m_iso</a> = ...;</div></div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#af1e4b2b933b19ef09d364c7b4bdd3820">ON_Brep::SetTrimTypeFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ac040323515f674fcabf8be6e273b0541">ON_Brep::SetTrimIsoFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1" title="Add a new singular trim to the brep. ">ON_Brep::NewSingularTrim</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506" title="Adds a new point on face to the brep. ">ON_Brep::NewPointOnFace</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0" title="Add a new curve on face to the brep. ">ON_Brep::NewCurveOnFace</a></dd></dl>
</div>
</div>
<a id="aad340bcdb868f427a7dcc3d112bcb68f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad340bcdb868f427a7dcc3d112bcb68f">&#9670;&nbsp;</a></span>NewTrim() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; ON_Brep::NewTrim </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRev3d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>loop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2i</em> = <code>-1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new trim that will be part of an inner, outer, or slit loop to the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bRev3d</td><td>[in] <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a6143f7dd54e22d0319b580fac91cfa3e" title="true if the 2d trim and 3d edge have opposite orientations. ">ON_BrepTrim::m_bRev3d</a> value. true if the edge and trim have opposite directions.</td></tr>
<tr><td class="paramname">loop</td><td>[in] trim is appended to this loop</td></tr>
<tr><td class="paramname">c2i</td><td>[in] index of 2d trimming curve</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new trim </dd></dl>
<p>You should set the trim's <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">ON_BrepTrim::m_tolerance</a>, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#aa5260a30fa87ae3c45e08facc8272bff">ON_BrepTrim::m_type</a>, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">ON_BrepTrim::m_iso</a>, and <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a19d451ccd47c559a401aa7349aec1ee5" title="index of 3d edge (-1 if ON_BrepTrim is singular) ">ON_BrepTrim::m_ei</a> values. In general, you should try to use the ON_BrepTrim::NewTrim( edge, bRev3d, loop, c2i ) version of NewTrim. If you want to add a singular trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1" title="Add a new singular trim to the brep. ">ON_Brep::NewSingularTrim</a>. If you want to add a crvonsrf trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0" title="Add a new curve on face to the brep. ">ON_Brep::NewCurveOnFace</a>. If you want to add a ptonsrf trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506" title="Adds a new point on face to the brep. ">ON_Brep::NewPointOnFace</a>. </p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> c2i = brep-&gt;AddTrimCurve( p2dCurve );</div><div class="line"><a class="code" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; trim = <a class="code" href="../../d9/d96/class_o_n___brep.html#a03053263b27d2d2ad756d60aa3d334d8">NewTrim</a>( edge, bRev3d, loop, c2i );</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a19d451ccd47c559a401aa7349aec1ee5">m_ei</a> = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">m_tolerance</a>[0] = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">m_tolerance</a>[1] = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#aa5260a30fa87ae3c45e08facc8272bff">m_type</a> = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">m_iso</a> = ...;</div></div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#af1e4b2b933b19ef09d364c7b4bdd3820">ON_Brep::SetTrimTypeFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ac040323515f674fcabf8be6e273b0541">ON_Brep::SetTrimIsoFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1" title="Add a new singular trim to the brep. ">ON_Brep::NewSingularTrim</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506" title="Adds a new point on face to the brep. ">ON_Brep::NewPointOnFace</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0" title="Add a new curve on face to the brep. ">ON_Brep::NewCurveOnFace</a></dd></dl>
</div>
</div>
<a id="ac737eaa361889e5b036892d56b058225"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac737eaa361889e5b036892d56b058225">&#9670;&nbsp;</a></span>NewTrim() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; ON_Brep::NewTrim </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRev3d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2i</em> = <code>-1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new trim that will be part of an inner, outer, or slit loop to the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">edge</td><td>[in] 3d edge associated with this trim</td></tr>
<tr><td class="paramname">bRev3d</td><td>[in] <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a6143f7dd54e22d0319b580fac91cfa3e" title="true if the 2d trim and 3d edge have opposite orientations. ">ON_BrepTrim::m_bRev3d</a> value. true if the edge and trim have opposite directions.</td></tr>
<tr><td class="paramname">c2i</td><td>[in] index of 2d trimming curve</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new trim </dd></dl>
<p>You should set the trim's <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">ON_BrepTrim::m_tolerance</a>, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#aa5260a30fa87ae3c45e08facc8272bff">ON_BrepTrim::m_type</a>, <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">ON_BrepTrim::m_iso</a>, and <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#ad532777b0ebbcfabff713715e1e46765" title="index of loop that uses this trim ">ON_BrepTrim::m_li</a> values. In general, you should try to use the ON_BrepTrim::NewTrim( edge, bRev3d, loop, c2i ) version of NewTrim. If you want to add a singular trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1" title="Add a new singular trim to the brep. ">ON_Brep::NewSingularTrim</a>. If you want to add a crvonsrf trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0" title="Add a new curve on face to the brep. ">ON_Brep::NewCurveOnFace</a>. If you want to add a ptonsrf trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506" title="Adds a new point on face to the brep. ">ON_Brep::NewPointOnFace</a>. </p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> c2i = brep-&gt;AddTrimCurve( p2dCurve );</div><div class="line"><a class="code" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; trim = <a class="code" href="../../d9/d96/class_o_n___brep.html#a03053263b27d2d2ad756d60aa3d334d8">NewTrim</a>( edge, bRev3d, c2i );</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#ad532777b0ebbcfabff713715e1e46765">m_li</a> = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">m_tolerance</a>[0] = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">m_tolerance</a>[1] = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#aa5260a30fa87ae3c45e08facc8272bff">m_type</a> = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">m_iso</a> = ...;</div></div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#af1e4b2b933b19ef09d364c7b4bdd3820">ON_Brep::SetTrimTypeFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ac040323515f674fcabf8be6e273b0541">ON_Brep::SetTrimIsoFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1" title="Add a new singular trim to the brep. ">ON_Brep::NewSingularTrim</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506" title="Adds a new point on face to the brep. ">ON_Brep::NewPointOnFace</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0" title="Add a new curve on face to the brep. ">ON_Brep::NewCurveOnFace</a></dd></dl>
</div>
</div>
<a id="a48b7cf69275e5b56167f147f19e04bef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48b7cf69275e5b56167f147f19e04bef">&#9670;&nbsp;</a></span>NewTrim() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; ON_Brep::NewTrim </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bRev3d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>loop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2i</em> = <code>-1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a new trim that will be part of an inner, outer, or slit loop to the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">edge</td><td>[in] 3d edge associated with this trim</td></tr>
<tr><td class="paramname">bRev3d</td><td>[in] <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a6143f7dd54e22d0319b580fac91cfa3e" title="true if the 2d trim and 3d edge have opposite orientations. ">ON_BrepTrim::m_bRev3d</a> value. true if the edge and trim have opposite directions.</td></tr>
<tr><td class="paramname">loop</td><td>[in] trim is appended to this loop</td></tr>
<tr><td class="paramname">c2i</td><td>[in] index of 2d trimming curve</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new trim </dd></dl>
<p>You should set the trim's <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">ON_BrepTrim::m_tolerance</a> values. If c2i is -1, you must set the trim's <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">ON_BrepTrim::m_iso</a> values. This version of NewTrim sets the trim.m_type value. If the input edge or loop are not currently valid, then you may need to adjust the trim.m_type value. If you want to add a singular trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1" title="Add a new singular trim to the brep. ">ON_Brep::NewSingularTrim</a>. If you want to add a crvonsrf trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0" title="Add a new curve on face to the brep. ">ON_Brep::NewCurveOnFace</a>. If you want to add a ptonsrf trim, use <a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506" title="Adds a new point on face to the brep. ">ON_Brep::NewPointOnFace</a>. </p>
<div class="fragment"><div class="line"><span class="keywordtype">int</span> c2i = brep-&gt;AddTrimCurve( p2dCurve );</div><div class="line"><a class="code" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>&amp; trim = brep-&gt;NewTrim( edge, bRev3d, loop, c2i );</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">m_tolerance</a>[0] = ...;</div><div class="line">trim.<a class="code" href="../../d3/dac/class_o_n___brep_trim.html#a60a0508c2a9b3e9aeeae4826d4dcde4f">m_tolerance</a>[1] = ...;</div></div><!-- fragment --> <dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#af1e4b2b933b19ef09d364c7b4bdd3820">ON_Brep::SetTrimTypeFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ac040323515f674fcabf8be6e273b0541">ON_Brep::SetTrimIsoFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#abfd61b79756fb6dc4584515b824753b1" title="Add a new singular trim to the brep. ">ON_Brep::NewSingularTrim</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9a52845aa3ff14778dd8f366fddf5506" title="Adds a new point on face to the brep. ">ON_Brep::NewPointOnFace</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ae013b93d9d59ee0d61e4152e86cc90c0" title="Add a new curve on face to the brep. ">ON_Brep::NewCurveOnFace</a></dd></dl>
</div>
</div>
<a id="a38a097d1bafa3189d05a9be98119b1d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38a097d1bafa3189d05a9be98119b1d2">&#9670;&nbsp;</a></span>NewVertex() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a>&amp; ON_Brep::NewVertex </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1e9401f87599b10cd9230cbe85a2bfe5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e9401f87599b10cd9230cbe85a2bfe5">&#9670;&nbsp;</a></span>NewVertex() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a>&amp; ON_Brep::NewVertex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td>
<td class="paramname"><em>vertex_point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>vertex_tolerance</em> = <code>ON_UNSET_VALUE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0c446fcc86d077d9d614a6a667dab7d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c446fcc86d077d9d614a6a667dab7d4">&#9670;&nbsp;</a></span>NextEdge()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::NextEdge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>current_edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>endi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>next_endi</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is a simple tool for getting running through the edges that begin and end at a vertex. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">current_edge_index</td><td>[in]</td></tr>
<tr><td class="paramname">endi</td><td>[in] 0 = use the edge start vertex, 1 = use the edge end vertex</td></tr>
<tr><td class="paramname">next_endi</td><td>[out] 0 if next edge begins at the vertex, 1 if next edge ends at the vertex</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>edge index of the next edge or -1 if there is only one edge that begins or ends at the vertex. </dd></dl>
<p>This is a tool that simplifies searching through the <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html#a0744c3fe07890f0ce194a0fadca4b24d" title="Implementation. ">ON_BrepVertex.m_ei</a>[] array. The edges are in no particular order. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a0c446fcc86d077d9d614a6a667dab7d4" title="This is a simple tool for getting running through the edges that begin and end at a vertex...">ON_Brep::NextEdge</a></dd></dl>
</div>
</div>
<a id="a0df9327271879511c983a48f952c350d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0df9327271879511c983a48f952c350d">&#9670;&nbsp;</a></span>NextNonsingularTrim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::NextNonsingularTrim </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afde92e47555f607347d35c6a38a1ceaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afde92e47555f607347d35c6a38a1ceaa">&#9670;&nbsp;</a></span>NextTrim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::NextTrim </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7053bac2951282366b5627f3e074e767"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7053bac2951282366b5627f3e074e767">&#9670;&nbsp;</a></span>ObjectType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON::object_type ON_Brep::ObjectType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual ON_Objet::ObjectType() override </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#afa19aee4a411a8fda53aff00bd02d86e">ON_Object</a>.</p>
</div>
</div>
<a id="ae525c494c02d8111a2666dfc2554f90e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae525c494c02d8111a2666dfc2554f90e">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>&amp; ON_Brep::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a365813ea93518ba8bbddbecd8953453b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a365813ea93518ba8bbddbecd8953453b">&#9670;&nbsp;</a></span>PrevEdge()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::PrevEdge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>current_edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>endi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>prev_endi</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is a simple tool for getting running through the edges that begin and end at a vertex. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">current_edge_index</td><td>[in]</td></tr>
<tr><td class="paramname">endi</td><td>[in] 0 = use the edge start vertex, 1 = use the edge end vertex</td></tr>
<tr><td class="paramname">prev_endi</td><td>[out] 0 if previous edge begins at the vertex, 1 if previous edge ends at the vertex</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>edge index of the previous edge or -1 if there is only one edge that begins or ends at the vertex. </dd></dl>
<p>This is a tool that simplifies searching through the <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html#a0744c3fe07890f0ce194a0fadca4b24d" title="Implementation. ">ON_BrepVertex.m_ei</a>[] array. The edges are in no particular order. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a0c446fcc86d077d9d614a6a667dab7d4" title="This is a simple tool for getting running through the edges that begin and end at a vertex...">ON_Brep::NextEdge</a></dd></dl>
</div>
</div>
<a id="aea7d834eee697407bdcdc6d6c08dcb4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea7d834eee697407bdcdc6d6c08dcb4e">&#9670;&nbsp;</a></span>PrevNonsingularTrim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::PrevNonsingularTrim </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as NextTrim and PrevTrim, but skips over trims with type singular. </p>
</div>
</div>
<a id="ac22e83fea944d2e5d055a9c8055513b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac22e83fea944d2e5d055a9c8055513b9">&#9670;&nbsp;</a></span>PrevTrim()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::PrevTrim </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Navigation Interface. </p>
<p>for moving around loops - returns trim index of prev/next trim in loop </p>
</div>
</div>
<a id="a59d9ce80429fb3df537f905836e8e1ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59d9ce80429fb3df537f905836e8e1ee">&#9670;&nbsp;</a></span>Read()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::Read </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual ON_Objet::Read() override </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a09ac9742ead91dd8f9cdd579bcbfed10">ON_Object</a>.</p>
</div>
</div>
<a id="a8fe308dc2e1b01f53a8aea677c0bb9e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fe308dc2e1b01f53a8aea677c0bb9e2">&#9670;&nbsp;</a></span>Read100_BrepCurve()</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="../../d4/d5a/class_o_n___curve.html">ON_Curve</a>* ON_Brep::Read100_BrepCurve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7da9d42b65c86d73775c2f7c9367a470"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7da9d42b65c86d73775c2f7c9367a470">&#9670;&nbsp;</a></span>Read100_BrepSurface()</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="../../da/da0/class_o_n___surface.html">ON_Surface</a>* ON_Brep::Read100_BrepSurface </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa852796920df28c2009872d0bf652626"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa852796920df28c2009872d0bf652626">&#9670;&nbsp;</a></span>ReadOld100()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadOld100 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>read helpers to support various versions </p>
</div>
</div>
<a id="a9bfe2c34f35e633317f9dd74d4d8020a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bfe2c34f35e633317f9dd74d4d8020a">&#9670;&nbsp;</a></span>ReadOld101()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadOld101 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae0eb2b53d569e0a299c7c10bbcfb32c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0eb2b53d569e0a299c7c10bbcfb32c7">&#9670;&nbsp;</a></span>ReadOld200()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadOld200 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname">&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="adc75fabd794c749078e8a300ea805860"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc75fabd794c749078e8a300ea805860">&#9670;&nbsp;</a></span>ReadV1_LegacyFaceStuff()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadV1_LegacyFaceStuff </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab935cfd5ad57d80a8e21a4642d38fed5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab935cfd5ad57d80a8e21a4642d38fed5">&#9670;&nbsp;</a></span>ReadV1_LegacyLoop()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadV1_LegacyLoop </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname">&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1302dcd5e457c6afaed7fbb2bfd21732"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1302dcd5e457c6afaed7fbb2bfd21732">&#9670;&nbsp;</a></span>ReadV1_LegacyLoopStuff()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadV1_LegacyLoopStuff </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname">&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a696e3a496f24b14a896b8cd33f37701f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a696e3a496f24b14a896b8cd33f37701f">&#9670;&nbsp;</a></span>ReadV1_LegacyShellStuff()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadV1_LegacyShellStuff </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0c2d1f286ad9f9b146b35e13a5400bfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c2d1f286ad9f9b146b35e13a5400bfd">&#9670;&nbsp;</a></span>ReadV1_LegacyTrim()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadV1_LegacyTrim </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname">&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a14249ebb506b138cbe8625172e5a17dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14249ebb506b138cbe8625172e5a17dd">&#9670;&nbsp;</a></span>ReadV1_LegacyTrimStuff()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ReadV1_LegacyTrimStuff </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname">&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>helpers for reading legacy v1 trimmed surfaces and breps </p>
</div>
</div>
<a id="addb0227faa8a2644b42a79cf2ef4d9d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addb0227faa8a2644b42a79cf2ef4d9d3">&#9670;&nbsp;</a></span>RegionTopology()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../da/dfb/class_o_n___brep_region_topology.html">ON_BrepRegionTopology</a>&amp; ON_Brep::RegionTopology </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get region topology information: In order to keep the <a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> class efficient, rarely used region topology information is not maintained. If you require this information, call <a class="el" href="../../d9/d96/class_o_n___brep.html#addb0227faa8a2644b42a79cf2ef4d9d3" title="Get region topology information: In order to keep the ON_Brep class efficient, rarely used region top...">RegionTopology()</a>. </p>
</div>
</div>
<a id="a194f5f7e107f71b7edbb276b11807558"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a194f5f7e107f71b7edbb276b11807558">&#9670;&nbsp;</a></span>RemoveNesting()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::RemoveNesting </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bExtractSingleSegments</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bEdges</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bTrimCurves</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Removes nested polycurves from the m_C2[] and m_C3[] arrays. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bExtractSingleSegments</td><td>[in] if true, polycurves with a single segment are replaced with the segment curve.</td></tr>
<tr><td class="paramname">bEdges</td><td>[in] if true, the m_C3[] array is processed</td></tr>
<tr><td class="paramname">bTrimCurves</td><td>[in] if true, the m_C2[] array is processed.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if any nesting was removed and false if no nesting was removed. </dd></dl>
</div>
</div>
<a id="a7f65e37f664c24d27ea676edd125fba3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f65e37f664c24d27ea676edd125fba3">&#9670;&nbsp;</a></span>RemoveSlits() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::RemoveSlits </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>remove slit trims and slit boundaries from each face. </p>
<dl class="section return"><dt>Returns</dt><dd>true if any slits were removed </dd></dl>
<p>Caller should call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">Compact()</a> afterwards. </p>
</div>
</div>
<a id="a085dcf71b43ee1aa79c1701c016f931c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a085dcf71b43ee1aa79c1701c016f931c">&#9670;&nbsp;</a></span>RemoveSlits() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::RemoveSlits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>F</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>remove slit trims and slit boundaries from a face. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">F</td><td>[in] brep face</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if any slits were removed </dd></dl>
<p>Caller should call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">Compact()</a> when done. </p>
</div>
</div>
<a id="a736e930cafdfb1c31ba2f3e5117c2f8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a736e930cafdfb1c31ba2f3e5117c2f8e">&#9670;&nbsp;</a></span>RemoveSlits() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::RemoveSlits </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>L</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>remove slit trims from a loop. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">L</td><td>[in] brep loop</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if any slits were removed </dd></dl>
<p>Caller should call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">Compact()</a> when done. If all trims are removed, the loop will be marked as deleted. </p>
</div>
</div>
<a id="a2444746e24b803814e27778c4f679624"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2444746e24b803814e27778c4f679624">&#9670;&nbsp;</a></span>RemoveWireEdges()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::RemoveWireEdges </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bDeleteVertices</em> = <code>true</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove edges that are not connected to a face. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bDeleteVertices</td><td>[in] if true, then the vertices at the ends of the wire edges are deleted if they are not connected to face trimming edges.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of edges that were removed. </dd></dl>
<p>After you finish cleaning up the brep, you need to call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">ON_Brep::Compact()</a> to remove unused edge, trim, and vertex information from the brep's m_E[], m_V[], m_T[], m_C2[], and m_C3[] arrays.</p>
<p>If you want to remove wire edges and wiere After you finish cleaning up the brep, you need to call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">ON_Brep::Compact()</a> to remove deleted vertices from the m_V[] array. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a20a6375ffce0a7c23c705c148a69bd72" title="Remove vertices that are not connected to an edge. ">ON_Brep::RemoveWireVertices</a></dd></dl>
</div>
</div>
<a id="a20a6375ffce0a7c23c705c148a69bd72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20a6375ffce0a7c23c705c148a69bd72">&#9670;&nbsp;</a></span>RemoveWireVertices()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::RemoveWireVertices </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove vertices that are not connected to an edge. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of vertices that were deleted. </dd></dl>
<p>After you finish cleaning up the brep, you need to call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">ON_Brep::Compact()</a> to remove deleted vertices from the m_V[] array. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a2444746e24b803814e27778c4f679624" title="Remove edges that are not connected to a face. ">ON_Brep::RemoveWireEdges</a></dd></dl>
</div>
</div>
<a id="aaa49c4ab144d55a840139e2de9fff7fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa49c4ab144d55a840139e2de9fff7fe">&#9670;&nbsp;</a></span>Set_user()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Set_user </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/d38/union_o_n___u.html">ON_U</a>&#160;</td>
<td class="paramname"><em>u</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>"Expert" Interface </p>
</div>
</div>
<a id="a703f85321db5662984469699838b1a55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a703f85321db5662984469699838b1a55">&#9670;&nbsp;</a></span>SetComponentStates()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_Brep::SetComponentStates </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>component_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a>&#160;</td>
<td class="paramname"><em>states_to_set</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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#ab728c0576fd5913bc1575b74997bddb5">ON_Object</a>.</p>
</div>
</div>
<a id="ab2e0a29061c67a33020fee98cf4880e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2e0a29061c67a33020fee98cf4880e5">&#9670;&nbsp;</a></span>SetComponentStatus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_Brep::SetComponentStatus </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>component_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d9/d12/class_o_n___component_status.html">ON_ComponentStatus</a>&#160;</td>
<td class="paramname"><em>status_to_copy</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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a589f1fdc28f6259d1bd22bdedc9c4c76">ON_Object</a>.</p>
</div>
</div>
<a id="a75a882f35eb446588fa82d0c6641c27a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75a882f35eb446588fa82d0c6641c27a">&#9670;&nbsp;</a></span>SetEdgeCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetEdgeCurve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c3_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> *&#160;</td>
<td class="paramname"><em>sub_domain</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set 3d curve geometry used by a b-rep edge. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">edge</td><td>[in]</td></tr>
<tr><td class="paramname">c3_index</td><td>[in] index of 3d curve in m_C3[] array</td></tr>
<tr><td class="paramname">sub_domain</td><td>[in] if not nullptr, sub_domain is an increasing sub interval of m_C3[c3_index]-&gt;Domain().</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful. </dd></dl>
</div>
</div>
<a id="a3618a01babaf46a47a66e0341a942b74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3618a01babaf46a47a66e0341a942b74">&#9670;&nbsp;</a></span>SetEdgeDomain()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetEdgeDomain </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9eacb9c1f2ae20243959d0a52782c635"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9eacb9c1f2ae20243959d0a52782c635">&#9670;&nbsp;</a></span>SetEdgeTolerance()</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_Brep::SetEdgeTolerance </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../dd/de8/class_o_n___brep_edge.html">ON_BrepEdge</a> &amp;&#160;</td>
<td class="paramname"><em>edge</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</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">
</div>
</div>
<a id="a1457c9114a276970ca9ba40d4536b9a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1457c9114a276970ca9ba40d4536b9a5">&#9670;&nbsp;</a></span>SetEdgeTolerances()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetEdgeTolerances </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the brep's edge tolerances. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bLazy</td><td>[in] if true, only edge tolerances with the value ON_UNSET_VALUE will be set. If false, the edge tolerance is recomputed from the geometry in the brep.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a708e78a85784e161f6cb94e2050eb8f2">ON_Brep::SetVertexTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9136fad3d86a72467405f2d010da7df4">ON_Brep::SetTrimTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9eacb9c1f2ae20243959d0a52782c635">ON_Brep::SetEdgeTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a81e43c05212c16ef8a0f2e97a1cf60d4" title="Set the brep&#39;s vertex tolerances. ">ON_Brep::SetVertexTolerances</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ae7d971564956d4e722a6370940dcee44" title="Set the brep&#39;s trim tolerances. ">ON_Brep::SetTrimTolerances</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a1457c9114a276970ca9ba40d4536b9a5" title="Set the brep&#39;s edge tolerances. ">ON_Brep::SetEdgeTolerances</a>, ON_Brep::SetTolerancesAndFlags</dd></dl>
</div>
</div>
<a id="a295d6c5f2d32b9912fadb7cf4343769e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a295d6c5f2d32b9912fadb7cf4343769e">&#9670;&nbsp;</a></span>SetEdgeVertex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetEdgeVertex </td>
<td>(</td>
<td class="paramtype">const int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname">&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>helpers to create and set vertices </p>
</div>
</div>
<a id="a684e4031ac028e756faf9d11a68e15fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a684e4031ac028e756faf9d11a68e15fd">&#9670;&nbsp;</a></span>SetLoopVertices()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::SetLoopVertices </td>
<td>(</td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1a58111694f9bf33ddf03e2803049224"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a58111694f9bf33ddf03e2803049224">&#9670;&nbsp;</a></span>SetTolerancesBoxesAndFlags()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::SetTolerancesBoxesAndFlags </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bSetVertexTolerances</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bSetEdgeTolerances</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bSetTrimTolerances</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bSetTrimIsoFlags</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bSetTrimTypeFlags</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bSetLoopTypeFlags</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bSetTrimBoxes</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set tolerances and flags in a brep </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bLazy</td><td>[in] if true, only flags and tolerances that are not set will be calculated.</td></tr>
<tr><td class="paramname">bSetVertexTolerances</td><td>[in] true to compute vertex.m_tolerance values</td></tr>
<tr><td class="paramname">bSetEdgeTolerances</td><td>[in] true to compute edge.m_tolerance values</td></tr>
<tr><td class="paramname">bSetTrimTolerances</td><td>[in] true to compute trim.m_tolerance[0,1] values</td></tr>
<tr><td class="paramname">bSetTrimIsoFlags</td><td>[in] true to compute trim.m_iso values</td></tr>
<tr><td class="paramname">bSetTrimTypeFlags</td><td>[in] true to compute trim.m_type values</td></tr>
<tr><td class="paramname">bSetLoopTypeFlags</td><td>[in] true to compute loop.m_type values</td></tr>
<tr><td class="paramname">bSetTrimBoxes</td><td>[in] true to compute trim.m_pbox values</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a708e78a85784e161f6cb94e2050eb8f2">ON_Brep::SetVertexTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9eacb9c1f2ae20243959d0a52782c635">ON_Brep::SetEdgeTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9136fad3d86a72467405f2d010da7df4">ON_Brep::SetTrimTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#af1e4b2b933b19ef09d364c7b4bdd3820">ON_Brep::SetTrimTypeFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ac040323515f674fcabf8be6e273b0541">ON_Brep::SetTrimIsoFlags</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a68979013f72233511db3b75cd350a2c5">ON_Brep::ComputeLoopType</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#adca2bac17d3be3b3f6e4e712502f94fd" title="Set the trim parameter space bounding box (trim.m_pbox). ">ON_Brep::SetTrimBoundingBox</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a5a2f41930c23502839fb58bc76b2f653" title="Set the loop parameter space bounding box (loop.m_pbox). ">ON_Brep::SetTrimBoundingBoxes</a></dd></dl>
</div>
</div>
<a id="ad62696b64299b23e9bc7280d2b2902c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad62696b64299b23e9bc7280d2b2902c6">&#9670;&nbsp;</a></span>SetTolsFromLegacyValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::SetTolsFromLegacyValues </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="adca2bac17d3be3b3f6e4e712502f94fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adca2bac17d3be3b3f6e4e712502f94fd">&#9670;&nbsp;</a></span>SetTrimBoundingBox()</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_Brep::SetTrimBoundingBox </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>trim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code>&#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>Set the trim parameter space bounding box (trim.m_pbox). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trim</td><td>[in]</td></tr>
<tr><td class="paramname">bLazy</td><td>[in] if true and trim.m_pbox is valid, then the box is not set.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if trim ends up with a valid bounding box. </dd></dl>
</div>
</div>
<a id="a5a2f41930c23502839fb58bc76b2f653"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a2f41930c23502839fb58bc76b2f653">&#9670;&nbsp;</a></span>SetTrimBoundingBoxes() <span class="overload">[1/3]</span></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_Brep::SetTrimBoundingBoxes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"><em>loop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code>&#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>Set the loop parameter space bounding box (loop.m_pbox). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">loop</td><td>[in]</td></tr>
<tr><td class="paramname">bLazy</td><td>[in] if true and loop trim trim.m_pbox is valid, then that trim.m_pbox is not recalculated.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if loop ends up with a valid bounding box. </dd></dl>
</div>
</div>
<a id="ad28beea1fb21fe8a11b8deda23fab0ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad28beea1fb21fe8a11b8deda23fab0ce">&#9670;&nbsp;</a></span>SetTrimBoundingBoxes() <span class="overload">[2/3]</span></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_Brep::SetTrimBoundingBoxes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>face</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code>&#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>Set the loop and trim parameter space bounding boxes for every loop and trim in the face </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face</td><td>[in]</td></tr>
<tr><td class="paramname">bLazy</td><td>[in] if true and trim trim.m_pbox is valid, then that trim.m_pbox is not recalculated.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if all the face's loop and trim parameter space bounding boxes are valid. </dd></dl>
</div>
</div>
<a id="a3a78150292413c7967646bd0ddf0fea1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a78150292413c7967646bd0ddf0fea1">&#9670;&nbsp;</a></span>SetTrimBoundingBoxes() <span class="overload">[3/3]</span></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_Brep::SetTrimBoundingBoxes </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code></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>Set the loop and trim parameter space bounding boxes for every loop and trim in the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bLazy</td><td>[in] if true and trim trim.m_pbox is valid, then that trim.m_pbox is not recalculated.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if all the loop and trim parameter space bounding boxes are valid. </dd></dl>
</div>
</div>
<a id="a9945a7fe18ee3dc72956f344c620064b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9945a7fe18ee3dc72956f344c620064b">&#9670;&nbsp;</a></span>SetTrimCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimCurve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>trim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> *&#160;</td>
<td class="paramname"><em>sub_domain</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set 2d curve geometry used by a b-rep trim. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trim</td><td>[in]</td></tr>
<tr><td class="paramname">c2_index</td><td>[in] index of 2d curve in m_C2[] array</td></tr>
<tr><td class="paramname">sub_domain</td><td>[in] if not nullptr, sub_domain is an increasing sub interval of m_C2[c2_index]-&gt;Domain().</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful. </dd></dl>
</div>
</div>
<a id="aa026c717f5db0eae088142a46ad22351"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa026c717f5db0eae088142a46ad22351">&#9670;&nbsp;</a></span>SetTrimDomain()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimDomain </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> &amp;&#160;</td>
<td class="paramname">&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad7bde522dd78d8417ecaf3e4cc85c670"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7bde522dd78d8417ecaf3e4cc85c670">&#9670;&nbsp;</a></span>SetTrimIsoFlag() <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">void ON_Brep::SetTrimIsoFlag </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname">[6]&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>helpers to set <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#adbbcab5e1e77759ccb1118a0e94f2093">ON_BrepTrim::m_iso</a> flag </p>
</div>
</div>
<a id="a367513113fc406d51c0be97c2f9d10ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a367513113fc406d51c0be97c2f9d10ef">&#9670;&nbsp;</a></span>SetTrimIsoFlag() <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">void ON_Brep::SetTrimIsoFlag </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac040323515f674fcabf8be6e273b0541"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac040323515f674fcabf8be6e273b0541">&#9670;&nbsp;</a></span>SetTrimIsoFlags() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimIsoFlags </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad0202fe87a2a2c8ad71ece9b89acb758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0202fe87a2a2c8ad71ece9b89acb758">&#9670;&nbsp;</a></span>SetTrimIsoFlags() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimIsoFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abebecafeda68d292c8de0ffa96e69bce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abebecafeda68d292c8de0ffa96e69bce">&#9670;&nbsp;</a></span>SetTrimIsoFlags() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimIsoFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a89cb6cf7e815137d209dfefb11713cbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89cb6cf7e815137d209dfefb11713cbd">&#9670;&nbsp;</a></span>SetTrimIsoFlags() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimIsoFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a38351452b8317bc672b7203ab12585e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38351452b8317bc672b7203ab12585e9">&#9670;&nbsp;</a></span>SetTrimStartVertex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimStartVertex </td>
<td>(</td>
<td class="paramtype">const int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname">&#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">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9136fad3d86a72467405f2d010da7df4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9136fad3d86a72467405f2d010da7df4">&#9670;&nbsp;</a></span>SetTrimTolerance()</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_Brep::SetTrimTolerance </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>trim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</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">
</div>
</div>
<a id="ae7d971564956d4e722a6370940dcee44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7d971564956d4e722a6370940dcee44">&#9670;&nbsp;</a></span>SetTrimTolerances()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimTolerances </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the brep's trim tolerances. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bLazy</td><td>[in] if true, only trim tolerances with the value ON_UNSET_VALUE will be set. If false, the trim tolerance is recomputed from the geometry in the brep.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a708e78a85784e161f6cb94e2050eb8f2">ON_Brep::SetVertexTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9136fad3d86a72467405f2d010da7df4">ON_Brep::SetTrimTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9eacb9c1f2ae20243959d0a52782c635">ON_Brep::SetEdgeTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a81e43c05212c16ef8a0f2e97a1cf60d4" title="Set the brep&#39;s vertex tolerances. ">ON_Brep::SetVertexTolerances</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ae7d971564956d4e722a6370940dcee44" title="Set the brep&#39;s trim tolerances. ">ON_Brep::SetTrimTolerances</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a1457c9114a276970ca9ba40d4536b9a5" title="Set the brep&#39;s edge tolerances. ">ON_Brep::SetEdgeTolerances</a>, ON_Brep::SetTolerancesAndFlags</dd></dl>
</div>
</div>
<a id="af1e4b2b933b19ef09d364c7b4bdd3820"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1e4b2b933b19ef09d364c7b4bdd3820">&#9670;&nbsp;</a></span>SetTrimTypeFlags() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimTypeFlags </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a68ca7a2a4b75fbc0921ddb894d2fef2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68ca7a2a4b75fbc0921ddb894d2fef2b">&#9670;&nbsp;</a></span>SetTrimTypeFlags() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimTypeFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad5c55ffbb547a782f4bda1afd4385e0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5c55ffbb547a782f4bda1afd4385e0f">&#9670;&nbsp;</a></span>SetTrimTypeFlags() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimTypeFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d1c/class_o_n___brep_loop.html">ON_BrepLoop</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9369d78dfe213a0e502b1151ee7da3f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9369d78dfe213a0e502b1151ee7da3f8">&#9670;&nbsp;</a></span>SetTrimTypeFlags() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetTrimTypeFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a708e78a85784e161f6cb94e2050eb8f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a708e78a85784e161f6cb94e2050eb8f2">&#9670;&nbsp;</a></span>SetVertexTolerance()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetVertexTolerance </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a> &amp;&#160;</td>
<td class="paramname"><em>vertex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a81e43c05212c16ef8a0f2e97a1cf60d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81e43c05212c16ef8a0f2e97a1cf60d4">&#9670;&nbsp;</a></span>SetVertexTolerances()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SetVertexTolerances </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>false</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the brep's vertex tolerances. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bLazy</td><td>[in] if true, only vertex tolerances with the value ON_UNSET_VALUE will be set. If false, the vertex tolerance is recomputed from the geometry in the brep.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if successful. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a708e78a85784e161f6cb94e2050eb8f2">ON_Brep::SetVertexTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9136fad3d86a72467405f2d010da7df4">ON_Brep::SetTrimTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a9eacb9c1f2ae20243959d0a52782c635">ON_Brep::SetEdgeTolerance</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a81e43c05212c16ef8a0f2e97a1cf60d4" title="Set the brep&#39;s vertex tolerances. ">ON_Brep::SetVertexTolerances</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ae7d971564956d4e722a6370940dcee44" title="Set the brep&#39;s trim tolerances. ">ON_Brep::SetTrimTolerances</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a1457c9114a276970ca9ba40d4536b9a5" title="Set the brep&#39;s edge tolerances. ">ON_Brep::SetEdgeTolerances</a>, ON_Brep::SetTolerancesAndFlags</dd></dl>
</div>
</div>
<a id="a3254b43a53f367a1af83822b2dfd407a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3254b43a53f367a1af83822b2dfd407a">&#9670;&nbsp;</a></span>SetVertices()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::SetVertices </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a714e95381cf306d4304c0fdbe12400b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a714e95381cf306d4304c0fdbe12400b8">&#9670;&nbsp;</a></span>ShrinkSurface()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ShrinkSurface </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>face</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>DisableSide</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sometimes the <a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> used by a face extends far beyond the face's outer boundary. ShrinkSurface uses <a class="el" href="../../da/da0/class_o_n___surface.html#ab88b3c29cccf29717a83ee349e2d85d7" title="Removes the portions of the surface outside of the specified interval. ">ON_Surface::Trim</a> to remove portions of the surface that extend beyond the face's outer boundary loop. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face</td><td>[in] face to test and whose surface should be shrunk.</td></tr>
<tr><td class="paramname">DisableSide</td><td>[in] This is a bit field. A set bit indicates not to shrink the surface on a given side. The default of 0 enables shrinking on all four sides. value meaning 0x0001 Dont shrink on the west side of domain. 0x0002 Dont shrink on the south side of domain. 0x0004 Dont shrink on the east side of domain. 0x0008 Dont shrink on the north side of domain.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table true successful false failure </dd></dl>
<p>If a surface needs to be shrunk it is copied. After shrinking, you may want to call <a class="el" href="../../d9/d96/class_o_n___brep.html#a2e7b0856db1ca34d0160bd8632b92f5d">ON_Brep::CullUnusedSurfaces</a> to remove any unused surfaces. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#afa839da194fbe9be044f3702febeac7c" title="Sometimes the ON_Surface used by a face extends far beyond the face&#39;s outer boundary. ShrinkSurfaces calls ON_Shrink::ShrinkSurface on each face to remove portions of surfaces that extend beyond their face&#39;s outer boundary loop. ">ON_Brep::ShrinkSurfaces</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2e7b0856db1ca34d0160bd8632b92f5d">ON_Brep::CullUnusedSurfaces</a></dd></dl>
</div>
</div>
<a id="afa839da194fbe9be044f3702febeac7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa839da194fbe9be044f3702febeac7c">&#9670;&nbsp;</a></span>ShrinkSurfaces()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::ShrinkSurfaces </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sometimes the <a class="el" href="../../da/da0/class_o_n___surface.html">ON_Surface</a> used by a face extends far beyond the face's outer boundary. ShrinkSurfaces calls ON_Shrink::ShrinkSurface on each face to remove portions of surfaces that extend beyond their face's outer boundary loop. </p>
<dl class="section return"><dt>Returns</dt><dd>table true successful false failure </dd></dl>
<p>If a surface needs to be shrunk it is copied. After shrinking, you may want to call <a class="el" href="../../d9/d96/class_o_n___brep.html#a2e7b0856db1ca34d0160bd8632b92f5d">ON_Brep::CullUnusedSurfaces</a> to remove any unused surfaces. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a714e95381cf306d4304c0fdbe12400b8" title="Sometimes the ON_Surface used by a face extends far beyond the face&#39;s outer boundary. ShrinkSurface uses ON_Surface::Trim to remove portions of the surface that extend beyond the face&#39;s outer boundary loop. ">ON_Brep::ShrinkSurface</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2e7b0856db1ca34d0160bd8632b92f5d">ON_Brep::CullUnusedSurfaces</a></dd></dl>
</div>
</div>
<a id="af190638468ee5f2cc813788d5a6156dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af190638468ee5f2cc813788d5a6156dd">&#9670;&nbsp;</a></span>SizeOf()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_Brep::SizeOf </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../d9/d7b/class_o_n___object.html#a0299df21bfed90d7b5bfb24cdcf5e6c1">ON_Object::SizeOf</a> override </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a0299df21bfed90d7b5bfb24cdcf5e6c1">ON_Object</a>.</p>
</div>
</div>
<a id="adb58a14210acd8c3e851770a465a9faa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb58a14210acd8c3e851770a465a9faa">&#9670;&nbsp;</a></span>SolidOrientation()</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_Brep::SolidOrientation </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>Determine orientation of a brep. </p>
<dl class="section return"><dt>Returns</dt><dd>table +2 brep is a solid but orientation cannot be computed +1 brep is a solid with outward facing normals -1 brep is a solid with inward facing normals 0 brep is not a solid </dd></dl>
<p>The base class implementation returns 2 or 0. This function is overridden in the Rhino SDK and returns +1, -1, or 0. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a385ac017c00e1ec789477889f964f0f6" title="Test brep to see if it is a solid. (A &quot;solid&quot; is a closed oriented manifold.) ">ON_Brep::IsSolid</a></dd></dl>
</div>
</div>
<a id="a028084fd2858dbb17f1b63958f947561"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a028084fd2858dbb17f1b63958f947561">&#9670;&nbsp;</a></span>SortFaceLoops()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SortFaceLoops </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> &amp;&#160;</td>
<td class="paramname"><em>face</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Sort the face.m_li[] array by loop type (outer, inner, slit, crvonsrf, ptonsrf) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face</td><td>[in/out] face whose m_li[] array should be sorted.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>table true success false failure - no loops or loops with unset loop.m_type </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a68979013f72233511db3b75cd350a2c5">ON_Brep::ComputeLoopType</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#af9053adc75275f2784a559120891093e">ON_Brep::LoopDirection</a></dd></dl>
</div>
</div>
<a id="a2d26299b7fbf12c2501cfd70ccf1df34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d26299b7fbf12c2501cfd70ccf1df34">&#9670;&nbsp;</a></span>Standardize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::Standardize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Standardize all trims, edges, and faces in the brep. </p>
<p>After standardizing, there may be unused curves and surfaces in the brep. Call <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">ON_Brep::Compact</a> to remove these unused curves and surfaces. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#acba03597ba0e7bd9c4ecfeed2851f551" title="Standardize all trims in the brep. ">ON_Brep::StandardizeTrimCurves</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a51dd0b01ecf757ffb1769cb068511f33" title="Standardize all edges in the brep. ">ON_Brep::StandardizeEdgeCurves</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a104b34b09d6cb03d392e3218fb96c497" title="Standardizes the relationship between an ON_BrepFace and the 3d surface it uses. When done...">ON_Brep::StandardizeFaceSurface</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#ab13e291e708f95d2d52a201d568ae5e2" title="Uses the CullUnused*() members to delete any unreferenced objects from arrays, reindexes as needed...">ON_Brep::Compact</a></dd></dl>
</div>
</div>
<a id="a8c7f86cb4e24a7a1931a1c3b3be4211f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c7f86cb4e24a7a1931a1c3b3be4211f">&#9670;&nbsp;</a></span>StandardizeEdgeCurve() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::StandardizeEdgeCurve </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bAdjustEnds</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Standardizes the relationship between an <a class="el" href="../../dd/de8/class_o_n___brep_edge.html" title="Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in...">ON_BrepEdge</a> and the 3d curve it uses. When done, the edge will be the only edge that references its 3d curve, the domains of the edge and 3d curve will be the same, and the edge will use the entire locus of the 3d curve. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">edge_index</td><td>[in] index of edge to standardize.</td></tr>
<tr><td class="paramname">bAdjustEnds</td><td>[in] if true, move edge curve endpoints to vertices</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a51dd0b01ecf757ffb1769cb068511f33" title="Standardize all edges in the brep. ">ON_Brep::StandardizeEdgeCurves</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2d26299b7fbf12c2501cfd70ccf1df34" title="Standardize all trims, edges, and faces in the brep. ">ON_Brep::Standardize</a></dd></dl>
</div>
</div>
<a id="ae75c852d640873ef76eb74342bfdc3a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae75c852d640873ef76eb74342bfdc3a0">&#9670;&nbsp;</a></span>StandardizeEdgeCurve() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::StandardizeEdgeCurve </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bAdjustEnds</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>EdgeCurveUse</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Expert user only. Same as above, but to be used when the edge curve use count is known for the edge. Standardizes the relationship between an <a class="el" href="../../dd/de8/class_o_n___brep_edge.html" title="Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in...">ON_BrepEdge</a> and the 3d curve it uses. When done, the edge will be the only edge that references its 3d curve, the domains of the edge and 3d curve will be the same, and the edge will use the entire locus of the 3d curve. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">edge_index</td><td>[in] index of edge to standardize.</td></tr>
<tr><td class="paramname">bAdjustEnds</td><td>[in] if true, move edge curve endpoints to vertices</td></tr>
<tr><td class="paramname">EdgeCurveUse</td><td>[in] if &gt; 1, then the edge curve for this edge is used by more than one edge. if 1, then the edge curve is used only for this edge. If &lt;= 0, then use count is unknown.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a51dd0b01ecf757ffb1769cb068511f33" title="Standardize all edges in the brep. ">ON_Brep::StandardizeEdgeCurves</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2d26299b7fbf12c2501cfd70ccf1df34" title="Standardize all trims, edges, and faces in the brep. ">ON_Brep::Standardize</a></dd></dl>
</div>
</div>
<a id="a51dd0b01ecf757ffb1769cb068511f33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51dd0b01ecf757ffb1769cb068511f33">&#9670;&nbsp;</a></span>StandardizeEdgeCurves()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::StandardizeEdgeCurves </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bAdjustEnds</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Standardize all edges in the brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bAdjustEnds</td><td>[in] if true, move edge curve endpoints to vertices</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a8c7f86cb4e24a7a1931a1c3b3be4211f" title="Standardizes the relationship between an ON_BrepEdge and the 3d curve it uses. When done...">ON_Brep::StandardizeEdgeCurve</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2d26299b7fbf12c2501cfd70ccf1df34" title="Standardize all trims, edges, and faces in the brep. ">ON_Brep::Standardize</a></dd></dl>
</div>
</div>
<a id="a104b34b09d6cb03d392e3218fb96c497"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a104b34b09d6cb03d392e3218fb96c497">&#9670;&nbsp;</a></span>StandardizeFaceSurface()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::StandardizeFaceSurface </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Standardizes the relationship between an <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a> and the 3d surface it uses. When done, the face will be the only face that references its 3d surface, and the orientations of the face and 3d surface will be the same. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">face_index</td><td>[in] index of face to standardize.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>ON_Brep::StardardizeFaceSurfaces, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2d26299b7fbf12c2501cfd70ccf1df34" title="Standardize all trims, edges, and faces in the brep. ">ON_Brep::Standardize</a></dd></dl>
</div>
</div>
<a id="a0d9999b710bc03e12fa61bc2234d5a9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d9999b710bc03e12fa61bc2234d5a9d">&#9670;&nbsp;</a></span>StandardizeFaceSurfaces()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::StandardizeFaceSurfaces </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Standardize all faces in the brep. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a104b34b09d6cb03d392e3218fb96c497" title="Standardizes the relationship between an ON_BrepFace and the 3d surface it uses. When done...">ON_Brep::StandardizeFaceSurface</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2d26299b7fbf12c2501cfd70ccf1df34" title="Standardize all trims, edges, and faces in the brep. ">ON_Brep::Standardize</a></dd></dl>
</div>
</div>
<a id="a9f0345eb433e28d5c1f215a0c3840654"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f0345eb433e28d5c1f215a0c3840654">&#9670;&nbsp;</a></span>StandardizeTrimCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::StandardizeTrimCurve </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trim_index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Standardizes the relationship between an <a class="el" href="../../d3/dac/class_o_n___brep_trim.html" title="Brep trim information is stored in ON_BrepTrim classes. ON_Brep.m_T[] is an array of all the trim in ...">ON_BrepTrim</a> and the 2d curve it uses. When done, the trim will be the only trim that references its 2d curve, the domains of the trim and 2d curve will be the same, and the trim will use the entire locus of the 2d curve. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trim_index</td><td>[in] index of trim to standardize.</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#acba03597ba0e7bd9c4ecfeed2851f551" title="Standardize all trims in the brep. ">ON_Brep::StandardizeTrimCurves</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2d26299b7fbf12c2501cfd70ccf1df34" title="Standardize all trims, edges, and faces in the brep. ">ON_Brep::Standardize</a></dd></dl>
</div>
</div>
<a id="acba03597ba0e7bd9c4ecfeed2851f551"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acba03597ba0e7bd9c4ecfeed2851f551">&#9670;&nbsp;</a></span>StandardizeTrimCurves()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Brep::StandardizeTrimCurves </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Standardize all trims in the brep. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#a9f0345eb433e28d5c1f215a0c3840654" title="Standardizes the relationship between an ON_BrepTrim and the 2d curve it uses. When done...">ON_Brep::StandardizeTrimCurve</a>, <a class="el" href="../../d9/d96/class_o_n___brep.html#a2d26299b7fbf12c2501cfd70ccf1df34" title="Standardize all trims, edges, and faces in the brep. ">ON_Brep::Standardize</a></dd></dl>
</div>
</div>
<a id="a6a46e8f6107a55e6a04e555da6129308"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a46e8f6107a55e6a04e555da6129308">&#9670;&nbsp;</a></span>SubBrep()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a>* ON_Brep::SubBrep </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>subfi_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>sub_fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d9/d96/class_o_n___brep.html">ON_Brep</a> *&#160;</td>
<td class="paramname"><em>sub_brep</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy a subset of this brep. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">subfi_count</td><td>[in] length of sub_fi[] array.</td></tr>
<tr><td class="paramname">sub_fi</td><td>[in] array of face indices in this brep to copy. (If any values inf sub_fi[] are out of range or if sub_fi[] contains duplicates, this function will return null.)</td></tr>
<tr><td class="paramname">sub_brep</td><td>[in] if this pointer is not null, then the subbrep will be created in this class.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the input is valid, a pointer to the subbrep is returned. If the input is not valid, null is returned. The faces in in the subbrep's m_F array are in the same order as they were specified in sub_fi[]. </dd></dl>
</div>
</div>
<a id="a433d526743dbd2e0d97b651d94eb747a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a433d526743dbd2e0d97b651d94eb747a">&#9670;&nbsp;</a></span>SurfaceUseCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::SurfaceUseCount </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>surface_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>max_count</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Query Interface. </p>
<p>Determine how many brep faces reference m_S[surface_index]. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">surface_index</td><td>[in] index of the surface in m_S[] array</td></tr>
<tr><td class="paramname">max_count</td><td>[in] counting stops if max_count &gt; 0 and at least max_count faces use the surface.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of brep faces that reference the surface. </dd></dl>
</div>
</div>
<a id="a7438aa522cde52487b2f19924eb93f3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7438aa522cde52487b2f19924eb93f3b">&#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">bool ON_Brep::SwapCoordinates </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname">&#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">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#a737d7b1433104a39298629931e899cd4" title="Swaps object coordinate values with indices i and j. ">ON_Geometry::SwapCoordinates()</a> override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#a737d7b1433104a39298629931e899cd4">ON_Geometry</a>.</p>
</div>
</div>
<a id="a4c45bf93cacd9edbb4a11ca6c3806422"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c45bf93cacd9edbb4a11ca6c3806422">&#9670;&nbsp;</a></span>SwapLoopParameters()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SwapLoopParameters </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>helpers for SwapFaceParameters() </p>
</div>
</div>
<a id="a01677cd3759b72f5a293245ce9218479"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01677cd3759b72f5a293245ce9218479">&#9670;&nbsp;</a></span>SwapTrimParameters()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::SwapTrimParameters </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a67646f46a8e1c20389b32ff8adec9910"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67646f46a8e1c20389b32ff8adec9910">&#9670;&nbsp;</a></span>Transform()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::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"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1" title="Transforms the object. ">ON_Geometry::Transform()</a> override </p>
<p>Reimplemented from <a class="el" href="../../df/de0/class_o_n___geometry.html#add710872e89bc29e1ed1321b3e70b1b1">ON_Geometry</a>.</p>
</div>
</div>
<a id="a72e94c5f4874f28cb98db9a0f05dc1f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72e94c5f4874f28cb98db9a0f05dc1f2">&#9670;&nbsp;</a></span>Trim() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>* ON_Brep::Trim </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>trim_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get trim from trim index or component index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trim_index</td><td>[in] either an index into m_T[] or a component index of type brep_trim.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the index is a valid trim index or a valid trim component index, then a pointer to the <a class="el" href="../../d3/dac/class_o_n___brep_trim.html" title="Brep trim information is stored in ON_BrepTrim classes. ON_Brep.m_T[] is an array of all the trim in ...">ON_BrepTrim</a> is returned. Otherwise nullptr is returned. See Also ON_Brep::Component( const ON_BrepTrim&amp; ) </dd></dl>
</div>
</div>
<a id="a43d508125ec917ddeb1ad246ff772105"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43d508125ec917ddeb1ad246ff772105">&#9670;&nbsp;</a></span>Trim() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a>* ON_Brep::Trim </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>trim_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac6179699e700f30ba2844329d85a21b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6179699e700f30ba2844329d85a21b7">&#9670;&nbsp;</a></span>TrimCurveUseCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::TrimCurveUseCount </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>c2_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>max_count</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Determine how many brep trims reference m_C2[c2_index]. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">c2_index</td><td>[in] index of the 2d curve in m_C2[] array</td></tr>
<tr><td class="paramname">max_count</td><td>[in] counting stops if max_count &gt; 0 and at least max_count trims use the 2d curve.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of brep trims that reference the 2d curve. </dd></dl>
</div>
</div>
<a id="a035482a41183269636ef3437a4899394"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a035482a41183269636ef3437a4899394">&#9670;&nbsp;</a></span>TrimType()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a4e2b20d9b31e02383f6cb3c36670d833">ON_BrepTrim::TYPE</a> ON_Brep::TrimType </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d3/dac/class_o_n___brep_trim.html">ON_BrepTrim</a> &amp;&#160;</td>
<td class="paramname"><em>trim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bLazy</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculate the type (singular, mated, boundary, etc.) of an <a class="el" href="../../d3/dac/class_o_n___brep_trim.html" title="Brep trim information is stored in ON_BrepTrim classes. ON_Brep.m_T[] is an array of all the trim in ...">ON_BrepTrim</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">trim</td><td>[in]</td></tr>
<tr><td class="paramname">bLazy</td><td>[in] if true and trim.m_type is set to something other than <a class="el" href="../../d3/dac/class_o_n___brep_trim.html#a4e2b20d9b31e02383f6cb3c36670d833abaa5f1aa6f87139df49408c8ddcacaaf">ON_BrepTrim::unknown</a>, then no calculation is performed and the value of trim.m_type is returned. If false, the value of trim.m_type is ignored and is caluculated.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Type of trim. </dd></dl>
<p>The trim must be connected to a valid loop. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d9/d96/class_o_n___brep.html#af1e4b2b933b19ef09d364c7b4bdd3820">ON_Brep::SetTrimTypeFlags</a></dd></dl>
</div>
</div>
<a id="ad2c27966fc5d9ed8c65a93be16174072"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2c27966fc5d9ed8c65a93be16174072">&#9670;&nbsp;</a></span>Vertex() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a>* ON_Brep::Vertex </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vertex_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get vertex from trim index or component index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vertex_index</td><td>[in] either an index into m_V[] or a component index of type brep_vertex.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If the index is a valid vertex index or a valid vertex component index, then a pointer to the <a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html" title="Brep vertex information is stored in ON_BrepVertex classes. ON_Brep.m_V[] is an array of all the vert...">ON_BrepVertex</a> is returned. Otherwise nullptr is returned. See Also ON_Brep::Component( const ON_BrepVertex&amp; ) </dd></dl>
</div>
</div>
<a id="a3ff25599b1eb3529b372eada07754030"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ff25599b1eb3529b372eada07754030">&#9670;&nbsp;</a></span>Vertex() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/ddf/class_o_n___brep_vertex.html">ON_BrepVertex</a>* ON_Brep::Vertex </td>
<td>(</td>
<td class="paramtype">ON_COMPONENT_INDEX&#160;</td>
<td class="paramname"><em>vertex_index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aad0786db5f64f6c921b8ab4e595fc34a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad0786db5f64f6c921b8ab4e595fc34a">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool ON_Brep::Write </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../db/d16/class_o_n___binary_archive.html">ON_BinaryArchive</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>virtual ON_Objet::Write() override </p>
<p>Reimplemented from <a class="el" href="../../d9/d7b/class_o_n___object.html#a16eb9ab6bf0d0a614655cf9cd055871a">ON_Object</a>.</p>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a48f1f980f282dcbde5797a186e5356a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48f1f980f282dcbde5797a186e5356a0">&#9670;&nbsp;</a></span>ON_BinaryArchive::ReadV1_TCODE_LEGACY_FAC</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../db/d16/class_o_n___binary_archive.html#ab30c2d46268cef809364806bc4a4f816">ON_BinaryArchive::ReadV1_TCODE_LEGACY_FAC</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> **&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d52/class_o_n__3dm_object_attributes.html">ON_3dmObjectAttributes</a> *&#160;</td>
<td class="paramname">&#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">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5263fa674b111ee8df40ed97834db604"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5263fa674b111ee8df40ed97834db604">&#9670;&nbsp;</a></span>ON_BinaryArchive::ReadV1_TCODE_LEGACY_SHL</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="../../db/d16/class_o_n___binary_archive.html#ab7c25a421ebaadcb9f43807ba80f9181">ON_BinaryArchive::ReadV1_TCODE_LEGACY_SHL</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d9/d7b/class_o_n___object.html">ON_Object</a> **&#160;</td>
<td class="paramname">, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d0/d52/class_o_n__3dm_object_attributes.html">ON_3dmObjectAttributes</a> *&#160;</td>
<td class="paramname">&#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">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a00aa323a17399f864183ce8843b79e75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00aa323a17399f864183ce8843b79e75">&#9670;&nbsp;</a></span>ON_BrepFace</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="../../d0/d4c/class_o_n___brep_face.html">ON_BrepFace</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa934a007795d44d74f841ba575dd52da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa934a007795d44d74f841ba575dd52da">&#9670;&nbsp;</a></span>ON_BrepFaceSide</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="../../df/d28/class_o_n___brep_face_side.html">ON_BrepFaceSide</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae25bc108b2f762f70aa0030d3ed91fc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae25bc108b2f762f70aa0030d3ed91fc2">&#9670;&nbsp;</a></span>ON_BrepRegion</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="../../d4/d93/class_o_n___brep_region.html">ON_BrepRegion</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad15be7a9fb0632a42c0330f7e69af7e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad15be7a9fb0632a42c0330f7e69af7e4">&#9670;&nbsp;</a></span>ON_V5_BrepRegionTopologyUserData</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class ON_V5_BrepRegionTopologyUserData</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae0e14779704c652b1b25f4a9ccdf3899"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0e14779704c652b1b25f4a9ccdf3899">&#9670;&nbsp;</a></span>m_aggregate_status</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="../../d1/df0/class_o_n___aggregate_component_status.html">ON_AggregateComponentStatus</a> ON_Brep::m_aggregate_status</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4b330660a2b7629a1c9ccb9a9c4a5725"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b330660a2b7629a1c9ccb9a9c4a5725">&#9670;&nbsp;</a></span>m_bbox</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="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> ON_Brep::m_bbox</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abe5c84e87a7fd1a21557bd3fc97fdfa3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe5c84e87a7fd1a21557bd3fc97fdfa3">&#9670;&nbsp;</a></span>m_brep_user</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="../../d5/d38/union_o_n___u.html">ON_U</a> ON_Brep::m_brep_user</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">mutable</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad5ea3e0ae302c42760e9c75cd5363e2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5ea3e0ae302c42760e9c75cd5363e2d">&#9670;&nbsp;</a></span>m_C2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d8/d06/class_o_n___curve_array.html">ON_CurveArray</a> ON_Brep::m_C2</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac5f2acd29f898501e1944165ad9fea18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5f2acd29f898501e1944165ad9fea18">&#9670;&nbsp;</a></span>m_C3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d8/d06/class_o_n___curve_array.html">ON_CurveArray</a> ON_Brep::m_C3</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0cab74697be6282befc920ab0db73c63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cab74697be6282befc920ab0db73c63">&#9670;&nbsp;</a></span>m_E</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/dce/class_o_n___brep_edge_array.html">ON_BrepEdgeArray</a> ON_Brep::m_E</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a15f34ef42b695422f04791047e63f0f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15f34ef42b695422f04791047e63f0f0">&#9670;&nbsp;</a></span>m_F</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dc/dfc/class_o_n___brep_face_array.html">ON_BrepFaceArray</a> ON_Brep::m_F</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a05b4ec696bbaa1ed46e52c696b014b32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05b4ec696bbaa1ed46e52c696b014b32">&#9670;&nbsp;</a></span>m_is_solid</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int ON_Brep::m_is_solid = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae0e15de3de0de8d4887e3c6fcb866aea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0e15de3de0de8d4887e3c6fcb866aea">&#9670;&nbsp;</a></span>m_L</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/dce/class_o_n___brep_loop_array.html">ON_BrepLoopArray</a> ON_Brep::m_L</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3830a52d2a4ad62c8c03f624a2c56110"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3830a52d2a4ad62c8c03f624a2c56110">&#9670;&nbsp;</a></span>m_region_topology</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">class <a class="el" href="../../da/dfb/class_o_n___brep_region_topology.html">ON_BrepRegionTopology</a>* ON_Brep::m_region_topology = nullptr</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3cce744a01951ed60a0e64e337b7220f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cce744a01951ed60a0e64e337b7220f">&#9670;&nbsp;</a></span>m_S</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d9/dc3/class_o_n___surface_array.html">ON_SurfaceArray</a> ON_Brep::m_S</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a162b6c45769458bd7f675069731e3b56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a162b6c45769458bd7f675069731e3b56">&#9670;&nbsp;</a></span>m_T</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/df4/class_o_n___brep_trim_array.html">ON_BrepTrimArray</a> ON_Brep::m_T</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8352d430cecfd2db707728dd0d81eaac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8352d430cecfd2db707728dd0d81eaac">&#9670;&nbsp;</a></span>m_V</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d44/class_o_n___brep_vertex_array.html">ON_BrepVertexArray</a> ON_Brep::m_V</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.13-->
<!-- start footer part -->
</div> <!-- page-content -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Feb 3 2018 11:08:29 for openNURBS SDK Help by <a href="http://www.doxygen.org/index.html">
<!-- <img class="footer" src="../../doxygen.png" alt="doxygen"/> -->
Doxygen
</a> 1.8.13
</small></address>
</div> <!-- container -->
<!-- doxy-boot -->
<script type="text/javascript" src="../../doxy-boot.js"></script>
</body>
</html>