Files
ViewDesignEngine/docs/api/html/index.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

171 lines
14 KiB
HTML

<!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: ViewDesignEngine API 参考文档</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('index.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="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">ViewDesignEngine API 参考文档 </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>ViewDesignEngine 是一个高性能 C++17 计算几何引擎,覆盖从底层数学工具到 B-Rep 拓扑建模、SDF 隐式建模、可微分几何、工业格式互操作的全栈能力。</p>
<h1><a class="anchor" id="features"></a>
主要功能</h1>
<ul>
<li><b>基础数学</b>: 点/向量/变换/AABB/公差系统</li>
<li><b>曲线曲面</b>: Bézier / B-Spline / NURBS、自适应细分</li>
<li><b>网格处理</b>: 半边数据结构、Delaunay、简化、平滑、修复、Marching Cubes</li>
<li><b>空间索引</b>: BVH (SAH)、Octree、KD-Tree、R-Tree (STR)</li>
<li><b>布尔运算</b>: 2D Sutherland-Hodgman、3D 网格布尔、B-Rep 布尔</li>
<li><b>碰撞检测</b>: GJK/EPA、SAT、射线-三角形</li>
<li><b>B-Rep 建模</b>: 边界表示、STEP/IGES 导入导出、fillet/chamfer/shell</li>
<li><b>SDF 隐式建模</b>: 15+ 图元、CSG 表达式树、自动微分、梯度优化</li>
<li><b>格式支持</b>: STEP、IGES、glTF/GLB、STL、OBJ、PLY</li>
</ul>
<h1><a class="anchor" id="modules"></a>
模块组织</h1>
<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"><a class="el" href="group__foundation.html">基础模块</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1foundation.html" title="自适应双精度谓词后端(默认)">vde::foundation</a> </td><td class="markdownTableBodyNone">数学类型、公差、I/O、序列化 </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="group__core.html">核心几何模块</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1core.html">vde::core</a> </td><td class="markdownTableBodyNone">点/线/面、变换、多边形、Voronoi、ICP </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="group__curves.html">曲线曲面模块 (vde::curves)</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1curves.html">vde::curves</a> </td><td class="markdownTableBodyNone">NURBS 曲线曲面、细分 </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="group__mesh.html">网格模块 (vde::mesh)</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1mesh.html">vde::mesh</a> </td><td class="markdownTableBodyNone">半边网格、三角剖分、质量、修复 </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="group__spatial.html">空间索引模块 (vde::spatial)</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1spatial.html">vde::spatial</a> </td><td class="markdownTableBodyNone">BVH、Octree、KD-Tree、R-Tree </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="group__boolean.html">布尔运算模块 (vde::boolean)</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1boolean.html">vde::boolean</a> </td><td class="markdownTableBodyNone">2D/3D 布尔、多边形偏移 </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="group__collision.html">碰撞检测模块 (vde::collision)</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1collision.html">vde::collision</a> </td><td class="markdownTableBodyNone">GJK、SAT、射线、三角交线 </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="group__brep.html">B-Rep 模块 (vde::brep)</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1brep.html">vde::brep</a> </td><td class="markdownTableBodyNone">B-Rep 建模、STEP/IGES、布尔、验证 </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="group__sdf.html">SDF 模块 (vde::sdf)</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1sdf.html">vde::sdf</a> </td><td class="markdownTableBodyNone">隐式图元、CSG 树、自动微分、优化 </td></tr>
<tr class="markdownTableRowEven">
<td class="markdownTableBodyNone"><a class="el" href="group__sketch.html">草图模块 (vde::sketch)</a> </td><td class="markdownTableBodyNone"><a class="el" href="namespacevde_1_1sketch.html">vde::sketch</a> </td><td class="markdownTableBodyNone">2D 约束求解 </td></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone"><a class="el" href="group__capi.html">C API 模块 (vde::capi)</a> </td><td class="markdownTableBodyNone">vde::capi </td><td class="markdownTableBodyNone">C API 绑定 </td></tr>
</table>
<h1><a class="anchor" id="quickstart"></a>
快速开始</h1>
<div class="fragment"><div class="line"><span class="preprocessor">#include &lt;<a class="code" href="sdf__primitives_8h.html">vde/sdf/sdf_primitives.h</a>&gt;</span></div>
<div class="line"><span class="preprocessor">#include &lt;<a class="code" href="sdf__operations_8h.html">vde/sdf/sdf_operations.h</a>&gt;</span></div>
<div class="line"> </div>
<div class="line"><span class="comment">// 创建一个光滑并集: 球 + 盒子</span></div>
<div class="line"><span class="keyword">using namespace </span><a class="code" href="namespacevde_1_1core.html">vde::core</a>;</div>
<div class="line"><span class="keyword">auto</span> f = [](<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z) {</div>
<div class="line"> <span class="keywordtype">double</span> d1 = <a class="code" href="namespacevde_1_1sdf.html#ab544a3ebc4c0844b322b73bbbe4efb3f">vde::sdf::sphere</a>(<a class="code" href="namespacevde_1_1core.html#ac6aed70c4b90d13f10217267cd7a1952">Point3D</a>(x,y,z), 1.5);</div>
<div class="line"> <span class="keywordtype">double</span> d2 = <a class="code" href="namespacevde_1_1sdf.html#a380ebfe1b3b65d5ecc4efcb946b21834">vde::sdf::box</a>(<a class="code" href="namespacevde_1_1core.html#ac6aed70c4b90d13f10217267cd7a1952">Point3D</a>(x,y,z), <a class="code" href="namespacevde_1_1core.html#ac6aed70c4b90d13f10217267cd7a1952">Point3D</a>(1,1,1));</div>
<div class="line"> <span class="keywordflow">return</span> <a class="code" href="namespacevde_1_1sdf.html#af6c1da88edd1032340478a9d31fee04d">vde::sdf::op_smooth_union</a>(d1, d2, 0.3);</div>
<div class="line">};</div>
<div class="line"> </div>
<div class="line"><span class="comment">// 求值</span></div>
<div class="line"><span class="keywordtype">double</span> val = f(0, 0, 0); <span class="comment">// SDF 值</span></div>
<div class="ttc" id="anamespacevde_1_1core_html"><div class="ttname"><a href="namespacevde_1_1core.html">vde::core</a></div><div class="ttdef"><b>Definition:</b> <a href="aabb_8h_source.html#l00006">aabb.h:6</a></div></div>
<div class="ttc" id="anamespacevde_1_1core_html_ac6aed70c4b90d13f10217267cd7a1952"><div class="ttname"><a href="namespacevde_1_1core.html#ac6aed70c4b90d13f10217267cd7a1952">vde::core::Point3D</a></div><div class="ttdeci">foundation::Point3D Point3D</div><div class="ttdoc">双精度三维点(重新导出)</div><div class="ttdef"><b>Definition:</b> <a href="point_8h_source.html#l00031">point.h:31</a></div></div>
<div class="ttc" id="anamespacevde_1_1sdf_html_a380ebfe1b3b65d5ecc4efcb946b21834"><div class="ttname"><a href="namespacevde_1_1sdf.html#a380ebfe1b3b65d5ecc4efcb946b21834">vde::sdf::box</a></div><div class="ttdeci">double box(const Point3D &amp;p, const Point3D &amp;half_extents)</div><div class="ttdoc">轴对齐立方体的 SDF</div><div class="ttdef"><b>Definition:</b> <a href="sdf__primitives_8h_source.html#l00096">sdf_primitives.h:96</a></div></div>
<div class="ttc" id="anamespacevde_1_1sdf_html_ab544a3ebc4c0844b322b73bbbe4efb3f"><div class="ttname"><a href="namespacevde_1_1sdf.html#ab544a3ebc4c0844b322b73bbbe4efb3f">vde::sdf::sphere</a></div><div class="ttdeci">double sphere(const Point3D &amp;p, double radius)</div><div class="ttdoc">球体的 SDF</div><div class="ttdef"><b>Definition:</b> <a href="sdf__primitives_8h_source.html#l00068">sdf_primitives.h:68</a></div></div>
<div class="ttc" id="anamespacevde_1_1sdf_html_af6c1da88edd1032340478a9d31fee04d"><div class="ttname"><a href="namespacevde_1_1sdf.html#af6c1da88edd1032340478a9d31fee04d">vde::sdf::op_smooth_union</a></div><div class="ttdeci">double op_smooth_union(double d1, double d2, double k)</div><div class="ttdoc">平滑并集(带混合过渡)</div><div class="ttdef"><b>Definition:</b> <a href="sdf__operations_8h_source.html#l00126">sdf_operations.h:126</a></div></div>
<div class="ttc" id="asdf__operations_8h_html"><div class="ttname"><a href="sdf__operations_8h.html">sdf_operations.h</a></div><div class="ttdoc">SDF 布尔运算、修饰算子与域变形</div></div>
<div class="ttc" id="asdf__primitives_8h_html"><div class="ttname"><a href="sdf__primitives_8h.html">sdf_primitives.h</a></div><div class="ttdoc">有符号距离函数(SDF)基础图元</div></div>
</div><!-- fragment --><h1><a class="anchor" id="build"></a>
构建</h1>
<div class="fragment"><div class="line">cmake -B build &amp;&amp; cmake --build build -j$(nproc)</div>
<div class="line">cd build &amp;&amp; ctest --output-on-failure</div>
</div><!-- fragment --><p>依赖: CMake ≥ 3.16, C++17 编译器, Eigen 3 (自动下载)</p>
<dl class="section see"><dt>参见</dt><dd><a href="https://github.com/.../ViewDesignEngine">https://github.com/.../ViewDesignEngine</a> </dd></dl>
</div></div><!-- PageDoc -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<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>