本文整理汇总了Python中vtk.vtkPoints方法的典型用法代码示例。如果您正苦于以下问题:Python vtk.vtkPoints方法的具体用法?Python vtk.vtkPoints怎么用?Python vtk.vtkPoints使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vtk
的用法示例。
在下文中一共展示了vtk.vtkPoints方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_voxel
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def create_voxel(self):
numberOfVertices = 8
points = vtk.vtkPoints()
points.InsertNextPoint(0, 0, 0)
points.InsertNextPoint(1, 0, 0)
points.InsertNextPoint(0, 1, 0)
points.InsertNextPoint(1, 1, 0)
points.InsertNextPoint(0, 0, 1)
points.InsertNextPoint(1, 0, 1)
points.InsertNextPoint(0, 1, 1)
points.InsertNextPoint(1, 1, 1)
voxel = vtk.vtkVoxel()
for i in range(0, numberOfVertices):
voxel.GetPointIds().SetId(i, i)
ugrid = vtk.vtkUnstructuredGrid()
ugrid.SetPoints(points)
ugrid.InsertNextCell(voxel.GetCellType(), voxel.GetPointIds())
gfilter = vtk.vtkGeometryFilter()
gfilter.SetInput(ugrid)
gfilter.Update()
return gfilter
示例2: points2actor
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def points2actor(xyz, apoint_size):
import vtk
points = vtk.vtkPoints()
# Create the topology of the point (a vertex)
vertices = vtk.vtkCellArray()
# Add points
for i in range(0, len(xyz)):
p = xyz.loc[i].values.tolist()
point_id = points.InsertNextPoint(p)
vertices.InsertNextCell(1)
vertices.InsertCellPoint(point_id)
# Create a poly data object
polydata = vtk.vtkPolyData()
# Set the points and vertices we created as the geometry and topology of the polydata
polydata.SetPoints(points)
polydata.SetVerts(vertices)
polydata.Modified()
# Mapper for points
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(polydata)
# ACTOR for points
actor = vtk.vtkActor()
actor.SetMapper(mapper)
actor.GetProperty().SetPointSize(apoint_size)
return actor, polydata
示例3: face_points2actor
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def face_points2actor(fps_df):
cell_array = vtk.vtkCellArray()
points = vtk.vtkPoints()
point_id = 0
for i in range(fps_df.shape[0]):
polygon = vtk.vtkPolygon()
polygon.GetPointIds().SetNumberOfIds(3)
for n in range(3):
points.InsertNextPoint(fps_df.ix[i, 0+3*n], fps_df.ix[i, 1+3*n], fps_df.ix[i, 2+3*n])
polygon.GetPointIds().SetId(n, point_id)
point_id += 1
cell_array.InsertNextCell(polygon)
polydata = vtk.vtkPolyData()
polydata.SetPoints(points)
polydata.SetPolys(cell_array)
# mapper
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(polydata)
# actor
actor = vtk.vtkActor()
actor.SetMapper(mapper)
return actor, polydata
示例4: addPoint
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def addPoint(self, point):
"""
Add point to point cloud, if more than maximum points are set, they are randomly subsampled
:param point: 3D coordinates
:return: None
"""
if self.vtkPoints.GetNumberOfPoints() < self.maxNumPoints:
pointId = self.vtkPoints.InsertNextPoint(point[:])
self.vtkDepth.InsertNextValue(point[2])
self.vtkCells.InsertNextCell(1)
self.vtkCells.InsertCellPoint(pointId)
else:
r = numpy.random.randint(0, self.maxNumPoints)
self.vtkPoints.SetPoint(r, point[:])
self.vtkCells.Modified()
self.vtkPoints.Modified()
self.vtkDepth.Modified()
示例5: addPoint
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def addPoint(self, point):
"""
Add point to point cloud, if more than maximum points are set, they are randomly subsampled
:param point: 3D coordinates
:return: None
"""
if self.vtkPoints.GetNumberOfPoints() < self.maxNumPoints:
pointId = self.vtkPoints.InsertNextPoint(point[:])
if self.color == 'depth':
self.vtkDepth.InsertNextValue(point[2])
else:
import numbers
assert isinstance(self.color, numbers.Number)
self.vtkDepth.InsertNextValue(self.color)
self.vtkCells.InsertNextCell(1)
self.vtkCells.InsertCellPoint(pointId)
else:
r = self.rng.randint(0, self.maxNumPoints)
self.vtkPoints.SetPoint(r, point[:])
self.vtkCells.Modified()
self.vtkPoints.Modified()
self.vtkDepth.Modified()
示例6: get_polydata_from
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def get_polydata_from(points, tr_re):
numberPoints = len(points)
Points = vtkPoints()
ntype = get_numpy_array_type(Points.GetDataType())
points_vtk = numpy_to_vtk(np.asarray(points, order='C',dtype=ntype), deep=1)
Points.SetNumberOfPoints(numberPoints)
Points.SetData(points_vtk)
Triangles = vtkCellArray()
for item in tr_re:
Triangle = vtkTriangle()
Triangle.GetPointIds().SetId(0,item[0])
Triangle.GetPointIds().SetId(1,item[1])
Triangle.GetPointIds().SetId(2,item[2])
Triangles.InsertNextCell(Triangle)
polydata = vtkPolyData()
polydata.SetPoints(Points)
polydata.SetPolys(Triangles)
polydata.Modified()
polydata.Update()
return polydata
示例7: test_shallow_copy_back_propagation
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def test_shallow_copy_back_propagation():
"""Test that the original data object's points get modified after a
shallow copy.
Reference: https://github.com/pyvista/pyvista/issues/375#issuecomment-531691483
"""
# Case 1
points = vtk.vtkPoints()
points.InsertNextPoint(0.0, 0.0, 0.0)
points.InsertNextPoint(1.0, 0.0, 0.0)
points.InsertNextPoint(2.0, 0.0, 0.0)
original = vtk.vtkPolyData()
original.SetPoints(points)
wrapped = pyvista.PolyData(original, deep=False)
wrapped.points[:] = 2.8
orig_points = vtk_to_numpy(original.GetPoints().GetData())
assert np.allclose(orig_points, wrapped.points)
# Case 2
original = vtk.vtkPolyData()
wrapped = pyvista.PolyData(original, deep=False)
wrapped.points = np.random.rand(5, 3)
orig_points = vtk_to_numpy(original.GetPoints().GetData())
assert np.allclose(orig_points, wrapped.points)
示例8: __create_structured_grid
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def __create_structured_grid(ptsMat, dims, models=None):
"""An internal helper to build out structured grids"""
# Adjust if result was 2D:
if ptsMat.shape[1] == 2:
# Figure out which dim is null
nullDim = dims.index(None)
ptsMat = np.insert(ptsMat, nullDim, np.zeros(ptsMat.shape[0]), axis=1)
if ptsMat.shape[1] != 3:
raise RuntimeError('Points of the mesh are improperly defined.')
# Convert the points
vtkPts = _vtk.vtkPoints()
vtkPts.SetData(_nps.numpy_to_vtk(ptsMat, deep=True))
# Uncover hidden dimension
for i, d in enumerate(dims):
if d is None:
dims[i] = 0
dims[i] = dims[i] + 1
output = _vtk.vtkStructuredGrid()
output.SetDimensions(dims[0], dims[1], dims[2]) # note this subtracts 1
output.SetPoints(vtkPts)
# Assign the model('s) to the object
return assign_cell_data(output, models=models)
示例9: poly_data_builder
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def poly_data_builder(state, zf, register):
instance = vtk.vtkPolyData()
register.update({state['id']: instance})
# geometry
if 'points' in state['properties']:
points = state['properties']['points']
vtkpoints = vtk.vtkPoints()
data_arr = ARRAY_TYPES[points['dataType']]()
fill_array(data_arr, points, zf)
vtkpoints.SetData(data_arr)
instance.SetPoints(vtkpoints)
for cell_type in ['verts', 'lines', 'polys', 'strips']:
if cell_type in state['properties']:
cell_arr = vtk.vtkCellArray()
fill_array(cell_arr.GetData(), state['properties'][cell_type], zf)
getattr(instance, 'Set' + capitalize(cell_type))(cell_arr)
# datasets
fields = state['properties']['fields']
for dataset in fields:
data_arr = ARRAY_TYPES[dataset['dataType']]()
fill_array(data_arr, dataset, zf)
location = getattr(instance, 'Get' + capitalize(dataset['location']))()
getattr(location, capitalize(dataset['registration']))(data_arr)
示例10: addPoint
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def addPoint(self, point):
"""
Add point to point cloud, if more than maximum points are set, they are randomly subsampled
:param point: 3D coordinates
:return: None
"""
if self.vtkPoints.GetNumberOfPoints() < self.maxNumPoints:
pointId = self.vtkPoints.InsertNextPoint(point[:])
self.vtkDepth.InsertNextValue(point[2])
self.vtkCells.InsertNextCell(1)
self.vtkCells.InsertCellPoint(pointId)
else:
r = self.rng.randint(0, self.maxNumPoints)
self.vtkPoints.SetPoint(r, point[:])
self.vtkCells.Modified()
self.vtkPoints.Modified()
self.vtkDepth.Modified()
示例11: createDEM_v2
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def createDEM_v2():
ds = xr.open_dataset('../data/output/Peru_20160601-20180530_comp4.nc')
points = vtk.vtkPoints()
quad = vtk.vtkQuad()
cells = vtk.vtkCellArray()
numPoints = ds.south_north.size*ds.west_east.size
print('Write points \n')
for i,j in product(ds.south_north.values,ds.west_east.values):
points.InsertNextPoint(ds.lat.isel(south_north=i,west_east=j), ds.lon.isel(south_north=i,west_east=j), ds.HGT.sel(south_north=i,west_east=j).values/6370000.0)
print('Write cells \n')
for idx in range(points.GetNumberOfPoints()-ds.west_east.size):
if (idx%ds.west_east.size != 0):
quad.GetPointIds().SetId(0,idx)
quad.GetPointIds().SetId(1,idx+1)
quad.GetPointIds().SetId(2,idx+ds.west_east.size+1)
quad.GetPointIds().SetId(3,idx+ds.west_east.size)
cells.InsertNextCell(quad)
print('Create unstructured grid \n')
grid = vtk.vtkUnstructuredGrid()
grid.SetPoints(points)
grid.SetCells(vtk.VTK_QUAD, cells)
writer = vtk.vtkXMLUnstructuredGridWriter()
writer.SetFileName('cosipy.vtu')
writer.SetInputData(grid)
writer.Write()
示例12: create_surface_points
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def create_surface_points(self, vertices):
"""
Method to create the points that form the surfaces
Args:
vertices (numpy.array): 2D array (XYZ) with the coordinates of the points
Returns:
vtk.vtkPoints: with the coordinates of the points
"""
Points = vtk.vtkPoints()
if self.ve != 1:
vertices[:, 2] = vertices[:, 2] * self.ve
# raise NotImplementedError('Vertical exageration for surfaces not implemented yet.')
# for v in vertices:
# v[-1] = self.ve * v[-1]
# Points.InsertNextPoint(v)
Points.SetData(numpy_to_vtk(vertices))
return Points
示例13: addPoint
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def addPoint(self, point,color):
if self.vtkPoints.GetNumberOfPoints() < self.maxNumPoints:
pointId = self.vtkPoints.InsertNextPoint(point[:])
self.vtkDepth.InsertNextValue(point[2])
self.vtkCells.InsertNextCell(1)
self.vtkCells.InsertCellPoint(pointId)
else:
r = random.randint(0, self.maxNumPoints)
self.vtkPoints.SetPoint(r, point[:])
self.Colors.InsertNextTuple3(color[0],color[1],color[2]) #设置每一增加点的颜色。
self.vtkPolyData.GetPointData().SetScalars(self.Colors)
self.vtkPolyData.Modified()
self.vtkCells.Modified()
self.vtkPoints.Modified()
self.vtkDepth.Modified()
示例14: CreateTriangles
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def CreateTriangles(self, pc, triangles):
"Create a mesh from triangles"
self.verts = vtk.vtkPoints()
self.points_npy = pc[:, :3].copy()
self.verts.SetData(numpy_support.numpy_to_vtk(self.points_npy))
nTri = len(triangles)
self.cells = vtk.vtkCellArray()
self.pd = vtk.vtkPolyData()
# - Note that the cell array looks like this: [3 vtx0 vtx1 vtx2 3 vtx3 ... ]
self.cells_npy = np.column_stack(
[np.full(nTri, 3, dtype=np.int64), triangles.astype(np.int64)]
).ravel()
self.cells.SetCells(nTri, numpy_support.numpy_to_vtkIdTypeArray(self.cells_npy))
self.pd.SetPoints(self.verts)
self.pd.SetPolys(self.cells)
self.SetupPipelineMesh()
示例15: CreatePolyLine
# 需要导入模块: import vtk [as 别名]
# 或者: from vtk import vtkPoints [as 别名]
def CreatePolyLine(self, points):
"Create a 3D line from Nx3 numpy array"
self.verts = vtk.vtkPoints()
polyline = vtk.vtkPolyLine()
polyline_pid = polyline.GetPointIds()
for i, p in enumerate(points):
self.verts.InsertNextPoint(*tuple(p))
polyline_pid.InsertNextId(i)
polyline_cell = vtk.vtkCellArray()
polyline_cell.InsertNextCell(polyline)
self.pd = vtk.vtkPolyData()
self.pd.SetPoints(self.verts)
self.pd.SetLines(polyline_cell)
self.mapper = vtk.vtkPolyDataMapper()
self.mapper.SetInputData(self.pd)
self.actor = vtk.vtkActor()
self.actor.SetMapper(self.mapper)
self.actor.GetProperty().SetLineStipplePattern(0xF0F0)
self.actor.GetProperty().SetLineStippleRepeatFactor(1)
self.actor.GetProperty().SetLineWidth(1.5)