UNPKG

@realsee/five

Version:

Realsee Renderer SDK

110 lines (100 loc) • 25.5 kB
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>features/parameter | 如视 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/parameter</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="parameter-配置系统" class="tsd-anchor-link">Parameter (配置系统)<a href="#parameter-配置系统" 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 用于控制三维模型渲染表现的核心配置系统,采用树形继承设计。</li> <li><strong>Schema</strong>: 是所有配置项的容器,通过继承机制管理 Material 和 3DTile 等子配置。</li> <li><strong>Concepts</strong>: Hierarchy (树形继承), Override (覆盖), Resolution (解析)。</li> <li><strong>Examples</strong>: 全局配置、局部覆盖、参数重置。</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/model/parameter.d.ts">Parameter</a></p> </blockquote> <p><code>Parameter</code> 类是配置的入口。它并不直接包含所有配置字段的定义,而是将它们组织在不同的接口中。</p> <h3 id="parameter-categories-参数分类" class="tsd-anchor-link">Parameter Categories (参数分类)<a href="#parameter-categories-参数分类" 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>为了便于理解,我们将参数分为两大类:</p> <table> <thead> <tr> <th style="text-align:left">Category</th> <th style="text-align:left">Description</th> <th style="text-align:left">Link</th> </tr> </thead> <tbody> <tr> <td style="text-align:left"><strong>Material &amp; Appearance</strong></td> <td style="text-align:left">控制“长什么样”。包括材质、颜色、楼层显示、阴影、点云样式等。</td> <td style="text-align:left"><a href="features_material.html">Material Params</a></td> </tr> <tr> <td style="text-align:left"><strong>3DTile &amp; Performance</strong></td> <td style="text-align:left">控制“怎么加载”。包括 LOD (细节层级)、显存配额、网络并发、SSE 阈值等。</td> <td style="text-align:left"><a href="features_3dtile.html">3DTile Params</a></td> </tr> </tbody> </table> <h3 id="parameter-class-api" class="tsd-anchor-link">Parameter Class API<a href="#parameter-class-api" 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> <h4 id="1-getting-values-获取值" class="tsd-anchor-link">1. Getting Values (获取值)<a href="#1-getting-values-获取值" 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></h4> <p>获取参数值<strong>不使用</strong> <code>get()</code> 方法,而是直接访问属性。</p> <ul> <li><strong>Direct Access (直接访问)</strong>: 获取当前 <code>Parameter</code> 实例上设置的值。如果未设置,返回 <code>undefined</code>。</li> <li><strong>Resolve Value (计算最终值)</strong>: 获取经过树形继承计算后的最终生效值。 <ul> <li>如果不传参,则基于默认值计算 (Default -&gt; Current)。</li> <li>如果传入上游 Parameter,则基于默认值 + 上游 Parameter 计算 (Default -&gt; Upstream -&gt; Current)。</li> </ul> </li> </ul> <pre><code class="typescript"><span class="hl-8">// 方式 A: 直接访问 (获取当前层级配置)</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">currentVal</span><span class="hl-1"> = </span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-6">maxMemoryUsage</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 方式 B: 计算最终值 (包含继承逻辑)</span><br/><br/><span class="hl-8">// 1. 基础用法:仅继承默认值</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">finalVal</span><span class="hl-1"> = </span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">resolveValue</span><span class="hl-1">().</span><span class="hl-6">maxMemoryUsage</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 2. 进阶用法:指定继承源 (例如 ViewLayer 继承自 Model)</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">inheritedVal</span><span class="hl-1"> = </span><span class="hl-6">viewLayerParam</span><span class="hl-1">.</span><span class="hl-5">resolveValue</span><span class="hl-1">(</span><span class="hl-6">parentParameter</span><span class="hl-1">).</span><span class="hl-6">maxMemoryUsage</span><span class="hl-1">;</span> </code><button type="button">Copy</button></pre> <h4 id="2-methods-方法" class="tsd-anchor-link">2. Methods (方法)<a href="#2-methods-方法" 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></h4> <p><code>Parameter</code> 实例提供了以下核心方法来管理配置:</p> <pre><code class="typescript"><span class="hl-3">class</span><span class="hl-1"> </span><span class="hl-7">Parameter</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">/**</span><br/><span class="hl-8"> * 设置配置项</span><br/><span class="hl-8"> * </span><span class="hl-3">@param</span><span class="hl-8"> </span><span class="hl-6">key</span><span class="hl-8"> 参数名 (如 &#39;opacity&#39;, &#39;maxMemoryUsage&#39;)</span><br/><span class="hl-8"> * </span><span class="hl-3">@param</span><span class="hl-8"> </span><span class="hl-6">value</span><span class="hl-8"> 参数值</span><br/><span class="hl-8"> */</span><br/><span class="hl-1"> </span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-6">key</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">, </span><span class="hl-6">value</span><span class="hl-1">: </span><span class="hl-7">any</span><span class="hl-1">): </span><span class="hl-7">void</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/**</span><br/><span class="hl-8"> * 重置配置项(移除当前层级的设置,恢复继承上游的值)</span><br/><span class="hl-8"> * </span><span class="hl-3">@param</span><span class="hl-8"> </span><span class="hl-6">keys</span><span class="hl-8"> 要重置的参数名列表</span><br/><span class="hl-8"> */</span><br/><span class="hl-1"> </span><span class="hl-5">reset</span><span class="hl-1">(...</span><span class="hl-6">keys</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">[]): </span><span class="hl-7">void</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/**</span><br/><span class="hl-8"> * 获取经过继承计算后的最终值(每次调用创建新对象)</span><br/><span class="hl-8"> * </span><span class="hl-3">@param</span><span class="hl-8"> </span><span class="hl-6">upstream</span><span class="hl-8"> 上游 Parameter 对象列表(通常由引擎自动传入)</span><br/><span class="hl-8"> */</span><br/><span class="hl-1"> </span><span class="hl-5">resolveValue</span><span class="hl-1">(...</span><span class="hl-6">upstream</span><span class="hl-1">: </span><span class="hl-7">Parameter</span><span class="hl-1">[]): </span><span class="hl-7">ResolvedParameterValue</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/**</span><br/><span class="hl-8"> * 获取经过继承计算后的最终值(复用 target 对象,避免重复创建)</span><br/><span class="hl-8"> * 适用于高频调用场景(如逐帧更新),可显著减少 GC 压力。</span><br/><span class="hl-8"> * </span><span class="hl-3">@param</span><span class="hl-8"> </span><span class="hl-6">target</span><span class="hl-8"> 用于写入结果的已有对象,其属性会被重置为默认值后重新赋值</span><br/><span class="hl-8"> * </span><span class="hl-3">@param</span><span class="hl-8"> </span><span class="hl-6">upstream</span><span class="hl-8"> 上游 Parameter 对象列表</span><br/><span class="hl-8"> */</span><br/><span class="hl-1"> </span><span class="hl-3">static</span><span class="hl-1"> </span><span class="hl-5">resolveValueTo</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-6">target</span><span class="hl-1">: </span><span class="hl-7">Partial</span><span class="hl-1">&lt;</span><span class="hl-7">ResolvedParameterValue</span><span class="hl-1">&gt;,</span><br/><span class="hl-1"> ...</span><span class="hl-6">upstream</span><span class="hl-1">: </span><span class="hl-7">Partial</span><span class="hl-1">&lt;</span><span class="hl-7">ParameterValue</span><span class="hl-1">&gt;[]</span><br/><span class="hl-1"> ): </span><span class="hl-7">ResolvedParameterValue</span><span class="hl-1">;</span><br/><span class="hl-1">}</span> </code><button type="button">Copy</button></pre> <blockquote> <p><code>resolveValue()</code> 内部已委托给 <code>resolveValueTo({}, ...)</code>,两者计算逻辑一致,区别仅在于是否复用对象。</p> </blockquote> <h4 id="3-version-版本标识" class="tsd-anchor-link">3. Version (版本标识)<a href="#3-version-版本标识" 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></h4> <p><code>ResolvedParameterValue</code> 通过 <code>versionNumber: number</code> 标识当前配置的版本。引擎内部使用整数哈希(而非字符串拼接)计算版本号,用于高效的脏检查。</p> <pre><code class="typescript"><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">ResolvedParameterValue</span><span class="hl-1"> </span><span class="hl-3">extends</span><span class="hl-1"> </span><span class="hl-7">ParameterValue</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">/** 整数哈希,输入参数变化时值会改变,用于脏检查 */</span><br/><span class="hl-1"> </span><span class="hl-6">versionNumber</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</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="树形继承关系-hierarchy" class="tsd-anchor-link">树形继承关系 (Hierarchy)<a href="#树形继承关系-hierarchy" 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>Parameter 遵循 <strong>“就近原则” (Override)</strong> 的继承逻辑。</p> <ol> <li><strong>ViewLayer Parameter</strong>: 最具体,优先级最高。通常对应一个具体的 <code>.gltf</code> 文件或数据块。</li> <li><strong>Model Parameter</strong>: 覆盖该 Model 下的所有 ViewLayer。一个 Model 可能包含多个 ViewLayer (如 Mesh 层和 PointCloud 层)。</li> <li><strong>ModelScene Parameter</strong>: 全局默认值,优先级最低。影响整个场景。</li> </ol> <pre><code class="mermaid"><span class="hl-1">graph TD</span><br/><span class="hl-1"> Scene[ModelScene.parameter] --&gt;|Inherit| Model[Model.parameter]</span><br/><span class="hl-1"> Model --&gt;|Inherit| Layer1[ViewLayer.parameter]</span><br/><span class="hl-1"> Model --&gt;|Inherit| Layer2[ViewLayer.parameter]</span> </code><button type="button">Copy</button></pre> <blockquote> <p><strong>Global Configuration (全局设置)</strong>: 若需修改所有模型的默认表现(如统一调暗亮度、统一设置显存上限),<strong>请直接配置 <code>five.modelScene.parameter</code></strong>。它是继承链的根节点,其设置会向下传递给所有 Model 和 ViewLayer。</p> <p><strong>Why modelScene? (生命周期优势)</strong>: <code>Model</code> 实例是跟随 Work 加载生命周期的(需 <code>five.load(work)</code> 后才能访问,且切换 Work 会销毁重建)。 相比之下,<code>ModelScene</code> 是常驻对象。因此,<strong>使用 <code>modelScene</code> 进行配置更安全且持久</strong>,既无需等待 Work 加载完成,也无需担心切换 Work 导致配置丢失。</p> </blockquote> <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-usage" class="tsd-anchor-link">1. 基础配置 (Basic Usage)<a href="#1-基础配置-basic-usage" 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">// 1. 设置全局最大显存 (影响所有模型)</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;maxMemoryUsage&#39;</span><span class="hl-1">, </span><span class="hl-11">512</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// 2. 设置全局半透明</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;opacity&#39;</span><span class="hl-1">, </span><span class="hl-11">0.5</span><span class="hl-1">);</span> </code><button type="button">Copy</button></pre> <h3 id="2-局部覆盖-override" class="tsd-anchor-link">2. 局部覆盖 (Override)<a href="#2-局部覆盖-override" 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-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;castShadow&#39;</span><span class="hl-1">, </span><span class="hl-3">false</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// 但让特定的“主角”模型产生阴影</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">heroModel</span><span class="hl-1"> = </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">models</span><span class="hl-1">[</span><span class="hl-11">0</span><span class="hl-1">];</span><br/><span class="hl-6">heroModel</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;castShadow&#39;</span><span class="hl-1">, </span><span class="hl-3">true</span><span class="hl-1">);</span> </code><button type="button">Copy</button></pre> <h3 id="3-重置配置-reset" class="tsd-anchor-link">3. 重置配置 (Reset)<a href="#3-重置配置-reset" 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">// 假设之前设置了 opacity</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;opacity&#39;</span><span class="hl-1">, </span><span class="hl-11">0.5</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// ... 一段时间后 ...</span><br/><br/><span class="hl-8">// 移除该设置,恢复默认值 (或继承值)</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">reset</span><span class="hl-1">(</span><span class="hl-9">&#39;opacity&#39;</span><span class="hl-1">);</span> </code><button type="button">Copy</button></pre> <h3 id="4-获取配置-get-value" class="tsd-anchor-link">4. 获取配置 (Get Value)<a href="#4-获取配置-get-value" 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">// 获取当前对象上的配置(如果未设置,则为 undefined)</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">ownOpacity</span><span class="hl-1"> = </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-6">opacity</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 获取最终生效的配置(计算继承链后的值)</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">finalOpacity</span><span class="hl-1"> = </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">resolveValue</span><span class="hl-1">().</span><span class="hl-6">opacity</span><span class="hl-1">;</span> </code><button type="button">Copy</button></pre> <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_material.html">Material Parameters</a>: 材质与外观参数详情。</li> <li><a href="features_3dtile.html">3DTile Parameters</a>: 性能与加载参数详情。</li> <li><a href="features_model.html">Model</a>: Parameter 的宿主。</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">parameter</span><span class="hl-1">, </span><span class="hl-2">config</span><span class="hl-1">, </span><span class="hl-2">hierarchy</span><span class="hl-1">, </span><span class="hl-2">api</span><span class="hl-1">, </span><span class="hl-2">set</span><span class="hl-1">, </span><span class="hl-2">reset</span><span class="hl-1">, </span><span class="hl-2">modelScene</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="#parameter-配置系统"><span>Parameter (配置系统)</span></a><ul><li><a href="#schema"><span>Schema</span></a></li><li><ul><li><a href="#parameter-categories-参数分类"><span>Parameter <wbr/>Categories (参数分类)</span></a></li><li><a href="#parameter-class-api"><span>Parameter <wbr/>Class <wbr/>API</span></a></li><li><ul><li><a href="#1-getting-values-获取值"><span>1. <wbr/>Getting <wbr/>Values (获取值)</span></a></li><li><a href="#2-methods-方法"><span>2. <wbr/>Methods (方法)</span></a></li><li><a href="#3-version-版本标识"><span>3. <wbr/>Version (版本标识)</span></a></li></ul></li></ul></li><li><a href="#concepts"><span>Concepts</span></a></li><li><ul><li><a href="#树形继承关系-hierarchy"><span>树形继承关系 (<wbr/>Hierarchy)</span></a></li></ul></li><li><a href="#examples"><span>Examples</span></a></li><li><ul><li><a href="#1-基础配置-basic-usage"><span>1. 基础配置 (<wbr/>Basic <wbr/>Usage)</span></a></li><li><a href="#2-局部覆盖-override"><span>2. 局部覆盖 (<wbr/>Override)</span></a></li><li><a href="#3-重置配置-reset"><span>3. 重置配置 (<wbr/>Reset)</span></a></li><li><a href="#4-获取配置-get-value"><span>4. 获取配置 (<wbr/>Get <wbr/>Value)</span></a></li></ul></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>