pyvista.wrap#
- wrap(dataset: ndarray | vtkDataSet | Trimesh | Mesh | None) pyvista.DataSet | pyvista.pyvista_ndarray | None [ソース]#
与えられたVTKデータオブジェクトを適切なPyVistaデータオブジェクトにラップします.
その他,対応しているフォーマットは以下の通りです.
2D
numpy.ndarray
XYZの頂点を表す.3D
numpy.ndarray
ボリュームを表します.値はスカラーです.3D
trimesh.Trimesh
メッシュです.3D
meshio.Mesh
メッシュ.
バージョン 0.38.0 で変更: 渡されたオブジェクトがすでにラップされたPyVistaオブジェクトである場合,これはノー・オペレーションで,そのオブジェクトを直接返します.以前のバージョンのPyVistaでは,これは浅いコピーを実行します.
- パラメータ:
- dataset
numpy.ndarray
|trimesh.Trimesh
|vtk.DataSet
ラップするデータセット.
- dataset
- 戻り値:
pyvista.DataSet
PyVistaのラッピングデータセット.
例
ランダムなポイントクラウドを表すnumpy配列をラップする.
>>> import numpy as np >>> import pyvista as pv >>> points = np.random.random((10, 3)) >>> cloud = pv.wrap(points) >>> cloud PolyData (...) N Cells: 10 N Points: 10 N Strips: 0 X Bounds: ... Y Bounds: ... Z Bounds: ... N Arrays: 0
VTKオブジェクトをラップする.
>>> import pyvista as pv >>> import vtk >>> points = vtk.vtkPoints() >>> p = [1.0, 2.0, 3.0] >>> vertices = vtk.vtkCellArray() >>> pid = points.InsertNextPoint(p) >>> _ = vertices.InsertNextCell(1) >>> _ = vertices.InsertCellPoint(pid) >>> point = vtk.vtkPolyData() >>> _ = point.SetPoints(points) >>> _ = point.SetVerts(vertices) >>> mesh = pv.wrap(point) >>> mesh PolyData (...) N Cells: 1 N Points: 1 N Strips: 0 X Bounds: 1.000e+00, 1.000e+00 Y Bounds: 2.000e+00, 2.000e+00 Z Bounds: 3.000e+00, 3.000e+00 N Arrays: 0
Trimeshオブジェクトをラップする.
>>> import trimesh >>> import pyvista as pv >>> points = [[0, 0, 0], [0, 0, 1], [0, 1, 0]] >>> faces = [[0, 1, 2]] >>> tmesh = trimesh.Trimesh(points, faces=faces, process=False) >>> mesh = pv.wrap(tmesh) >>> mesh PolyData (0x7fc55ff27ad0) N Cells: 1 N Points: 3 X Bounds: 0.000e+00, 0.000e+00 Y Bounds: 0.000e+00, 1.000e+00 Z Bounds: 0.000e+00, 1.000e+00 N Arrays: 0