2025-07-18 15:38:28 +08:00

1056 lines
28 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class Solid | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class Solid | HiAPI-C# 2025 ">
<meta name="description" content="Represents a solid geometry object with display, collision detection, and STL capabilities. Provides thread-safe access to geometry data and caching mechanisms.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="Hi.NcMech.Solids.Solid">
<h1 id="Hi_NcMech_Solids_Solid" data-uid="Hi.NcMech.Solids.Solid" class="text-break">
Class Solid
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcMech.html">NcMech</a>.<a class="xref" href="Hi.NcMech.Solids.html">Solids</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
</div>
<div class="markdown summary"><p>Represents a solid geometry object with display, collision detection, and STL capabilities.
Provides thread-safe access to geometry data and caching mechanisms.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class Solid : IGetTriTree, ICollidable, IGetCollidable, IDisplayee, IExpandToBox3d, IDisposable, IGetSolid, IUpdateByContent, IClearCache, IStlSource, IGetStl, IMakeXmlSource</code></pre>
</div>
<dl class="typelist inheritance">
<dt>Inheritance</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
<div><span class="xref">Solid</span></div>
</dd>
</dl>
<dl class="typelist implements">
<dt>Implements</dt>
<dd>
<div><a class="xref" href="Hi.Collision.IGetTriTree.html">IGetTriTree</a></div>
<div><a class="xref" href="Hi.Collision.ICollidable.html">ICollidable</a></div>
<div><a class="xref" href="Hi.Collision.IGetCollidable.html">IGetCollidable</a></div>
<div><a class="xref" href="Hi.Disp.IDisplayee.html">IDisplayee</a></div>
<div><a class="xref" href="Hi.Geom.IExpandToBox3d.html">IExpandToBox3d</a></div>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
<div><a class="xref" href="Hi.NcMech.Solids.IGetSolid.html">IGetSolid</a></div>
<div><a class="xref" href="Hi.Common.IUpdateByContent.html">IUpdateByContent</a></div>
<div><a class="xref" href="Hi.Common.IClearCache.html">IClearCache</a></div>
<div><a class="xref" href="Hi.Geom.IStlSource.html">IStlSource</a></div>
<div><a class="xref" href="Hi.Geom.IGetStl.html">IGetStl</a></div>
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
</dd></dl>
<dl class="typelist extensionMethods">
<dt>Extension Methods</dt>
<dd>
<div>
<a class="xref" href="Hi.Collision.CollisionUtil.html#Hi_Collision_CollisionUtil_Detect_Hi_Collision_ICollidable_Hi_Collision_ICollidable_Hi_Geom_Mat4d_System_Double_System_Int32_">CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int)</a>
</div>
<div>
<a class="xref" href="Hi.Geom.StlUtil.html#Hi_Geom_StlUtil_ToFaceDrawing_Hi_Geom_IGetStl_">StlUtil.ToFaceDrawing(IGetStl)</a>
</div>
<div>
<a class="xref" href="Hi.Geom.StlUtil.html#Hi_Geom_StlUtil_ToLineDrawing_Hi_Geom_IGetStl_">StlUtil.ToLineDrawing(IGetStl)</a>
</div>
<div>
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate&lt;TSelf&gt;(TSelf, params object[])</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke&lt;TSrc&gt;(TSrc, Action&lt;TSrc&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke&lt;TSrc, TDst&gt;(TSrc, Func&lt;TSrc, TDst&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
</div>
<div>
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
</div>
<div>
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
</div>
</dd></dl>
<h2 class="section" id="constructors">Constructors
</h2>
<a id="Hi_NcMech_Solids_Solid__ctor_" data-uid="Hi.NcMech.Solids.Solid.#ctor*"></a>
<h3 id="Hi_NcMech_Solids_Solid__ctor" data-uid="Hi.NcMech.Solids.Solid.#ctor">
Solid()
</h3>
<div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Hi.NcMech.Solids.Solid.html">Solid</a> class.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Solid()</code></pre>
</div>
<a id="Hi_NcMech_Solids_Solid__ctor_" data-uid="Hi.NcMech.Solids.Solid.#ctor*"></a>
<h3 id="Hi_NcMech_Solids_Solid__ctor_Hi_Geom_IGetStl_" data-uid="Hi.NcMech.Solids.Solid.#ctor(Hi.Geom.IGetStl)">
Solid(IGetStl)
</h3>
<div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Hi.NcMech.Solids.Solid.html">Solid</a> class with the specified STL geometry source.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Solid(IGetStl geom)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>geom</code> <a class="xref" href="Hi.Geom.IGetStl.html">IGetStl</a></dt>
<dd><p>The STL geometry source.</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid__ctor_" data-uid="Hi.NcMech.Solids.Solid.#ctor*"></a>
<h3 id="Hi_NcMech_Solids_Solid__ctor_System_Xml_Linq_XElement_System_String_" data-uid="Hi.NcMech.Solids.Solid.#ctor(System.Xml.Linq.XElement,System.String)">
Solid(XElement, string)
</h3>
<div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Hi.NcMech.Solids.Solid.html">Solid</a> class from XML.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Solid(XElement src, string baseDirectory)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>src</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
<dd><p>The XML source element.</p>
</dd>
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The base directory for resolving relative paths.</p>
</dd>
</dl>
<h2 class="section" id="fields">Fields
</h2>
<h3 id="Hi_NcMech_Solids_Solid_XName" data-uid="Hi.NcMech.Solids.Solid.XName">
XName
</h3>
<div class="markdown level1 summary"><p>Gets the XML element name for serialization.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string XName</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="properties">Properties
</h2>
<a id="Hi_NcMech_Solids_Solid_CollisionFlag_" data-uid="Hi.NcMech.Solids.Solid.CollisionFlag*"></a>
<h3 id="Hi_NcMech_Solids_Solid_CollisionFlag" data-uid="Hi.NcMech.Solids.Solid.CollisionFlag">
CollisionFlag
</h3>
<div class="markdown level1 summary"><p>Gets or sets the collision flag indicating the collision state of this solid.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CollisionFlag CollisionFlag { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Collision.CollisionFlag.html">CollisionFlag</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_Geom_" data-uid="Hi.NcMech.Solids.Solid.Geom*"></a>
<h3 id="Hi_NcMech_Solids_Solid_Geom" data-uid="Hi.NcMech.Solids.Solid.Geom">
Geom
</h3>
<div class="markdown level1 summary"><p>Gets or sets the STL geometry source.
Setting this property will clear the cached data.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IGetStl Geom { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.IGetStl.html">IGetStl</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_NativeSmoothTopoStl_" data-uid="Hi.NcMech.Solids.Solid.NativeSmoothTopoStl*"></a>
<h3 id="Hi_NcMech_Solids_Solid_NativeSmoothTopoStl" data-uid="Hi.NcMech.Solids.Solid.NativeSmoothTopoStl">
NativeSmoothTopoStl
</h3>
<div class="markdown level1 summary"><p>Gets the native smooth topology STL representation.
The data is created from the STL representation when first accessed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public NativeTopoStld NativeSmoothTopoStl { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.NativeTopoStld.html">NativeTopoStld</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_NativeStl_" data-uid="Hi.NcMech.Solids.Solid.NativeStl*"></a>
<h3 id="Hi_NcMech_Solids_Solid_NativeStl" data-uid="Hi.NcMech.Solids.Solid.NativeStl">
NativeStl
</h3>
<div class="markdown level1 summary"><p>Gets the native STL representation.
The data is created from the STL representation when first accessed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public NativeStl NativeStl { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.NativeStl.html">NativeStl</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_Prepared_" data-uid="Hi.NcMech.Solids.Solid.Prepared*"></a>
<h3 id="Hi_NcMech_Solids_Solid_Prepared" data-uid="Hi.NcMech.Solids.Solid.Prepared">
Prepared
</h3>
<div class="markdown level1 summary"><p>Gets or sets whether the solid geometry is prepared for use.
Setting this to true will ensure all necessary data structures are initialized.
Setting this to false will clear the cached data.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool Prepared { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_Stl_" data-uid="Hi.NcMech.Solids.Solid.Stl*"></a>
<h3 id="Hi_NcMech_Solids_Solid_Stl" data-uid="Hi.NcMech.Solids.Solid.Stl">
Stl
</h3>
<div class="markdown level1 summary"><p>Gets the STL representation of the solid geometry.
The STL data is cached after first access.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Stl Stl { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Stl.html">Stl</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_TriTree_" data-uid="Hi.NcMech.Solids.Solid.TriTree*"></a>
<h3 id="Hi_NcMech_Solids_Solid_TriTree" data-uid="Hi.NcMech.Solids.Solid.TriTree">
TriTree
</h3>
<div class="markdown level1 summary"><p>Gets the triangle tree representation for collision detection.
The tree is built from the native STL data when first accessed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TriTree TriTree { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Collision.TriTree.html">TriTree</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
<a id="Hi_NcMech_Solids_Solid_ClearCache_" data-uid="Hi.NcMech.Solids.Solid.ClearCache*"></a>
<h3 id="Hi_NcMech_Solids_Solid_ClearCache" data-uid="Hi.NcMech.Solids.Solid.ClearCache">
ClearCache()
</h3>
<div class="markdown level1 summary"><p>Manually clears the cached data if the content of <a class="xref" href="Hi.NcMech.Solids.Solid.html#Hi_NcMech_Solids_Solid_Geom">Geom</a> has changed.
The cache determines the behavior of the <a class="xref" href="Hi.NcMech.Solids.Solid.html">Solid</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void ClearCache()</code></pre>
</div>
<a id="Hi_NcMech_Solids_Solid_Display_" data-uid="Hi.NcMech.Solids.Solid.Display*"></a>
<h3 id="Hi_NcMech_Solids_Solid_Display_Hi_Disp_Bind_" data-uid="Hi.NcMech.Solids.Solid.Display(Hi.Disp.Bind)">
Display(Bind)
</h3>
<div class="markdown level1 summary"><p>Display function called in <a class="xref" href="Hi.Disp.DispEngine.html">DispEngine</a> rendering loop.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void Display(Bind bind)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>bind</code> <a class="xref" href="Hi.Disp.Bind.html">Bind</a></dt>
<dd><p>Bind with <a class="xref" href="Hi.Disp.DispEngine.html">DispEngine</a>. See <a class="xref" href="Hi.Disp.Bind.html">Bind</a>.</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_Dispose_" data-uid="Hi.NcMech.Solids.Solid.Dispose*"></a>
<h3 id="Hi_NcMech_Solids_Solid_Dispose" data-uid="Hi.NcMech.Solids.Solid.Dispose">
Dispose()
</h3>
<div class="markdown level1 summary"><p>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
</div>
<a id="Hi_NcMech_Solids_Solid_Dispose_" data-uid="Hi.NcMech.Solids.Solid.Dispose*"></a>
<h3 id="Hi_NcMech_Solids_Solid_Dispose_System_Boolean_" data-uid="Hi.NcMech.Solids.Solid.Dispose(System.Boolean)">
Dispose(bool)
</h3>
<div class="markdown level1 summary"><p>Releases the unmanaged resources and optionally releases the managed resources.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected virtual void Dispose(bool disposing)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>disposing</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd><p>true to release both managed and unmanaged resources; false to release only unmanaged resources.</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_ExpandToBox3d_" data-uid="Hi.NcMech.Solids.Solid.ExpandToBox3d*"></a>
<h3 id="Hi_NcMech_Solids_Solid_ExpandToBox3d_Hi_Geom_Box3d_" data-uid="Hi.NcMech.Solids.Solid.ExpandToBox3d(Hi.Geom.Box3d)">
ExpandToBox3d(Box3d)
</h3>
<div class="markdown level1 summary"><p>Expands the destination box.
This function is usually used to compute the bounding box of elements.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void ExpandToBox3d(Box3d dst)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>dst</code> <a class="xref" href="Hi.Geom.Box3d.html">Box3d</a></dt>
<dd><p>Destination box</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_GetCollidable_" data-uid="Hi.NcMech.Solids.Solid.GetCollidable*"></a>
<h3 id="Hi_NcMech_Solids_Solid_GetCollidable" data-uid="Hi.NcMech.Solids.Solid.GetCollidable">
GetCollidable()
</h3>
<div class="markdown level1 summary"><p>Get <a class="xref" href="Hi.Collision.ICollidable.html">ICollidable</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public ICollidable GetCollidable()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Collision.ICollidable.html">ICollidable</a></dt>
<dd><p>The collidable object.</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_GetCollidee_" data-uid="Hi.NcMech.Solids.Solid.GetCollidee*"></a>
<h3 id="Hi_NcMech_Solids_Solid_GetCollidee" data-uid="Hi.NcMech.Solids.Solid.GetCollidee">
GetCollidee()
</h3>
<div class="markdown level1 summary"><p>Get <a class="xref" href="Hi.Collision.ICollidee.html">ICollidee</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public ICollidee GetCollidee()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Collision.ICollidee.html">ICollidee</a></dt>
<dd><p><a class="xref" href="Hi.Collision.ICollidee.html">ICollidee</a></p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_GetSolid_" data-uid="Hi.NcMech.Solids.Solid.GetSolid*"></a>
<h3 id="Hi_NcMech_Solids_Solid_GetSolid" data-uid="Hi.NcMech.Solids.Solid.GetSolid">
GetSolid()
</h3>
<div class="markdown level1 summary"><p>Gets the solid geometry object.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Solid GetSolid()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcMech.Solids.Solid.html">Solid</a></dt>
<dd><p>The solid geometry object.</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_GetSourceGeom_" data-uid="Hi.NcMech.Solids.Solid.GetSourceGeom*"></a>
<h3 id="Hi_NcMech_Solids_Solid_GetSourceGeom" data-uid="Hi.NcMech.Solids.Solid.GetSourceGeom">
GetSourceGeom()
</h3>
<div class="markdown level1 summary"><p>Gets the source geometry object.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IGetStl GetSourceGeom()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.IGetStl.html">IGetStl</a></dt>
<dd><p>The source geometry object.</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_GetStl_" data-uid="Hi.NcMech.Solids.Solid.GetStl*"></a>
<h3 id="Hi_NcMech_Solids_Solid_GetStl" data-uid="Hi.NcMech.Solids.Solid.GetStl">
GetStl()
</h3>
<div class="markdown level1 summary"><p>Gets the STL geometry data.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Stl GetStl()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Stl.html">Stl</a></dt>
<dd><p>The STL geometry object</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_GetTriTree_" data-uid="Hi.NcMech.Solids.Solid.GetTriTree*"></a>
<h3 id="Hi_NcMech_Solids_Solid_GetTriTree" data-uid="Hi.NcMech.Solids.Solid.GetTriTree">
GetTriTree()
</h3>
<div class="markdown level1 summary"><p>Get <a class="xref" href="Hi.Collision.TriTree.html">TriTree</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TriTree GetTriTree()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Collision.TriTree.html">TriTree</a></dt>
<dd><p><a class="xref" href="Hi.Collision.TriTree.html">TriTree</a></p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_MakeXmlSource_" data-uid="Hi.NcMech.Solids.Solid.MakeXmlSource*"></a>
<h3 id="Hi_NcMech_Solids_Solid_MakeXmlSource_System_String_System_String_" data-uid="Hi.NcMech.Solids.Solid.MakeXmlSource(System.String,System.String)">
MakeXmlSource(string, string)
</h3>
<div class="markdown level1 summary"><p>Creates an XML representation of the object.
This method may also generate additional resources such as related files.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public XElement MakeXmlSource(string baseDirectory, string relFile)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The base directory for resolving relative paths</p>
</dd>
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The relative file path for the XML source</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
<dd><p>An XML element representing the object's state</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_ToString_" data-uid="Hi.NcMech.Solids.Solid.ToString*"></a>
<h3 id="Hi_NcMech_Solids_Solid_ToString" data-uid="Hi.NcMech.Solids.Solid.ToString">
ToString()
</h3>
<div class="markdown level1 summary"><p>Returns a string that represents the current object.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>A string that represents the current object.</p>
</dd>
</dl>
<a id="Hi_NcMech_Solids_Solid_UpdateByContent_" data-uid="Hi.NcMech.Solids.Solid.UpdateByContent*"></a>
<h3 id="Hi_NcMech_Solids_Solid_UpdateByContent" data-uid="Hi.NcMech.Solids.Solid.UpdateByContent">
UpdateByContent()
</h3>
<div class="markdown level1 summary"><p>Updates the object based on its current content.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void UpdateByContent()</code></pre>
</div>
</article>
<div class="contribution d-print-none">
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
</div>
</div>
</footer>
</body>
</html>