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

177 lines
22 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: include/vde/spatial/octree.h 源文件</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('octree_8h_source.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="headertitle">
<div class="title">octree.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="octree_8h.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#pragma once</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="aabb_8h.html">vde/core/aabb.h</a>&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="spatial__index_8h.html">vde/spatial/spatial_index.h</a>&quot;</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacevde_1_1spatial.html">vde::spatial</a> {</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacevde_1_1core.html#ac6aed70c4b90d13f10217267cd7a1952">core::Point3D</a>;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacevde_1_1core.html#ab763c018d19e10e91a6c6d6ab2ccc8e0">core::Vector3D</a>;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacevde_1_1core.html#a04dc76bd933ba44d1aed5cd6d24bebeb">core::Ray3Dd</a>;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacevde_1_1core.html#a2d5a2fbdd5b868a1f767d069322d0acd">core::Triangle3D</a>;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="structvde_1_1spatial_1_1OctreeNode.html"> 22</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structvde_1_1spatial_1_1OctreeNode.html">OctreeNode</a>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="structvde_1_1spatial_1_1OctreeData.html"> 23</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structvde_1_1spatial_1_1OctreeData.html">OctreeData</a>;</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html"> 51</a></span>&#160;<span class="keyword">class </span><a class="code" href="classvde_1_1spatial_1_1Octree.html">Octree</a> : <span class="keyword">public</span> <a class="code" href="classvde_1_1spatial_1_1SpatialIndex.html">SpatialIndex</a>&lt;T&gt; {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#aa61288e4ab6ee3a729d58488a1f88d23"> 59</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classvde_1_1spatial_1_1Octree.html#aa61288e4ab6ee3a729d58488a1f88d23">Octree</a>(<span class="keywordtype">int</span> max_depth = 8, <span class="keywordtype">int</span> max_items = 16);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#a89f097f05a5d8e3f37c8827b0becf13a"> 69</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classvde_1_1spatial_1_1Octree.html#a89f097f05a5d8e3f37c8827b0becf13a">build</a>(<span class="keyword">const</span> std::vector&lt;T&gt;&amp; items) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#a4f4f6b7a241c6a546406fbf40d42bad2"> 79</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classvde_1_1spatial_1_1Octree.html#a4f4f6b7a241c6a546406fbf40d42bad2">insert</a>(<span class="keyword">const</span> T&amp; item) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#a57d8e701deb0fb778caa9df487f22e38"> 87</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classvde_1_1spatial_1_1Octree.html#a57d8e701deb0fb778caa9df487f22e38">remove</a>(<span class="keyword">const</span> T&amp; item) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#a5a577319aeb8e7f4fc2bcb76fc23d425"> 97</a></span>&#160; std::vector&lt;T&gt; <a class="code" href="classvde_1_1spatial_1_1Octree.html#a5a577319aeb8e7f4fc2bcb76fc23d425">query_range</a>(<span class="keyword">const</span> <a class="code" href="namespacevde_1_1core.html#a5e6679209cad0695e1b9d088c4b0e224">AABB3D</a>&amp; range) <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#a01e4aebdad76a100da83b6fcec6bef52"> 108</a></span>&#160; std::vector&lt;T&gt; <a class="code" href="classvde_1_1spatial_1_1Octree.html#a01e4aebdad76a100da83b6fcec6bef52">query_knn</a>(<span class="keyword">const</span> <a class="code" href="namespacevde_1_1core.html#ac6aed70c4b90d13f10217267cd7a1952">Point3D</a>&amp; point, <span class="keywordtype">size_t</span> k) <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#aeb6be8f90b1e0da1f8abb106aae14a9e"> 118</a></span>&#160; std::vector&lt;T&gt; <a class="code" href="classvde_1_1spatial_1_1Octree.html#aeb6be8f90b1e0da1f8abb106aae14a9e">query_ray</a>(<span class="keyword">const</span> <a class="code" href="namespacevde_1_1core.html#a04dc76bd933ba44d1aed5cd6d24bebeb">Ray3Dd</a>&amp; ray) <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#a662710127e41ac3c225eaf36ef2c3ca4"> 123</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classvde_1_1spatial_1_1Octree.html#a662710127e41ac3c225eaf36ef2c3ca4">clear</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classvde_1_1spatial_1_1Octree.html#aa023943f4019613695359e5ba7f370b1"> 130</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classvde_1_1spatial_1_1Octree.html#aa023943f4019613695359e5ba7f370b1">size</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordtype">void</span> insert_recursive(<span class="keywordtype">int</span> node_idx, <span class="keyword">const</span> T&amp; item, <span class="keywordtype">int</span> depth);</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">void</span> subdivide_recursive(<span class="keywordtype">int</span> node_idx, <span class="keywordtype">int</span> depth);</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordtype">void</span> query_range_recursive(<span class="keywordtype">int</span> node_idx, <span class="keyword">const</span> <a class="code" href="namespacevde_1_1core.html#a5e6679209cad0695e1b9d088c4b0e224">AABB3D</a>&amp; range,</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; std::vector&lt;T&gt;&amp; result) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordtype">void</span> query_ray_recursive(<span class="keywordtype">int</span> node_idx, <span class="keyword">const</span> <a class="code" href="namespacevde_1_1core.html#a04dc76bd933ba44d1aed5cd6d24bebeb">Ray3Dd</a>&amp; ray,</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; std::vector&lt;T&gt;&amp; result) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keyword">static</span> <a class="code" href="namespacevde_1_1core.html#ac6aed70c4b90d13f10217267cd7a1952">Point3D</a> get_position(<span class="keyword">const</span> T&amp; item);</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; std::shared_ptr&lt;OctreeData&lt;T&gt;&gt; data_; </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordtype">int</span> max_depth_; </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordtype">int</span> max_items_; </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;};</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;} <span class="comment">// namespace vde::spatial</span></div>
<div class="ttc" id="aaabb_8h_html"><div class="ttname"><a href="aabb_8h.html">aabb.h</a></div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html">vde::spatial::Octree</a></div><div class="ttdoc">八叉树空间索引</div><div class="ttdef"><b>Definition:</b> <a href="octree_8h_source.html#l00051">octree.h:51</a></div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_a01e4aebdad76a100da83b6fcec6bef52"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#a01e4aebdad76a100da83b6fcec6bef52">vde::spatial::Octree::query_knn</a></div><div class="ttdeci">std::vector&lt; T &gt; query_knn(const Point3D &amp;point, size_t k) const override</div><div class="ttdoc">K 近邻查询</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_a4f4f6b7a241c6a546406fbf40d42bad2"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#a4f4f6b7a241c6a546406fbf40d42bad2">vde::spatial::Octree::insert</a></div><div class="ttdeci">void insert(const T &amp;item) override</div><div class="ttdoc">增量插入对象</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_a57d8e701deb0fb778caa9df487f22e38"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#a57d8e701deb0fb778caa9df487f22e38">vde::spatial::Octree::remove</a></div><div class="ttdeci">bool remove(const T &amp;item) override</div><div class="ttdoc">删除对象</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_a5a577319aeb8e7f4fc2bcb76fc23d425"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#a5a577319aeb8e7f4fc2bcb76fc23d425">vde::spatial::Octree::query_range</a></div><div class="ttdeci">std::vector&lt; T &gt; query_range(const AABB3D &amp;range) const override</div><div class="ttdoc">范围查询</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_a662710127e41ac3c225eaf36ef2c3ca4"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#a662710127e41ac3c225eaf36ef2c3ca4">vde::spatial::Octree::clear</a></div><div class="ttdeci">void clear() override</div><div class="ttdoc">清空八叉树</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_a89f097f05a5d8e3f37c8827b0becf13a"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#a89f097f05a5d8e3f37c8827b0becf13a">vde::spatial::Octree::build</a></div><div class="ttdeci">void build(const std::vector&lt; T &gt; &amp;items) override</div><div class="ttdoc">批量构建八叉树</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_aa023943f4019613695359e5ba7f370b1"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#aa023943f4019613695359e5ba7f370b1">vde::spatial::Octree::size</a></div><div class="ttdeci">size_t size() const override</div><div class="ttdoc">当前索引中的对象数量</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_aa61288e4ab6ee3a729d58488a1f88d23"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#aa61288e4ab6ee3a729d58488a1f88d23">vde::spatial::Octree::Octree</a></div><div class="ttdeci">Octree(int max_depth=8, int max_items=16)</div><div class="ttdoc">构造八叉树</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1Octree_html_aeb6be8f90b1e0da1f8abb106aae14a9e"><div class="ttname"><a href="classvde_1_1spatial_1_1Octree.html#aeb6be8f90b1e0da1f8abb106aae14a9e">vde::spatial::Octree::query_ray</a></div><div class="ttdeci">std::vector&lt; T &gt; query_ray(const Ray3Dd &amp;ray) const override</div><div class="ttdoc">射线查询</div></div>
<div class="ttc" id="aclassvde_1_1spatial_1_1SpatialIndex_html"><div class="ttname"><a href="classvde_1_1spatial_1_1SpatialIndex.html">vde::spatial::SpatialIndex</a></div><div class="ttdoc">空间索引抽象基类</div><div class="ttdef"><b>Definition:</b> <a href="spatial__index_8h_source.html#l00044">spatial_index.h:44</a></div></div>
<div class="ttc" id="anamespacevde_1_1core_html_a04dc76bd933ba44d1aed5cd6d24bebeb"><div class="ttname"><a href="namespacevde_1_1core.html#a04dc76bd933ba44d1aed5cd6d24bebeb">vde::core::Ray3Dd</a></div><div class="ttdeci">Ray3D&lt; double &gt; Ray3Dd</div><div class="ttdoc">双精度三维射线</div><div class="ttdef"><b>Definition:</b> <a href="line_8h_source.html#l00141">line.h:141</a></div></div>
<div class="ttc" id="anamespacevde_1_1core_html_a2d5a2fbdd5b868a1f767d069322d0acd"><div class="ttname"><a href="namespacevde_1_1core.html#a2d5a2fbdd5b868a1f767d069322d0acd">vde::core::Triangle3D</a></div><div class="ttdeci">Triangle&lt; double &gt; Triangle3D</div><div class="ttdoc">双精度三维三角形</div><div class="ttdef"><b>Definition:</b> <a href="triangle_8h_source.html#l00105">triangle.h:105</a></div></div>
<div class="ttc" id="anamespacevde_1_1core_html_a5e6679209cad0695e1b9d088c4b0e224"><div class="ttname"><a href="namespacevde_1_1core.html#a5e6679209cad0695e1b9d088c4b0e224">vde::core::AABB3D</a></div><div class="ttdeci">AABB&lt; double &gt; AABB3D</div><div class="ttdoc">双精度三维包围盒</div><div class="ttdef"><b>Definition:</b> <a href="aabb_8h_source.html#l00131">aabb.h:131</a></div></div>
<div class="ttc" id="anamespacevde_1_1core_html_ab763c018d19e10e91a6c6d6ab2ccc8e0"><div class="ttname"><a href="namespacevde_1_1core.html#ab763c018d19e10e91a6c6d6ab2ccc8e0">vde::core::Vector3D</a></div><div class="ttdeci">foundation::Vector3D Vector3D</div><div class="ttdoc">双精度三维向量(重新导出)</div><div class="ttdef"><b>Definition:</b> <a href="point_8h_source.html#l00049">point.h:49</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_1spatial_html"><div class="ttname"><a href="namespacevde_1_1spatial.html">vde::spatial</a></div><div class="ttdef"><b>Definition:</b> <a href="bvh_8h_source.html#l00020">bvh.h:20</a></div></div>
<div class="ttc" id="aspatial__index_8h_html"><div class="ttname"><a href="spatial__index_8h.html">spatial_index.h</a></div><div class="ttdoc">空间索引抽象基类</div></div>
<div class="ttc" id="astructvde_1_1spatial_1_1OctreeData_html"><div class="ttname"><a href="structvde_1_1spatial_1_1OctreeData.html">vde::spatial::OctreeData</a></div><div class="ttdef"><b>Definition:</b> <a href="octree_8h_source.html#l00023">octree.h:23</a></div></div>
<div class="ttc" id="astructvde_1_1spatial_1_1OctreeNode_html"><div class="ttname"><a href="structvde_1_1spatial_1_1OctreeNode.html">vde::spatial::OctreeNode</a></div><div class="ttdef"><b>Definition:</b> <a href="octree_8h_source.html#l00022">octree.h:22</a></div></div>
</div><!-- fragment --></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="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_36dfe8171299c47a6036082559f11ede.html">vde</a></li><li class="navelem"><a class="el" href="dir_e152f56c51ece605f751581f25f04179.html">spatial</a></li><li class="navelem"><a class="el" href="octree_8h.html">octree.h</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>