@realsee/five
Version:
Realsee Renderer SDK
98 lines (91 loc) • 23 kB
HTML
<html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>features/multi-work | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">features/multi-work</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="多-work-沙盘-场景-multi-work-sandbox" class="tsd-anchor-link">多 Work (沙盘) 场景 (Multi-Work / Sandbox)<a href="#多-work-沙盘-场景-multi-work-sandbox" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
<ul>
<li><strong>Summary</strong>: 在同一个 Five 实例中加载和管理多个 Work 数据(如沙盘场景),实现多楼盘/多户型的同屏展示与切换。</li>
<li><strong>Schema</strong>: <code>Work[]</code>, <code>LooseWorkWithExtrinsics</code>, <code>FiveLoadOptions</code>.</li>
<li><strong>Concepts</strong>: WorkCode, Works Collection, Coordinate Transform.</li>
<li><strong>Configuration</strong>: <code>five.load()</code> 参数配置。</li>
<li><strong>Examples</strong>: 加载多个 Work、动态添加 Work、Work 间切换。</li>
</ul>
<h2 id="schema" class="tsd-anchor-link">Schema<a href="#schema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<blockquote>
<p><strong>Definition</strong>: <a href="../../five/application/fiveLoadOptions.d.ts">FiveLoadOptions</a>, <a href="../../five/work/looseWorkType.d.ts">LooseWorkWithExtrinsics</a></p>
</blockquote>
<h3 id="核心类型定义" class="tsd-anchor-link">核心类型定义<a href="#核心类型定义" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<pre><code class="typescript"><span class="hl-8">// 输入数据类型</span><br/><span class="hl-3">type</span><span class="hl-1"> </span><span class="hl-7">FiveLoadInput</span><span class="hl-1"> =</span><br/><span class="hl-1"> | </span><span class="hl-7">Work</span><span class="hl-1">[]</span><br/><span class="hl-1"> | </span><span class="hl-7">LooseWorkWithExtrinsics</span><span class="hl-1">[]</span><br/><span class="hl-1"> | </span><span class="hl-7">string</span><span class="hl-1">[]; </span><span class="hl-8">// JSON Strings</span><br/><br/><span class="hl-8">// 带位姿信息的 LooseWork (用于调整模型在场景中的位置)</span><br/><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">LooseWorkWithExtrinsics</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">work</span><span class="hl-1">: </span><span class="hl-7">LooseWork</span><span class="hl-1">; </span><span class="hl-8">// Work 数据内容</span><br/><span class="hl-1"> </span><span class="hl-6">transform</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">[]; </span><span class="hl-8">// 4x4 变换矩阵 (数组格式), 用于整体偏移/旋转该 Work</span><br/><span class="hl-1"> </span><span class="hl-6">workCode</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1">; </span><span class="hl-8">// 强制指定 WorkCode (覆盖数据中的默认值)</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-8">// 加载选项</span><br/><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">FiveLoadOptions</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">mode</span><span class="hl-1">?: </span><span class="hl-9">"replace"</span><span class="hl-1"> | </span><span class="hl-9">"add"</span><span class="hl-1">; </span><span class="hl-8">// 替换当前场景 vs 追加到当前场景</span><br/><span class="hl-1"> </span><span class="hl-8">// ... 其他常规选项</span><br/><span class="hl-1">}</span>
</code><button type="button">Copy</button></pre>
<h2 id="concepts" class="tsd-anchor-link">Concepts<a href="#concepts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<h3 id="1-works-collection-数据集" class="tsd-anchor-link">1. Works Collection (数据集)<a href="#1-works-collection-数据集" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>当 Five 加载多个 Work 时,它们被存储在 <code>five.works</code> 集合中。</p>
<ul>
<li><code>five.works</code> 是一个增强的只读数组 (<code>ReadonlyArray<Work></code>)。</li>
<li>提供了 <code>getWork(workCode)</code> 和 <code>getObserver(panoId)</code> 等辅助方法。</li>
</ul>
<h3 id="2-workcode-唯一标识" class="tsd-anchor-link">2. WorkCode (唯一标识)<a href="#2-workcode-唯一标识" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>在多 Work 场景中,<code>workCode</code> 是区分不同 Work 的关键。</p>
<ul>
<li><strong>必须唯一</strong>: 加载的每个 Work 必须有唯一的 <code>workCode</code>。如果数据中重复,建议在加载时通过 <code>ParseOptions</code> 重写。</li>
<li><strong>状态索引</strong>: <code>five.state</code> 和 <code>five.setState</code> 中需要通过 <code>workCode</code> 来指定目标 Work。</li>
</ul>
<h3 id="3-coordinate-alignment-坐标对齐" class="tsd-anchor-link">3. Coordinate Alignment (坐标对齐)<a href="#3-coordinate-alignment-坐标对齐" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>不同 Work 的原始模型可能位于其各自的坐标系原点。为了在沙盘中正确排列它们(避免重叠),需要使用 <code>transform</code> 矩阵对每个 Work 进行空间变换(平移、旋转)。</p>
<h2 id="configuration" class="tsd-anchor-link">Configuration<a href="#configuration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<p><code>five.load(input, state, options)</code> 是入口方法。</p>
<table>
<thead>
<tr>
<th style="text-align:left">参数</th>
<th style="text-align:left">类型</th>
<th style="text-align:left">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><code>input</code></td>
<td style="text-align:left"><code>FiveLoadInput</code></td>
<td style="text-align:left">Work 数据数组。</td>
</tr>
<tr>
<td style="text-align:left"><code>options.mode</code></td>
<td style="text-align:left"><code>"replace" | "add"</code></td>
<td style="text-align:left">默认为 <code>"replace"</code> (清空当前场景)。设为 <code>"add"</code> 可保留现有场景并追加新 Work。</td>
</tr>
</tbody>
</table>
<h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<h3 id="1-基础加载-basic-loading" class="tsd-anchor-link">1. 基础加载 (Basic Loading)<a href="#1-基础加载-basic-loading" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>一次性加载两个 Work。</p>
<pre><code class="typescript"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">works</span><span class="hl-1"> = [</span><span class="hl-6">workDataA</span><span class="hl-1">, </span><span class="hl-6">workDataB</span><span class="hl-1">];</span><br/><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">works</span><span class="hl-1">).</span><span class="hl-5">then</span><span class="hl-1">(() </span><span class="hl-3">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">"所有 Work 加载完成"</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">"当前 Works:"</span><span class="hl-1">, </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">works</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
</code><button type="button">Copy</button></pre>
<h3 id="2-沙盘排布-sandbox-layout" class="tsd-anchor-link">2. 沙盘排布 (Sandbox Layout)<a href="#2-沙盘排布-sandbox-layout" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>使用 <code>transform</code> 将两个户型并排摆放。</p>
<pre><code class="typescript"><span class="hl-10">import</span><span class="hl-1"> </span><span class="hl-3">*</span><span class="hl-1"> </span><span class="hl-10">as</span><span class="hl-1"> </span><span class="hl-6">THREE</span><span class="hl-1"> </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">"three"</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 创建变换矩阵:向 X 轴正方向平移 20 米</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">matrixB</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-4">THREE</span><span class="hl-1">.</span><span class="hl-5">Matrix4</span><span class="hl-1">().</span><span class="hl-5">makeTranslation</span><span class="hl-1">(</span><span class="hl-11">20</span><span class="hl-1">, </span><span class="hl-11">0</span><span class="hl-1">, </span><span class="hl-11">0</span><span class="hl-1">);</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">input</span><span class="hl-1"> = [</span><br/><span class="hl-1"> </span><span class="hl-8">// Work A: 保持在原点</span><br/><span class="hl-1"> { </span><span class="hl-6">work:</span><span class="hl-1"> </span><span class="hl-6">workDataA</span><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-8">// Work B: 偏移位置</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">work:</span><span class="hl-1"> </span><span class="hl-6">workDataB</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">transform:</span><span class="hl-1"> </span><span class="hl-6">matrixB</span><span class="hl-1">.</span><span class="hl-5">toArray</span><span class="hl-1">()</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">];</span><br/><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">input</span><span class="hl-1">);</span>
</code><button type="button">Copy</button></pre>
<h3 id="3-动态添加-dynamic-add" class="tsd-anchor-link">3. 动态添加 (Dynamic Add)<a href="#3-动态添加-dynamic-add" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>在不销毁当前场景的情况下,追加一个新的 Work。</p>
<pre><code class="typescript"><span class="hl-8">// 假设当前已经加载了 Work A</span><br/><span class="hl-8">// 追加 Work C</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">workDataC</span><span class="hl-1">, </span><span class="hl-3">undefined</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">"add"</span><span class="hl-1"> </span><span class="hl-8">// 关键参数</span><br/><span class="hl-1">}).</span><span class="hl-5">then</span><span class="hl-1">(() </span><span class="hl-3">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">"Work C 已加入场景"</span><span class="hl-1">);</span><br/><span class="hl-1">});</span>
</code><button type="button">Copy</button></pre>
<h3 id="4-work-间切换-switching-works" class="tsd-anchor-link">4. Work 间切换 (Switching Works)<a href="#4-work-间切换-switching-works" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>跳转到指定 Work 的特定点位。</p>
<pre><code class="typescript"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">targetWorkCode</span><span class="hl-1"> = </span><span class="hl-9">"work-id-b"</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 方式一:指定点位索引</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">setState</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-6">workCode:</span><span class="hl-1"> </span><span class="hl-6">targetWorkCode</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">panoIndex:</span><span class="hl-1"> </span><span class="hl-11">0</span><span class="hl-1">, </span><span class="hl-8">// 目标 Work 的第 0 个点位</span><br/><span class="hl-1"> </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">"Panorama"</span><br/><span class="hl-1">});</span><br/><br/><span class="hl-8">// 方式二:查找特定 Work</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">targetWork</span><span class="hl-1"> = </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">works</span><span class="hl-1">.</span><span class="hl-5">getWork</span><span class="hl-1">(</span><span class="hl-6">targetWorkCode</span><span class="hl-1">);</span><br/><span class="hl-10">if</span><span class="hl-1"> (</span><span class="hl-6">targetWork</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-8">// 你的业务逻辑</span><br/><span class="hl-1">}</span>
</code><button type="button">Copy</button></pre>
<h2 id="common-pitfalls" class="tsd-anchor-link">Common Pitfalls<a href="#common-pitfalls" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<ol>
<li><strong>WorkCode 冲突</strong>: 如果加载的两个 Work 拥有相同的 <code>workCode</code>,SDK 行为可能不可预期。务必确保唯一性。
<ul>
<li><em>解决</em>: 在构造 <code>LooseWorkWithExtrinsics</code> 时传入 <code>workCode</code> 字段强制覆盖。</li>
</ul>
</li>
<li><strong>资源隔离</strong>: 每个 Work 的纹理/模型请求是独立的。如果 Work A 和 Work B 引用了相同的 URL 资源,浏览器缓存会生效,但 SDK 内部逻辑仍视为独立资源。</li>
<li><strong>内存压力</strong>: 同时加载多个大型模型会显著增加显存占用。建议根据设备性能限制同时加载的 Work 数量。</li>
<li><strong>坐标系混淆</strong>: <code>transform</code> 仅影响 3D 模型的渲染位置。Work 内部的点位坐标 (<code>observer.position</code>) 也会自动应用此变换,但开发者在进行手动射线检测或计算时,需注意区分<strong>原始坐标</strong>和<strong>世界坐标</strong>。</li>
</ol>
<h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<ul>
<li><a href="features_five.html">Five</a>: Five 核心类说明。</li>
<li><a href="features_state.html">State</a>: 状态管理说明。</li>
<li><a href="features_work.html">Work</a>: Work 数据结构详解。</li>
</ul>
<hr>
<pre><code class="yaml"><span class="hl-0">tags</span><span class="hl-1">: [</span><span class="hl-2">多场景</span><span class="hl-1">, </span><span class="hl-2">沙盘</span><span class="hl-1">, </span><span class="hl-2">多户型</span><span class="hl-1">, </span><span class="hl-2">拼接</span><span class="hl-1">, </span><span class="hl-2">追加</span><span class="hl-1">, </span><span class="hl-2">切换场景</span><span class="hl-1">, </span><span class="hl-2">多楼盘</span><span class="hl-1">, </span><span class="hl-2">multi-work</span><span class="hl-1">, </span><span class="hl-2">sandbox</span><span class="hl-1">, </span><span class="hl-2">works</span><span class="hl-1">, </span><span class="hl-2">load</span><span class="hl-1">, </span><span class="hl-2">transform</span><span class="hl-1">, </span><span class="hl-2">workCode</span><span class="hl-1">]</span>
</code><button type="button">Copy</button></pre>
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#多-work-沙盘-场景-multi-work-sandbox"><span>多 <wbr/>Work (沙盘) 场景 (<wbr/>Multi-<wbr/>Work / <wbr/>Sandbox)</span></a><ul><li><a href="#schema"><span>Schema</span></a></li><li><ul><li><a href="#核心类型定义"><span>核心类型定义</span></a></li></ul></li><li><a href="#concepts"><span>Concepts</span></a></li><li><ul><li><a href="#1-works-collection-数据集"><span>1. <wbr/>Works <wbr/>Collection (数据集)</span></a></li><li><a href="#2-workcode-唯一标识"><span>2. <wbr/>Work<wbr/>Code (唯一标识)</span></a></li><li><a href="#3-coordinate-alignment-坐标对齐"><span>3. <wbr/>Coordinate <wbr/>Alignment (坐标对齐)</span></a></li></ul></li><li><a href="#configuration"><span>Configuration</span></a></li><li><a href="#examples"><span>Examples</span></a></li><li><ul><li><a href="#1-基础加载-basic-loading"><span>1. 基础加载 (<wbr/>Basic <wbr/>Loading)</span></a></li><li><a href="#2-沙盘排布-sandbox-layout"><span>2. 沙盘排布 (<wbr/>Sandbox <wbr/>Layout)</span></a></li><li><a href="#3-动态添加-dynamic-add"><span>3. 动态添加 (<wbr/>Dynamic <wbr/>Add)</span></a></li><li><a href="#4-work-间切换-switching-works"><span>4. <wbr/>Work 间切换 (<wbr/>Switching <wbr/>Works)</span></a></li></ul></li><li><a href="#common-pitfalls"><span>Common <wbr/>Pitfalls</span></a></li><li><a href="#related"><span>Related</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>