vtkPolyData
<p><code>vtkPolyData</code> 是 <code>vtk.js</code> 中用于表示多边形数据的核心类。它主要用于存储几何数据(如点、线、多边形)和与这些几何体相关的属性。</p>
<h3>核心功能</h3>
<ol>
<li><strong>几何数据存储</strong>: 管理点、线、三角形等多边形数据。</li>
<li><strong>数据属性</strong>: 支持顶点颜色、法线、纹理坐标等附加信息。</li>
<li><strong>数据操作</strong>: 提供方法来操作和查询几何数据。</li>
</ol>
<h3>主要方法</h3>
<ul>
<li><strong><code>getPoints()</code></strong>: 获取点数据对象,通常是 <code>vtkPoints</code> 实例。</li>
<li><strong><code>getPolys()</code></strong>: 获取多边形数据对象,通常是 <code>vtkCellArray</code> 实例。</li>
<li><strong><code>getCellData()</code></strong>: 获取单元数据(例如,多边形的属性)。</li>
<li><strong><code>getPointData()</code></strong>: 获取点数据(例如,点的颜色、标量值)。</li>
</ul>
<h3>使用示例</h3>
<pre><code class="language-javascript">import vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';
import vtkPoints from '@kitware/vtk.js/Common/Core/Points';
import vtkCellArray from '@kitware/vtk.js/Common/Core/CellArray';
// 创建 vtkPolyData 实例
const polyData = vtkPolyData.newInstance();
// 设置点数据
const points = vtkPoints.newInstance();
points.setData(Float32Array.from([0, 0, 0, 1, 1, 1, 1, 0, 0]));
polyData.setPoints(points);
// 设置多边形数据
const polys = vtkCellArray.newInstance();
polys.setData(Uint32Array.from([0, 1, 2]));
polyData.setPolys(polys);
// 获取和操作数据
const retrievedPoints = polyData.getPoints();
const retrievedPolys = polyData.getPolys();
</code></pre>
<p>总结</p>
<p>vtkPolyData 是处理三维几何数据的基础结构,适用于各种三维可视化任务。它通过存储和操作点、线、多边形及其属性,为高级数据处理和可视化提供了基础。</p>