本文整理汇总了Python中vtk.vtkExtractEdges函数的典型用法代码示例。如果您正苦于以下问题:Python vtkExtractEdges函数的具体用法?Python vtkExtractEdges怎么用?Python vtkExtractEdges使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了vtkExtractEdges函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: render
def render(self, pointsData, scalarsArray, radiusArray, nspecies, colouringOptions, atomScaleFactor, lut):
"""
Render the given antisites (wire frame).
"""
self._logger.debug("Rendering antisites: colour by '%s'", colouringOptions.colourBy)
# points
points = vtk.vtkPoints()
points.SetData(pointsData.getVTK())
# poly data
polydata = vtk.vtkPolyData()
polydata.SetPoints(points)
polydata.GetPointData().AddArray(scalarsArray.getVTK())
polydata.GetPointData().SetScalars(radiusArray.getVTK())
# source
cubeSource = vtk.vtkCubeSource()
edges = vtk.vtkExtractEdges()
edges.SetInputConnection(cubeSource.GetOutputPort())
glyphSource = vtk.vtkTubeFilter()
glyphSource.SetInputConnection(edges.GetOutputPort())
glyphSource.SetRadius(0.05)
glyphSource.SetVaryRadius(0)
glyphSource.SetNumberOfSides(5)
glyphSource.UseDefaultNormalOn()
glyphSource.SetDefaultNormal(0.577, 0.577, 0.577)
# glyph
glyph = vtk.vtkGlyph3D()
if vtk.vtkVersion.GetVTKMajorVersion() <= 5:
glyph.SetSource(glyphSource.GetOutput())
glyph.SetInput(polydata)
else:
glyph.SetSourceConnection(glyphSource.GetOutputPort())
glyph.SetInputData(polydata)
glyph.SetScaleFactor(atomScaleFactor * 2.0)
glyph.SetScaleModeToScaleByScalar()
glyph.ClampingOff()
# mapper
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(glyph.GetOutputPort())
mapper.SetLookupTable(lut)
mapper.SetScalarModeToUsePointFieldData()
mapper.SelectColorArray("colours")
utils.setMapperScalarRange(mapper, colouringOptions, nspecies)
# actor
actor = vtk.vtkActor()
actor.SetMapper(mapper)
# store attributes
self._actor = utils.ActorObject(actor)
self._data["Points"] = pointsData
self._data["Scalars"] = scalarsArray
self._data["Radius"] = radiusArray
self._data["LUT"] = lut
self._data["Scale factor"] = atomScaleFactor
示例2: make_sphere
def make_sphere():
global renderer
# ---------------------------------------------------------------
# The following code is identical to render_demo.py...
# ---------------------------------------------------------------
# create a sphere
sphere_src = vtk.vtkSphereSource()
sphere_src.SetRadius(1.0)
sphere_src.SetCenter(0.0, 0.0, 0.0)
sphere_src.SetThetaResolution(20)
sphere_src.SetPhiResolution(20)
# extract the edges
edge_extractor = vtk.vtkExtractEdges()
edge_extractor.SetInputConnection(sphere_src.GetOutputPort())
# map sphere and edges separately
sphere_mapper = vtk.vtkPolyDataMapper()
sphere_mapper.SetInputConnection(sphere_src.GetOutputPort())
edge_mapper = vtk.vtkPolyDataMapper()
edge_mapper.SetInputConnection(edge_extractor.GetOutputPort())
# define different rendering styles for sphere and edges
sphere_actor = vtk.vtkActor()
sphere_actor.SetMapper(sphere_mapper)
sphere_actor.GetProperty().SetColor(1, 0.5, 0)
edge_actor = vtk.vtkActor()
edge_actor.SetMapper(edge_mapper)
edge_actor.GetProperty().SetColor(0, 0.5, 0)
edge_actor.GetProperty().SetLineWidth(3)
# add resulting primitives to renderer
renderer.AddActor(sphere_actor)
renderer.AddActor(edge_actor)
示例3: __init__
def __init__(self, pos, radius, rgb=[0.62, 0, 0.77]):
self.source = vtk.vtkCubeSource()
self.mapper = vtk.vtkPolyDataMapper()
# length of sides
self.source.SetXLength(radius)
self.source.SetYLength(radius)
self.source.SetZLength(radius)
# centre
self.source.SetCenter(pos)
# edges filter
edges = vtk.vtkExtractEdges()
edges.SetInputConnection(self.source.GetOutputPort())
# tube filter
tubes = vtk.vtkTubeFilter()
tubes.SetInputConnection(edges.GetOutputPort())
tubes.SetRadius(0.15)
tubes.SetNumberOfSides(5)
tubes.UseDefaultNormalOn()
tubes.SetDefaultNormal(.577, .577, .577)
# mapper
self.mapper.SetInputConnection(tubes.GetOutputPort())
# actor
self.SetMapper(self.mapper)
self.GetProperty().SetColor(rgb)
示例4: __init__
def __init__(self, module_manager):
SimpleVTKClassModuleBase.__init__(
self, module_manager,
vtk.vtkExtractEdges(), 'Processing.',
('vtkDataSet',), ('vtkPolyData',),
replaceDoc=True,
inputFunctions=None, outputFunctions=None)
示例5: __init__
def __init__(self, **kwargs):
self.hull = vtk.vtkHull()
self.poly_data = vtk.vtkPolyData()
self.extractor = vtk.vtkExtractEdges()
self.extractor.SetInput(self.poly_data)
self.mapper = vtk.vtkPolyDataMapper()
self.mapper.SetInputConnection(self.extractor.GetOutputPort())
self.actor = vtk.vtkActor()
self.actor.SetMapper(self.mapper)
self._process_kwargs(**kwargs)
示例6: get_edges
def get_edges(self):
edges = vtk.vtkExtractEdges()
edges.SetInput(self.grid)
self.edgeMapper.SetInput(edges.GetOutput())
self.edgeActor.SetMapper(self.edgeMapper)
self.edgeActor.GetProperty().SetColor(0, 0, 0)
prop = self.edgeActor.GetProperty()
self.edgeActor.SetVisibility(self.is_edges)
self.rend.AddActor(self.edgeActor)
示例7: compute_info_mesh
def compute_info_mesh(mesh):
vertices= mesh.GetNumberOfPoints()
triangles= mesh.GetNumberOfCells()
extractEdges = vtk.vtkExtractEdges()
extractEdges.SetInputData(mesh)
extractEdges.Update()
lines=extractEdges.GetOutput()
edges=lines.GetNumberOfCells()
print "triangles: ",triangles
print "vertices: ",vertices
print "edges: ",edges
return vertices,triangles
示例8: vtkpoints
def vtkpoints(points, color=None, radius=None):
# Create a polydata with the points we just created.
profile = vtk.vtkPolyData()
profile.SetPoints(points)
# Perform a 2D Delaunay triangulation on them.
delny = vtk.vtkDelaunay2D()
delny.SetInput(profile)
delny.SetTolerance(0.001)
mapMesh = vtk.vtkPolyDataMapper()
mapMesh.SetInputConnection(delny.GetOutputPort())
meshActor = vtk.vtkActor()
meshActor.SetMapper(mapMesh)
meshActor.GetProperty().SetColor(0.1, 0.2, 0.1)
# We will now create a nice looking mesh by wrapping the edges in tubes,
# and putting fat spheres at the points.
extract = vtk.vtkExtractEdges()
extract.SetInputConnection(delny.GetOutputPort())
ball = vtk.vtkSphereSource()
if radius == None:
rad = 0.002
else:
rad = radius
print rad
ball.SetRadius(rad)
ball.SetThetaResolution(50)
ball.SetPhiResolution(5)
balls = vtk.vtkGlyph3D()
balls.SetInputConnection(delny.GetOutputPort())
balls.SetSourceConnection(ball.GetOutputPort())
mapBalls = vtk.vtkPolyDataMapper()
mapBalls.SetInputConnection(balls.GetOutputPort())
ballActor = vtk.vtkActor()
ballActor.SetMapper(mapBalls)
if color == None:
ballcolor = red
else:
ballcolor = color
print "setting ball color to...", ballcolor
ballActor.GetProperty().SetColor(ballcolor)
ballActor.GetProperty().SetSpecularColor(0, 0, 0)
ballActor.GetProperty().SetSpecular(0.3)
ballActor.GetProperty().SetSpecularPower(500)
ballActor.GetProperty().SetAmbient(0.2)
ballActor.GetProperty().SetDiffuse(0.8)
return ballActor, profile
示例9: CreateWirePolyData
def CreateWirePolyData(self):
'''
@rtype: None
'''
if self.getWirePolyData():
return
if not self.GetPolyData():
return
extractor = vtk.vtkExtractEdges()
extractor.SetInput(self.GetPolyData())
extractor.Update()
self.setWirePolyData(extractor.GetOutput())
# del extractor
self.Modified()
示例10: unstructedGridToWireframe
def unstructedGridToWireframe(grid,bkgdColor=[255,255,255],color=[0,0,0],renderer=None):
"""Extracts mesh as wireframe plot from unstructured grid and adds it to renderer.
.. note:: Will create new renderer if none is given.
Keyword Args:
fnVTK (str): Path to input vtk file.
bkgdColor (list): Background color in RGB values.
color (list): Color of mesh in RGB values.
renderer (vtk.vtkRenderer): Some renderer.
Returns:
vtk.vtkRenderer: Renderer object.
"""
#Extract Edges
edges=vtk.vtkExtractEdges()
edges.SetInput(grid)
#Make edges into tubes
tubes = vtk.vtkTubeFilter()
tubes.SetInput(edges.GetOutput())
tubes.SetRadius(0.5)
tubes.SetNumberOfSides(3)
#Genereate wireframe mapper
wireFrameMapper=vtk.vtkPolyDataMapper()
wireFrameMapper.SetInput(tubes.GetOutput())
wireFrameMapper.SetScalarVisibility(0)
#Make Actor
wireFrameActor=vtk.vtkActor()
wireFrameActor.SetMapper(wireFrameMapper)
wireFrameActor.GetProperty().SetColor(color[0],color[1],color[2])
wireFrameActor.SetPickable(0)
#Create the Renderer
if renderer==None:
renderer = vtk.vtkRenderer()
# Add to renderer
renderer.AddActor(wireFrameActor)
renderer.SetBackground(bkgdColor[0], bkgdColor[1], bkgdColor[2])
return renderer
示例11: taubin_smooth
def taubin_smooth(poly, l, m, steps):
edgesfilter = vtk.vtkExtractEdges()
edgesfilter.SetInput(poly)
edgesfilter.Update()
edges = edgesfilter.GetOutput()
new_poly = vtk.vtkPolyData()
new_poly.DeepCopy(poly)
print edges.GetNumberOfPoints()
print poly.GetNumberOfPoints()
points = new_poly.GetPoints()
for s in xrange(steps):
D = {}
for i in xrange(edges.GetNumberOfPoints()):
D[i] = calculate_d(edges, new_poly, i)
for i in xrange(poly.GetNumberOfPoints()):
p = np.array(points.GetPoint(i))
pl = p + l*D[i]
nx, ny, nz = pl
points.SetPoint(i, nx, ny, nz)
D = {}
for i in xrange(edges.GetNumberOfPoints()):
D[i] = calculate_d(edges, new_poly, i)
for i in xrange(poly.GetNumberOfPoints()):
p = np.array(points.GetPoint(i))
pl = p + m*D[i]
nx, ny, nz = pl
points.SetPoint(i, nx, ny, nz)
#D = {}
#for i in xrange(edges.GetNumberOfPoints()):
#D[i] = calculate_d(edges, i)
#for i in xrange(poly.GetNumberOfPoints()):
#x, y, z = points.GetPoint(i)
#nx = x + m*D[i][0]
#ny = y + m*D[i][1]
#nz = z + m*D[i][2]
#points.SetPoint(i, nx, ny, nz)
#new_poly.SetPoints(points)
return new_poly
示例12: getEdges
def getEdges(self):
edges = vtk.vtkExtractEdges()
edges.SetInput(self.grid)
self.edgeMapper = vtk.vtkPolyDataMapper()
self.edgeMapper.SetInput(edges.GetOutput())
#self.edgeMapper.EdgeVisibilityOff()
self.edgeActor = vtk.vtkActor()
self.edgeActor.SetMapper(self.edgeMapper)
self.edgeActor.GetProperty().SetColor(0, 0, 0)
prop = self.edgeActor.GetProperty()
#prop.SetLineWidth(0.0)
if self.isEdges:
prop.EdgeVisibilityOn()
else:
prop.EdgeVisibilityOff()
self.rend.AddActor(self.edgeActor)
vtk.vtkPolyDataMapper().SetResolveCoincidentTopologyToPolygonOffset()
print "visible = ", prop.GetEdgeVisibility()
示例13: Edges
def Edges(cm,
cl=khaki):
Edges = vtk.vtkExtractEdges()
Edges.SetInputConnection(cm.GetOutputPort())
Tubes = vtk.vtkTubeFilter()
Tubes.SetInputConnection(Edges.GetOutputPort())
Tubes.SetRadius(.01)
Tubes.SetNumberOfSides(6)
Tubes.UseDefaultNormalOn()
Tubes.SetDefaultNormal(.577, .577, .577)
# Create the mapper and actor to display the cube edges.
TubeMapper = vtk.vtkPolyDataMapper()
TubeMapper.SetInputConnection(Tubes.GetOutputPort())
CubeEdges = vtk.vtkActor()
CubeEdges.SetMapper(TubeMapper)
CubeEdges.GetProperty().SetDiffuseColor(cl)
CubeEdges.GetProperty().SetSpecular(.4)
CubeEdges.GetProperty().SetSpecularPower(10)
return CubeEdges
示例14: getEdges
def getEdges(self):
edges = vtk.vtkExtractEdges()
edges.SetInput(self.grid)
self.edgeMapper = vtk.vtkPolyDataMapper()
self.edgeMapper.SetInput(edges.GetOutput())
#edges.GetOutput().ReleaseDataFlagOn()
#self.edgeMapper.EdgeVisibilityOff()
self.edgeActor = vtk.vtkActor()
self.edgeActor.SetMapper(self.edgeMapper)
self.edgeActor.GetProperty().SetColor(0, 0, 0)
prop = self.edgeActor.GetProperty()
#prop.SetLineWidth(0.0)
if self.isEdges:
prop.EdgeVisibilityOn()
else:
prop.EdgeVisibilityOff()
self.rend.AddActor(self.edgeActor)
print("visible = %s" % (prop.GetEdgeVisibility()))
示例15: make_cubeActor
def make_cubeActor (lattice, radius=0.1):
CubeModel = vtk.vtkCubeSource()
CubeModel.SetXLength(lattice[0])
CubeModel.SetYLength(lattice[1])
CubeModel.SetZLength(lattice[2])
CubeModel.SetCenter(.5*lattice[0], .5*lattice[1], .5*lattice[2])
Edges = vtk.vtkExtractEdges()
Edges.SetInput(CubeModel.GetOutput())
Tubes = vtk.vtkTubeFilter()
Tubes.SetInput(Edges.GetOutput())
Tubes.SetRadius(radius)
Tubes.SetNumberOfSides(6)
Tubes.UseDefaultNormalOn()
Tubes.SetDefaultNormal(.577, .577, .577)
# Create the mapper and actor to display the cube edges.
TubeMapper = vtk.vtkPolyDataMapper()
TubeMapper.SetInput(Tubes.GetOutput())
CubeEdges = vtk.vtkActor()
CubeEdges.SetMapper(TubeMapper)
CubeEdges.GetProperty().SetDiffuseColor(khaki)
CubeEdges.GetProperty().SetSpecular(.4)
CubeEdges.GetProperty().SetSpecularPower(10)
#ren.AddActor(CubeEdges)
return(CubeEdges)