Files
ViewDesignEngine/docs/api/classvde_1_1brep_1_1BrepModel.html
T
茂之钳 2f111edcd5
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
docs: generated API documentation (483 pages)
2026-07-24 11:55:47 +00:00

1031 lines
51 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ViewDesignEngine: vde::brep::BrepModel类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ViewDesignEngine
&#160;<span id="projectnumber">3.1.0</span>
</div>
<div id="projectbrief">高性能 CAD 计算几何引擎</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','搜索');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classvde_1_1brep_1_1BrepModel.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="classvde_1_1brep_1_1BrepModel-members.html">所有成员列表</a> </div>
<div class="headertitle">
<div class="title">vde::brep::BrepModel类 参考</div> </div>
</div><!--header-->
<div class="contents">
<p>B-Rep 模型
<a href="classvde_1_1brep_1_1BrepModel.html#details">更多...</a></p>
<p><code>#include &lt;<a class="el" href="brep_8h_source.html">brep.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a7d1ecd95609c94fa88535166b1c51672"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a7d1ecd95609c94fa88535166b1c51672">BrepModel</a> ()=default</td></tr>
<tr class="separator:a7d1ecd95609c94fa88535166b1c51672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e76826b69c28df2c895512333d003e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a9e76826b69c28df2c895512333d003e6">add_vertex</a> (const Point3D &amp;p)</td></tr>
<tr class="memdesc:a9e76826b69c28df2c895512333d003e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加顶点 <a href="classvde_1_1brep_1_1BrepModel.html#a9e76826b69c28df2c895512333d003e6">更多...</a><br /></td></tr>
<tr class="separator:a9e76826b69c28df2c895512333d003e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c20a9c2383526607b317c93da4e8dfe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a9c20a9c2383526607b317c93da4e8dfe">add_edge</a> (int v0, int v1)</td></tr>
<tr class="memdesc:a9c20a9c2383526607b317c93da4e8dfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加直线边 <a href="classvde_1_1brep_1_1BrepModel.html#a9c20a9c2383526607b317c93da4e8dfe">更多...</a><br /></td></tr>
<tr class="separator:a9c20a9c2383526607b317c93da4e8dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88d010962da8dcb68ff55021e5fa3b2a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a88d010962da8dcb68ff55021e5fa3b2a">add_edge</a> (int v0, int v1, const <a class="el" href="classvde_1_1curves_1_1NurbsCurve.html">curves::NurbsCurve</a> &amp;curve)</td></tr>
<tr class="memdesc:a88d010962da8dcb68ff55021e5fa3b2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加曲线边 <a href="classvde_1_1brep_1_1BrepModel.html#a88d010962da8dcb68ff55021e5fa3b2a">更多...</a><br /></td></tr>
<tr class="separator:a88d010962da8dcb68ff55021e5fa3b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed200b1b14c7c75e8b2c14d724346270"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#aed200b1b14c7c75e8b2c14d724346270">add_loop</a> (const std::vector&lt; int &gt; &amp;edges, bool outer=true)</td></tr>
<tr class="memdesc:aed200b1b14c7c75e8b2c14d724346270"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加环 <a href="classvde_1_1brep_1_1BrepModel.html#aed200b1b14c7c75e8b2c14d724346270">更多...</a><br /></td></tr>
<tr class="separator:aed200b1b14c7c75e8b2c14d724346270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44b9a85f1ad532c5cd07d67aa6674cdb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a44b9a85f1ad532c5cd07d67aa6674cdb">add_face</a> (int surface_id, const std::vector&lt; int &gt; &amp;loops)</td></tr>
<tr class="memdesc:a44b9a85f1ad532c5cd07d67aa6674cdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加面 <a href="classvde_1_1brep_1_1BrepModel.html#a44b9a85f1ad532c5cd07d67aa6674cdb">更多...</a><br /></td></tr>
<tr class="separator:a44b9a85f1ad532c5cd07d67aa6674cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17893a81300978999efb5db495badf3f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a17893a81300978999efb5db495badf3f">add_shell</a> (const std::vector&lt; int &gt; &amp;faces, bool closed=true)</td></tr>
<tr class="memdesc:a17893a81300978999efb5db495badf3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加壳 <a href="classvde_1_1brep_1_1BrepModel.html#a17893a81300978999efb5db495badf3f">更多...</a><br /></td></tr>
<tr class="separator:a17893a81300978999efb5db495badf3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f9b926330ae35a75f29d615206737fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a6f9b926330ae35a75f29d615206737fe">add_body</a> (const std::vector&lt; int &gt; &amp;shells, const std::string &amp;name=&quot;&quot;)</td></tr>
<tr class="memdesc:a6f9b926330ae35a75f29d615206737fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加体 <a href="classvde_1_1brep_1_1BrepModel.html#a6f9b926330ae35a75f29d615206737fe">更多...</a><br /></td></tr>
<tr class="separator:a6f9b926330ae35a75f29d615206737fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbef82c30113989bfb3107e143d16cfb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#afbef82c30113989bfb3107e143d16cfb">add_surface</a> (const <a class="el" href="classvde_1_1curves_1_1NurbsSurface.html">curves::NurbsSurface</a> &amp;surf)</td></tr>
<tr class="memdesc:afbef82c30113989bfb3107e143d16cfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">添加 NURBS 曲面 <a href="classvde_1_1brep_1_1BrepModel.html#afbef82c30113989bfb3107e143d16cfb">更多...</a><br /></td></tr>
<tr class="separator:afbef82c30113989bfb3107e143d16cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5768a93843e06429ca418479e5692f1d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a5768a93843e06429ca418479e5692f1d">num_vertices</a> () const</td></tr>
<tr class="memdesc:a5768a93843e06429ca418479e5692f1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">顶点数量 <a href="classvde_1_1brep_1_1BrepModel.html#a5768a93843e06429ca418479e5692f1d">更多...</a><br /></td></tr>
<tr class="separator:a5768a93843e06429ca418479e5692f1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab157c6eb13ecd81137388265e97b7215"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#ab157c6eb13ecd81137388265e97b7215">num_edges</a> () const</td></tr>
<tr class="memdesc:ab157c6eb13ecd81137388265e97b7215"><td class="mdescLeft">&#160;</td><td class="mdescRight">边数量 <a href="classvde_1_1brep_1_1BrepModel.html#ab157c6eb13ecd81137388265e97b7215">更多...</a><br /></td></tr>
<tr class="separator:ab157c6eb13ecd81137388265e97b7215"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab202efbf35826406df1fc4cada91c19c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#ab202efbf35826406df1fc4cada91c19c">num_faces</a> () const</td></tr>
<tr class="memdesc:ab202efbf35826406df1fc4cada91c19c"><td class="mdescLeft">&#160;</td><td class="mdescRight">面数量 <a href="classvde_1_1brep_1_1BrepModel.html#ab202efbf35826406df1fc4cada91c19c">更多...</a><br /></td></tr>
<tr class="separator:ab202efbf35826406df1fc4cada91c19c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a466ad65cfb9c69ff0bb0aa292bf4996d"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a466ad65cfb9c69ff0bb0aa292bf4996d">num_bodies</a> () const</td></tr>
<tr class="memdesc:a466ad65cfb9c69ff0bb0aa292bf4996d"><td class="mdescLeft">&#160;</td><td class="mdescRight">体数量 <a href="classvde_1_1brep_1_1BrepModel.html#a466ad65cfb9c69ff0bb0aa292bf4996d">更多...</a><br /></td></tr>
<tr class="separator:a466ad65cfb9c69ff0bb0aa292bf4996d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af571065b0efbcb72540a71ae24113a29"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#af571065b0efbcb72540a71ae24113a29">num_surfaces</a> () const</td></tr>
<tr class="memdesc:af571065b0efbcb72540a71ae24113a29"><td class="mdescLeft">&#160;</td><td class="mdescRight">曲面数量 <a href="classvde_1_1brep_1_1BrepModel.html#af571065b0efbcb72540a71ae24113a29">更多...</a><br /></td></tr>
<tr class="separator:af571065b0efbcb72540a71ae24113a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca4ecc4190da95419d61f7426573e2d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structvde_1_1brep_1_1TopoVertex.html">TopoVertex</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#adca4ecc4190da95419d61f7426573e2d">vertex</a> (int id) const</td></tr>
<tr class="memdesc:adca4ecc4190da95419d61f7426573e2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">按数组索引访问顶点 <a href="classvde_1_1brep_1_1BrepModel.html#adca4ecc4190da95419d61f7426573e2d">更多...</a><br /></td></tr>
<tr class="separator:adca4ecc4190da95419d61f7426573e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8049b8f53489d7c460147b54784542e6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structvde_1_1brep_1_1TopoVertex.html">TopoVertex</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a8049b8f53489d7c460147b54784542e6">vertex_by_id</a> (int id) const</td></tr>
<tr class="memdesc:a8049b8f53489d7c460147b54784542e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">按唯一 ID 访问顶点(适用于边数据中的 ID 引用) <a href="classvde_1_1brep_1_1BrepModel.html#a8049b8f53489d7c460147b54784542e6">更多...</a><br /></td></tr>
<tr class="separator:a8049b8f53489d7c460147b54784542e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bcc4ed7d364a05b2e50e133928f22e2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structvde_1_1brep_1_1TopoEdge.html">TopoEdge</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a0bcc4ed7d364a05b2e50e133928f22e2">edge</a> (int id) const</td></tr>
<tr class="memdesc:a0bcc4ed7d364a05b2e50e133928f22e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">按数组索引访问边 <a href="classvde_1_1brep_1_1BrepModel.html#a0bcc4ed7d364a05b2e50e133928f22e2">更多...</a><br /></td></tr>
<tr class="separator:a0bcc4ed7d364a05b2e50e133928f22e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae583d160026418fc5ade04126a8615c3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structvde_1_1brep_1_1TopoFace.html">TopoFace</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#ae583d160026418fc5ade04126a8615c3">face</a> (int id) const</td></tr>
<tr class="memdesc:ae583d160026418fc5ade04126a8615c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">按数组索引访问面 <a href="classvde_1_1brep_1_1BrepModel.html#ae583d160026418fc5ade04126a8615c3">更多...</a><br /></td></tr>
<tr class="separator:ae583d160026418fc5ade04126a8615c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef8551588ed95e736b4b50abc03fb9b5"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classvde_1_1curves_1_1NurbsSurface.html">curves::NurbsSurface</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#aef8551588ed95e736b4b50abc03fb9b5">surface</a> (int id) const</td></tr>
<tr class="memdesc:aef8551588ed95e736b4b50abc03fb9b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">按数组索引访问曲面 <a href="classvde_1_1brep_1_1BrepModel.html#aef8551588ed95e736b4b50abc03fb9b5">更多...</a><br /></td></tr>
<tr class="separator:aef8551588ed95e736b4b50abc03fb9b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51def78dc475fc0c218e5e131f3bf286"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structvde_1_1brep_1_1TopoLoop.html">TopoLoop</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a51def78dc475fc0c218e5e131f3bf286">loop_by_id</a> (int id) const</td></tr>
<tr class="memdesc:a51def78dc475fc0c218e5e131f3bf286"><td class="mdescLeft">&#160;</td><td class="mdescRight">按唯一 ID 访问环 <a href="classvde_1_1brep_1_1BrepModel.html#a51def78dc475fc0c218e5e131f3bf286">更多...</a><br /></td></tr>
<tr class="separator:a51def78dc475fc0c218e5e131f3bf286"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15cb723042a98c50e317fd74c9b37260"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="structvde_1_1brep_1_1TopoLoop.html">TopoLoop</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a15cb723042a98c50e317fd74c9b37260">all_loops</a> () const</td></tr>
<tr class="memdesc:a15cb723042a98c50e317fd74c9b37260"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取所有环的只读引用 <a href="classvde_1_1brep_1_1BrepModel.html#a15cb723042a98c50e317fd74c9b37260">更多...</a><br /></td></tr>
<tr class="separator:a15cb723042a98c50e317fd74c9b37260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a877d26a68d990e509ab7ce4503ee2475"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacevde_1_1core.html#a5e6679209cad0695e1b9d088c4b0e224">core::AABB3D</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a877d26a68d990e509ab7ce4503ee2475">bounds</a> () const</td></tr>
<tr class="memdesc:a877d26a68d990e509ab7ce4503ee2475"><td class="mdescLeft">&#160;</td><td class="mdescRight">计算模型的轴对齐包围盒 <a href="classvde_1_1brep_1_1BrepModel.html#a877d26a68d990e509ab7ce4503ee2475">更多...</a><br /></td></tr>
<tr class="separator:a877d26a68d990e509ab7ce4503ee2475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c7273fff65281e8ce2353808b8e84ed"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a1c7273fff65281e8ce2353808b8e84ed">is_valid</a> () const</td></tr>
<tr class="memdesc:a1c7273fff65281e8ce2353808b8e84ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">检查模型有效性(快速版本) <a href="classvde_1_1brep_1_1BrepModel.html#a1c7273fff65281e8ce2353808b8e84ed">更多...</a><br /></td></tr>
<tr class="separator:a1c7273fff65281e8ce2353808b8e84ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3499a6dd3a531cc4df59b2ffa4fa98f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classvde_1_1mesh_1_1HalfedgeMesh.html">mesh::HalfedgeMesh</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a3499a6dd3a531cc4df59b2ffa4fa98f2">to_mesh</a> (double deflection=0.01) const</td></tr>
<tr class="memdesc:a3499a6dd3a531cc4df59b2ffa4fa98f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">将 B-Rep 模型 tessellate 为三角网格 <a href="classvde_1_1brep_1_1BrepModel.html#a3499a6dd3a531cc4df59b2ffa4fa98f2">更多...</a><br /></td></tr>
<tr class="separator:a3499a6dd3a531cc4df59b2ffa4fa98f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0d546ea8d18f0c5607c34b10f269823"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#ac0d546ea8d18f0c5607c34b10f269823">face_edges</a> (int face_id) const</td></tr>
<tr class="memdesc:ac0d546ea8d18f0c5607c34b10f269823"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取面的所有边 <a href="classvde_1_1brep_1_1BrepModel.html#ac0d546ea8d18f0c5607c34b10f269823">更多...</a><br /></td></tr>
<tr class="separator:ac0d546ea8d18f0c5607c34b10f269823"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd4f59f590f5c055c0f04bc7e33f63f4"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#afd4f59f590f5c055c0f04bc7e33f63f4">edge_faces</a> (int edge_id) const</td></tr>
<tr class="memdesc:afd4f59f590f5c055c0f04bc7e33f63f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取边的所有相邻面 <a href="classvde_1_1brep_1_1BrepModel.html#afd4f59f590f5c055c0f04bc7e33f63f4">更多...</a><br /></td></tr>
<tr class="separator:afd4f59f590f5c055c0f04bc7e33f63f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e9201043ff1167ba310aefaf46cddc6"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvde_1_1brep_1_1BrepModel.html#a1e9201043ff1167ba310aefaf46cddc6">vertex_edges</a> (int vertex_id) const</td></tr>
<tr class="memdesc:a1e9201043ff1167ba310aefaf46cddc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取顶点的所有相邻边 <a href="classvde_1_1brep_1_1BrepModel.html#a1e9201043ff1167ba310aefaf46cddc6">更多...</a><br /></td></tr>
<tr class="separator:a1e9201043ff1167ba310aefaf46cddc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>B-Rep 模型 </p>
<p>完整的三维边界表示模型,包含几何和拓扑数据。</p>
<h2><a class="anchor" id="autotoc_md3"></a>
主要职责</h2>
<ul>
<li><b>构建</b>: 通过 add_* 方法从底层构建拓扑结构</li>
<li><b>查询</b>: 获取顶点、面、边及它们的拓扑关系</li>
<li><b>导出</b>: 转换为三角网格(用于渲染)或导出到文件格式</li>
<li><b>验证</b>: 检查水密性和拓扑一致性</li>
</ul>
<h2><a class="anchor" id="autotoc_md4"></a>
容差约定</h2>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">容差 </th><th class="markdownTableHeadNone">典型值 </th><th class="markdownTableHeadNone">用途 </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">顶点容差 </td><td class="markdownTableBodyNone">1e-6 </td><td class="markdownTableBodyNone">判断两点是否视为同一点 </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone">边曲线容差 </td><td class="markdownTableBodyNone">1e-5 </td><td class="markdownTableBodyNone">曲线拟合精度 </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">tessellation </td><td class="markdownTableBodyNone">0.01 </td><td class="markdownTableBodyNone">曲面转网格的弦高误差 </td></tr>
</table>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="brep__validate_8h.html" title="B-Rep 模型综合验证">brep_validate.h</a> 验证 </dd>
<dd>
<a class="el" href="modeling_8h.html" title="高层 B-Rep 建模 API">modeling.h</a> 高层建模 API </dd>
<dd>
<a class="el" href="brep__boolean_8h.html" title="B-Rep 级别的布尔运算">brep_boolean.h</a> 布尔运算 </dd></dl>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00177">177</a> 行定义.</p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="a7d1ecd95609c94fa88535166b1c51672"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d1ecd95609c94fa88535166b1c51672">&#9670;&nbsp;</a></span>BrepModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">vde::brep::BrepModel::BrepModel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a6f9b926330ae35a75f29d615206737fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f9b926330ae35a75f29d615206737fe">&#9670;&nbsp;</a></span>add_body()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vde::brep::BrepModel::add_body </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>shells</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em> = <code>&quot;&quot;</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>添加体 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">shells</td><td>壳 ID 列表 </td></tr>
<tr><td class="paramname">name</td><td>体名称 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新体的 ID </dd></dl>
</div>
</div>
<a id="a9c20a9c2383526607b317c93da4e8dfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c20a9c2383526607b317c93da4e8dfe">&#9670;&nbsp;</a></span>add_edge() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vde::brep::BrepModel::add_edge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>v0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>v1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>添加直线边 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">v0</td><td>起点顶点 ID </td></tr>
<tr><td class="paramname">v1</td><td>终点顶点 ID </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新边的 ID </dd></dl>
</div>
</div>
<a id="a88d010962da8dcb68ff55021e5fa3b2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88d010962da8dcb68ff55021e5fa3b2a">&#9670;&nbsp;</a></span>add_edge() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vde::brep::BrepModel::add_edge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>v0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>v1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classvde_1_1curves_1_1NurbsCurve.html">curves::NurbsCurve</a> &amp;&#160;</td>
<td class="paramname"><em>curve</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>添加曲线边 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">v0</td><td>起点顶点 ID </td></tr>
<tr><td class="paramname">v1</td><td>终点顶点 ID </td></tr>
<tr><td class="paramname">curve</td><td>边的几何曲线 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新边的 ID </dd></dl>
</div>
</div>
<a id="a44b9a85f1ad532c5cd07d67aa6674cdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44b9a85f1ad532c5cd07d67aa6674cdb">&#9670;&nbsp;</a></span>add_face()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vde::brep::BrepModel::add_face </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>surface_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>loops</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>添加面 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">surface_id</td><td>关联曲面 ID </td></tr>
<tr><td class="paramname">loops</td><td>环 ID 列表 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新面的 ID </dd></dl>
</div>
</div>
<a id="aed200b1b14c7c75e8b2c14d724346270"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed200b1b14c7c75e8b2c14d724346270">&#9670;&nbsp;</a></span>add_loop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vde::brep::BrepModel::add_loop </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>edges</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>outer</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>添加环 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">edges</td><td>环中边的 ID 序列(顺序连接) </td></tr>
<tr><td class="paramname">outer</td><td>true = 外环, false = 内环 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新环的 ID </dd></dl>
</div>
</div>
<a id="a17893a81300978999efb5db495badf3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17893a81300978999efb5db495badf3f">&#9670;&nbsp;</a></span>add_shell()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vde::brep::BrepModel::add_shell </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>faces</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>closed</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>添加壳 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">faces</td><td>面 ID 列表 </td></tr>
<tr><td class="paramname">closed</td><td>是否为封闭壳 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新壳的 ID </dd></dl>
</div>
</div>
<a id="afbef82c30113989bfb3107e143d16cfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbef82c30113989bfb3107e143d16cfb">&#9670;&nbsp;</a></span>add_surface()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vde::brep::BrepModel::add_surface </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classvde_1_1curves_1_1NurbsSurface.html">curves::NurbsSurface</a> &amp;&#160;</td>
<td class="paramname"><em>surf</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>添加 NURBS 曲面 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">surf</td><td>NURBS 曲面定义 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新曲面的 ID </dd></dl>
</div>
</div>
<a id="a9e76826b69c28df2c895512333d003e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e76826b69c28df2c895512333d003e6">&#9670;&nbsp;</a></span>add_vertex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int vde::brep::BrepModel::add_vertex </td>
<td>(</td>
<td class="paramtype">const Point3D &amp;&#160;</td>
<td class="paramname"><em>p</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>添加顶点 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">p</td><td>顶点坐标 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>新顶点的 ID </dd></dl>
</div>
</div>
<a id="a15cb723042a98c50e317fd74c9b37260"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15cb723042a98c50e317fd74c9b37260">&#9670;&nbsp;</a></span>all_loops()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt;<a class="el" href="structvde_1_1brep_1_1TopoLoop.html">TopoLoop</a>&gt;&amp; vde::brep::BrepModel::all_loops </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>获取所有环的只读引用 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00282">282</a> 行定义.</p>
</div>
</div>
<a id="a877d26a68d990e509ab7ce4503ee2475"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a877d26a68d990e509ab7ce4503ee2475">&#9670;&nbsp;</a></span>bounds()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacevde_1_1core.html#a5e6679209cad0695e1b9d088c4b0e224">core::AABB3D</a> vde::brep::BrepModel::bounds </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>计算模型的轴对齐包围盒 </p>
<p>遍历所有顶点,取最小/最大坐标。</p>
<dl class="section return"><dt>返回</dt><dd>包围盒(AABB </dd></dl>
</div>
</div>
<a id="a0bcc4ed7d364a05b2e50e133928f22e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bcc4ed7d364a05b2e50e133928f22e2">&#9670;&nbsp;</a></span>edge()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structvde_1_1brep_1_1TopoEdge.html">TopoEdge</a>&amp; vde::brep::BrepModel::edge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>按数组索引访问边 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00270">270</a> 行定义.</p>
</div>
</div>
<a id="afd4f59f590f5c055c0f04bc7e33f63f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd4f59f590f5c055c0f04bc7e33f63f4">&#9670;&nbsp;</a></span>edge_faces()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;int&gt; vde::brep::BrepModel::edge_faces </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>edge_id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>获取边的所有相邻面 </p>
<p>反向查找:哪些面包含此边。 在流形网格中每条边应有恰好 2 个相邻面。</p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">edge_id</td><td>边 ID </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>相邻面 ID 列表 </dd></dl>
</div>
</div>
<a id="ae583d160026418fc5ade04126a8615c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae583d160026418fc5ade04126a8615c3">&#9670;&nbsp;</a></span>face()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structvde_1_1brep_1_1TopoFace.html">TopoFace</a>&amp; vde::brep::BrepModel::face </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>按数组索引访问面 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00273">273</a> 行定义.</p>
</div>
</div>
<a id="ac0d546ea8d18f0c5607c34b10f269823"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0d546ea8d18f0c5607c34b10f269823">&#9670;&nbsp;</a></span>face_edges()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;int&gt; vde::brep::BrepModel::face_edges </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>face_id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>获取面的所有边 </p>
<p>展开面的所有环,收集其中包含的边 ID。</p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">face_id</td><td>面 ID </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>边 ID 列表(去重) </dd></dl>
</div>
</div>
<a id="a1c7273fff65281e8ce2353808b8e84ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c7273fff65281e8ce2353808b8e84ed">&#9670;&nbsp;</a></span>is_valid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool vde::brep::BrepModel::is_valid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>检查模型有效性(快速版本) </p>
<p>进行基本检查:是否有顶点/边/面,ID 引用是否有效。 完整验证请使用 <a class="el" href="brep__validate_8h.html" title="B-Rep 模型综合验证">brep_validate.h</a> 中的 <a class="el" href="namespacevde_1_1brep.html#acb612097bfb5e886285f2227dcc9216f" title="对 BrepModel 执行综合验证">validate()</a></p>
<dl class="section return"><dt>返回</dt><dd>true 如果模型通过基本检查</dd></dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="namespacevde_1_1brep.html#acb612097bfb5e886285f2227dcc9216f" title="对 BrepModel 执行综合验证">validate()</a> 完整验证(水密性、方向一致性等) </dd></dl>
</div>
</div>
<a id="a51def78dc475fc0c218e5e131f3bf286"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51def78dc475fc0c218e5e131f3bf286">&#9670;&nbsp;</a></span>loop_by_id()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structvde_1_1brep_1_1TopoLoop.html">TopoLoop</a>&amp; vde::brep::BrepModel::loop_by_id </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>按唯一 ID 访问环 </p>
</div>
</div>
<a id="a466ad65cfb9c69ff0bb0aa292bf4996d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a466ad65cfb9c69ff0bb0aa292bf4996d">&#9670;&nbsp;</a></span>num_bodies()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t vde::brep::BrepModel::num_bodies </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>体数量 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00256">256</a> 行定义.</p>
</div>
</div>
<a id="ab157c6eb13ecd81137388265e97b7215"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab157c6eb13ecd81137388265e97b7215">&#9670;&nbsp;</a></span>num_edges()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t vde::brep::BrepModel::num_edges </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>边数量 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00250">250</a> 行定义.</p>
</div>
</div>
<a id="ab202efbf35826406df1fc4cada91c19c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab202efbf35826406df1fc4cada91c19c">&#9670;&nbsp;</a></span>num_faces()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t vde::brep::BrepModel::num_faces </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>面数量 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00253">253</a> 行定义.</p>
</div>
</div>
<a id="af571065b0efbcb72540a71ae24113a29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af571065b0efbcb72540a71ae24113a29">&#9670;&nbsp;</a></span>num_surfaces()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t vde::brep::BrepModel::num_surfaces </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>曲面数量 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00259">259</a> 行定义.</p>
</div>
</div>
<a id="a5768a93843e06429ca418479e5692f1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5768a93843e06429ca418479e5692f1d">&#9670;&nbsp;</a></span>num_vertices()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t vde::brep::BrepModel::num_vertices </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">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>顶点数量 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00247">247</a> 行定义.</p>
</div>
</div>
<a id="aef8551588ed95e736b4b50abc03fb9b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef8551588ed95e736b4b50abc03fb9b5">&#9670;&nbsp;</a></span>surface()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classvde_1_1curves_1_1NurbsSurface.html">curves::NurbsSurface</a>&amp; vde::brep::BrepModel::surface </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>按数组索引访问曲面 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00276">276</a> 行定义.</p>
</div>
</div>
<a id="a3499a6dd3a531cc4df59b2ffa4fa98f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3499a6dd3a531cc4df59b2ffa4fa98f2">&#9670;&nbsp;</a></span>to_mesh()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classvde_1_1mesh_1_1HalfedgeMesh.html">mesh::HalfedgeMesh</a> vde::brep::BrepModel::to_mesh </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>deflection</em> = <code>0.01</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>将 B-Rep 模型 tessellate 为三角网格 </p>
<p>所有曲面和曲线以给定的弦高误差 tessellate 为三角形。</p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">deflection</td><td>弦高误差(控制 tessellation 精度,默认 0.01 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>HalfedgeMesh 三角网格</dd></dl>
<dl class="section note"><dt>注解</dt><dd>deflection 越小网格越精细,但三角形数量显著增加。 </dd></dl>
</div>
</div>
<a id="adca4ecc4190da95419d61f7426573e2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adca4ecc4190da95419d61f7426573e2d">&#9670;&nbsp;</a></span>vertex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structvde_1_1brep_1_1TopoVertex.html">TopoVertex</a>&amp; vde::brep::BrepModel::vertex </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>按数组索引访问顶点 </p>
<p class="definition">在文件 <a class="el" href="brep_8h_source.html">brep.h</a><a class="el" href="brep_8h_source.html#l00264">264</a> 行定义.</p>
</div>
</div>
<a id="a8049b8f53489d7c460147b54784542e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8049b8f53489d7c460147b54784542e6">&#9670;&nbsp;</a></span>vertex_by_id()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structvde_1_1brep_1_1TopoVertex.html">TopoVertex</a>&amp; vde::brep::BrepModel::vertex_by_id </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>按唯一 ID 访问顶点(适用于边数据中的 ID 引用) </p>
</div>
</div>
<a id="a1e9201043ff1167ba310aefaf46cddc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e9201043ff1167ba310aefaf46cddc6">&#9670;&nbsp;</a></span>vertex_edges()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;int&gt; vde::brep::BrepModel::vertex_edges </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vertex_id</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>获取顶点的所有相邻边 </p>
<dl class="params"><dt>参数</dt><dd>
<table class="params">
<tr><td class="paramname">vertex_id</td><td>顶点 ID </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>相邻边 ID 列表 </dd></dl>
</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>include/vde/brep/<a class="el" href="brep_8h_source.html">brep.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacevde.html">vde</a></li><li class="navelem"><a class="el" href="namespacevde_1_1brep.html">brep</a></li><li class="navelem"><a class="el" href="classvde_1_1brep_1_1BrepModel.html">BrepModel</a></li>
<li class="footer">生成于 2026年 七月 24日 星期五 11:21:23 , 为 ViewDesignEngine使用 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>