本文整理汇总了Python中vtk.vtkCubeSource函数的典型用法代码示例。如果您正苦于以下问题:Python vtkCubeSource函数的具体用法?Python vtkCubeSource怎么用?Python vtkCubeSource使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了vtkCubeSource函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: BuildBackdrop
def BuildBackdrop (minX, maxX, minY, maxY, minZ, maxZ, thickness):
global basePlane
global baseMapper
global base
global backPlane
global backMapper
global back
global left
global leftPlane
global leftMapper
if not basePlane:
basePlane = vtk.vtkCubeSource()
basePlane.SetCenter( (maxX + minX)/2.0, minY, (maxZ + minZ)/2.0)
basePlane.SetXLength(maxX-minX)
basePlane.SetYLength(thickness)
basePlane.SetZLength(maxZ - minZ)
if not baseMapper:
baseMapper = vtk.vtkPolyDataMapper()
baseMapper.SetInput(basePlane.GetOutput())
if not base:
base = vtk.vtkActor()
base.SetMapper(baseMapper)
if not backPlane:
backPlane = vtk.vtkCubeSource()
backPlane.SetCenter( (maxX + minX)/2.0, (maxY + minY)/2.0, minZ)
backPlane.SetXLength(maxX-minX)
backPlane.SetYLength(maxY - minY)
backPlane.SetZLength(thickness)
if not backMapper:
backMapper = vtk.vtkPolyDataMapper()
backMapper.SetInput(backPlane.GetOutput())
if not back:
back = vtk.vtkActor()
back.SetMapper(backMapper)
if not leftPlane:
leftPlane = vtk.vtkCubeSource()
leftPlane.SetCenter( minX, (maxY+minY)/2.0, (maxZ+minZ)/2.0)
leftPlane.SetXLength(thickness)
leftPlane.SetYLength(maxY-minY)
leftPlane.SetZLength(maxZ-minZ)
if not leftMapper:
leftMapper = vtk.vtkPolyDataMapper()
leftMapper.SetInput(leftPlane.GetOutput())
if not left:
left = vtk.vtkActor()
left.SetMapper(leftMapper)
return [base, back, left]
开发者ID:unidevop,项目名称:sjtu-project-pipe,代码行数:57,代码来源:backdrop.py
示例2: addCube
def addCube(self,pos,tam,img=False):
jpegfile = "struct.jpg"
# Read the image data from a file
reader = vtk.vtkJPEGReader()
reader.SetFileName(jpegfile)
(x,y,z) = pos
(i,j,k) = tam
cubito = vtk.vtkCubeSource()
cubito.SetXLength(0.2*i)
cubito.SetYLength(0.2*j)
cubito.SetZLength(0.2*k)
cubito.SetCenter((x,y,z))
if img == True:
# Create texture object
texture = vtk.vtkTexture()
if vtk.VTK_MAJOR_VERSION <= 5:
texture.SetInput(reader.GetOutput())
else:
texture.SetInputConnection(reader.GetOutputPort())
# Map texture coordinates
map_to_sphere = vtk.vtkTextureMapToPlane()
if vtk.VTK_MAJOR_VERSION <= 5:
map_to_sphere.SetInput(cubito.GetOutput())
else:
map_to_sphere.SetInputConnection(cubito.GetOutputPort())
#map_to_sphere.PreventSeamOn()
# Create mapper and set the mapped texture as input
mapper = vtk.vtkPolyDataMapper()
if vtk.VTK_MAJOR_VERSION <= 5:
mapper.SetInput(map_to_sphere.GetOutput())
else:
mapper.SetInputConnection(map_to_sphere.GetOutputPort())
planeMapper = vtk.vtkPolyDataMapper()
planeMapper.SetInputConnection(cubito.GetOutputPort())
planeActor = (vtk.vtkActor())
if (img == True):
planeActor.SetMapper(mapper)
else:
planeActor.SetMapper(planeMapper)# mapper planeMapper
planeActor.DragableOn()
planeActor.SetDragable(1)
if (img== True):
planeActor.SetTexture(texture)
else:
planeActor.GetProperty().SetColor(.0,.3,.6)
planeActor.GetProperty().SetOpacity(0.95)
#planeActor.GetProperty().SetAmbient(0)
#planeActor.GetProperty().SetDiffuse(0.9)
#planeActor.GetProperty().SetSpecular(0.1)
self.render.AddActor(planeActor)
return planeActor
开发者ID:Jovior85,项目名称:NavEsp,代码行数:60,代码来源:Renderer.py
示例3: __init__
def __init__(self):
# Creates a cube image of height 0, thus creating a plane.
cube = vtk.vtkCubeSource()
cube.SetXLength(120)
cube.SetYLength(120)
cube.SetZLength(0)
#cubeTransform = vtk.vtkTransform()
#cubeTransform.Translate(0, 0, 0)
cubeMapper = vtk.vtkPolyDataMapper()
cubeMapper.SetInputConnection(cube.GetOutputPort())
cubeTransformFilter = vtk.vtkTransformPolyDataFilter()
cubeTransformFilter.SetInputConnection(cube.GetOutputPort())
#cubeTransformFilter.SetTransform(cubeTransform)
appendFilter = vtk.vtkAppendPolyData()
#appendFilter.AddInputConnection(line.GetOutputPort())
appendFilter.AddInputConnection(cubeTransformFilter.GetOutputPort())
# gets the location of the tablet
self.x = GlobalVariables.imageXDist/2.0 # @UndefinedVariable
self.y = GlobalVariables.imageYDist/2.0 # @UndefinedVariable
self.z = GlobalVariables.imageZDist/2.0 # @UndefinedVariable
# moves the cube actor which is what moves the cursor
self.cubeActor = vtk.vtkActor()
self.cubeActor.SetMapper(cubeMapper)
self.cubeActor.GetProperty().SetColor(0.2, 0.6, 0.8)
self.cubeActor.SetPosition(self.x,self.y,self.z)#(self.sampleSpacing[0]/2,self.sampleSpacing[1]/2,self.sampleSpacing[2]/2)#(-30, -30, -150) #(70,90,50)
开发者ID:rcockbur,项目名称:3DMedicalVisualizationTool,代码行数:32,代码来源:PlaneGenerator.py
示例4: __init__
def __init__(self):
pypes.pypeScript.__init__(self)
self.CubeSource = vtk.vtkCubeSource()
self.CubeActor = vtk.vtkActor()
self.BoxActive = 0
self.BoxBounds = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
self.CroppedImage = vtk.vtkImageData()
self.vmtkRenderer = None
self.OwnRenderer = 0
self.PlaneWidgetX = None
self.PlaneWidgetY = None
self.PlaneWidgetZ = None
self.BoxWidget = None
self.Image = None
self.Interactive = 1
self.SetScriptName('vmtkimagevoiselector')
self.SetScriptDoc('select a cubical volume of interest and get rid of the rest of the image')
self.SetInputMembers([
['Image','i','vtkImageData',1,'','the input image','vmtkimagereader'],
['Interactive','interactive','bool',1,'','toggle interactivity'],
['BoxBounds','boxbounds','float',6,'','bounds of the cubical region of interest'],
['vmtkRenderer','renderer','vmtkRenderer',1,'','external renderer']
])
self.SetOutputMembers([
['Image','o','vtkImageData',1,'','the output image','vmtkimagewriter']
])
开发者ID:ValentinaRossi,项目名称:vmtk,代码行数:35,代码来源:vmtkimagevoiselector.py
示例5: __init__
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self, parent)
self.frame = QtGui.QFrame()
self.vl = QtGui.QVBoxLayout()
self.vtkWidget = QVTKRenderWindowInteractor(self.frame)
self.vl.addWidget(self.vtkWidget)
self.ren = vtk.vtkRenderer()
self.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
self.interactor = self.vtkWidget.GetRenderWindow().GetInteractor()
# Generate polygon data for a cube
self.cube = vtk.vtkCubeSource()
# Create a mapper and an actor for the cube data
self.cube_mapper = vtk.vtkPolyDataMapper()
self.cube_mapper.SetInput(self.cube.GetOutput())
self.cube_actor = vtk.vtkActor()
self.cube_actor.SetMapper(self.cube_mapper)
self.cube_actor.GetProperty().SetColor(0.0, 1.0, 0.0) # make the cube red
# Create a renderer and add the cube actor to it
self.ren.SetBackground(0.0, 0.0, 0.0) # make the background black
self.ren.AddActor(self.cube_actor)
self.frame.setLayout(self.vl)
self.setCentralWidget(self.frame)
self.show()
self.interactor.Initialize()
开发者ID:JudithNeukamm,项目名称:EarthquakeVisualizer,代码行数:31,代码来源:MyQtCube.py
示例6: __init__
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ren = vtk.vtkRenderer()
self.ui.vtkWidget.GetRenderWindow().AddRenderer(self.ren)
self.iren = self.ui.vtkWidget.GetRenderWindow().GetInteractor()
cube = vtk.vtkCubeSource()
cube.SetXLength(200)
cube.SetYLength(200)
cube.SetZLength(200)
cube.Update()
cm = vtk.vtkPolyDataMapper()
cm.SetInputConnection(cube.GetOutputPort())
ca = vtk.vtkActor()
ca.SetMapper(cm)
self.ren.AddActor(ca)
self.axesActor = vtk.vtkAnnotatedCubeActor();
self.axesActor.SetXPlusFaceText('R')
self.axesActor.SetXMinusFaceText('L')
self.axesActor.SetYMinusFaceText('H')
self.axesActor.SetYPlusFaceText('F')
self.axesActor.SetZMinusFaceText('P')
self.axesActor.SetZPlusFaceText('A')
self.axesActor.GetTextEdgesProperty().SetColor(1,1,0)
self.axesActor.GetTextEdgesProperty().SetLineWidth(2)
self.axesActor.GetCubeProperty().SetColor(0,0,1)
self.axes = vtk.vtkOrientationMarkerWidget()
self.axes.SetOrientationMarker(self.axesActor)
self.axes.SetInteractor(self.iren)
self.axes.EnabledOn()
self.axes.InteractiveOn()
self.ren.ResetCamera()
开发者ID:kvkenyon,项目名称:projects,代码行数:33,代码来源:OrientationMarkerWidget.py
示例7: drawVtkSymb
def drawVtkSymb(symbType,renderer, RGBcolor, vPos, vDir, scale):
'''Adds to the renderer a symbol of type 'arrow', 'doubleArrow',
'cone', 'doubleCone', 'sphere', 'doubleSphere','cube' , 'doubleCube',
'cylinder', 'doubleCylinder'
:param symbType: type of symbol (available types: 'arrow', 'doubleArrow',
'cone', 'doubleCone', 'sphere', 'doubleSphere','cube' ,
'doubleCube', 'cylinder', 'doubleCylinder')
:param renderer: vtk renderer
:param RGBcolor: list [R,G,B] with the 3 components of color
:param vPos: list [x,y,z] with the 3 coordinates of the point where
to place the symbol.
:param vDir: director vector to orient the symbol
:param scale: scale to be applied to the symbol representation
'''
symTpLow=symbType.lower()
if 'arrow' in symTpLow:
symbSource=vtk.vtkArrowSource()
elif 'cone' in symTpLow:
symbSource=vtk.vtkConeSource()
elif 'sphere' in symTpLow:
symbSource=vtk.vtkSphereSource()
elif 'cube' in symTpLow:
symbSource=vtk.vtkCubeSource()
elif 'cylinder' in symTpLow:
symbSource=vtk.vtkCylinderSource()
vPosVx=[vPos[i]-scale/2.0*vDir[i] for i in range(3)] #vertex position
addSymb(symbSource,renderer, RGBcolor, vPosVx, vDir, scale)
if 'double' in symTpLow:
vPosVx=[vPosVx[i]-scale*vDir[i] for i in range(3)] #vertex position
addSymb(symbSource,renderer, RGBcolor, vPosVx, vDir, scale)
开发者ID:lcpt,项目名称:xc_utils,代码行数:31,代码来源:utilsVtk.py
示例8: getCell2vtp
def getCell2vtp(vtkObj,ind):
"""
Function gets a cell by ind and constructs a polydata from it.
"""
# Get the cell
cE = vtkObj.GetCell(ind)
# Make the polygon
if cE.GetCellType() == 11:
# Use a cubeSource, much faster
cube = vtk.vtkCubeSource()
cube.SetBounds(cE.GetBounds())
cube.Update()
vtpObj = cube.GetOutput()
else:
polygons = vtk.vtkCellArray()
for iF in range(cE.GetNumberOfFaces()):
f = cE.GetFace(iF)
poly = vtk.vtkPolygon()
poly.GetPointIds().SetNumberOfIds(f.GetNumberOfPoints())
for nr in range(f.GetNumberOfPoints()):
poly.GetPointIds().SetId(nr,f.GetPointId(nr))
polygons.InsertNextCell(poly)
# Build the polydata
vtpObj = vtk.vtkPolyData()
vtpObj.SetPoints(obj.GetPoints())
vtpObj.SetPolys(polygons)
return polydata.normFilter(polydata.triangulatePolyData(vtpObj))
开发者ID:grosenkj,项目名称:telluricpy,代码行数:30,代码来源:dataset.py
示例9: __init__
def __init__(self, renderer):
Visualizer.__init__(self)
assert isinstance(renderer, vtk.vtkRenderer)
self.ren = renderer
# -------- add the beam ----
# geometry
self.beam = vtk.vtkCubeSource()
self.beam.SetXLength(st.visBeamLength)
self.beam.SetYLength(st.visBeamWidth)
self.beam.SetZLength(st.visBeamDepth)
# mapper
self.beamMapper = vtk.vtkPolyDataMapper()
self.beamMapper.SetInputConnection(self.beam.GetOutputPort())
# actor
self.beamActor = vtk.vtkLODActor()
self.beamActor.SetMapper(self.beamMapper)
# make it look nice
self.beamProp = self.beamActor.GetProperty()
self.beamProp.SetColor(101 / 255, 123 / 255, 131 / 255)
self.ren.AddActor(self.beamActor)
# -------- add the ball ----
# geometry
self.ball = vtk.vtkSphereSource()
self.ball.SetRadius(st.visR)
self.ball.SetThetaResolution(20)
self.ball.SetPhiResolution(20)
# mapper
self.ballMapper = vtk.vtkPolyDataMapper()
self.ballMapper.SetInputConnection(self.ball.GetOutputPort())
# actor
self.ballActor = vtk.vtkLODActor()
self.ballActor.SetMapper(self.ballMapper)
# make it look nice
self.ballProp = self.ballActor.GetProperty()
self.ballProp.SetColor(255 / 255, 255 / 255, 0)
self.ballProp.SetAmbient(0.2)
self.ballProp.SetDiffuse(0.8)
self.ballProp.SetSpecular(0.5)
self.ballProp.SetSpecularPower(0.5)
self.ren.AddActor(self.ballActor)
# add background
self.ren.GradientBackgroundOn()
self.ren.SetBackground(228 / 255, 232 / 255, 213 / 255)
self.ren.SetBackground2(38 / 255, 139 / 255, 210 / 255)
# get everybody into the frame
self.ren.ResetCamera()
self.ren.GetActiveCamera().Zoom(1.7)
开发者ID:cklb,项目名称:pymoskito,代码行数:60,代码来源:visualization.py
示例10: update_viewer
def update_viewer(self, event, *args):
MarkerWindowInteractor.update_viewer(self, event, *args)
if event=='color marker':
marker, color = args
marker.set_color(color)
elif event=='label marker':
marker, label = args
marker.set_label(label)
if shared.debug: print "Create VTK-Text", marker.get_label()
text = vtk.vtkVectorText()
text.SetText(marker.get_label())
textMapper = vtk.vtkPolyDataMapper()
textMapper.SetInput(text.GetOutput())
textActor = self.textActors[marker]
textActor.SetMapper(textMapper)
elif event=='move marker':
marker, center = args
marker.set_center(center)
#update the select boxes and text actor
textActor = self.textActors[marker]
size = marker.get_size()
textActor.SetScale(size, size, size)
x,y,z = marker.get_center()
textActor.SetPosition(x+size, y+size, z+size)
if self.boxes.has_key(marker):
selectActor = self.boxes[marker]
boxSource = vtk.vtkCubeSource()
boxSource.SetBounds(marker.GetBounds())
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(boxSource.GetOutput())
selectActor.SetMapper(mapper)
elif event=='labels on':
actors = self.textActors.values()
for actor in actors:
actor.VisibilityOn()
elif event=='labels off':
actors = self.textActors.values()
for actor in actors:
actor.VisibilityOff()
#elif event=='select marker':
# marker = args[0]
# actor = create_box_actor_around_marker(marker)
# if shared.debug: print "PlaneWidgetsXYZ.update_viewer(): self.renderer.AddActor(actor)"
# self.renderer.AddActor(actor)
# self.boxes[marker] = actor
#elif event=='unselect marker':
# marker = args[0]
# actor = self.boxes[marker]
# print "pwxyz: u m", repr(marker), repr(actor)
# self.renderer.RemoveActor(actor)
# del self.boxes[marker]
elif event=="set axes directions":
self.add_axes_labels()
EventHandler().notify('observers update plane')
self.Render()
开发者ID:neurodebian,项目名称:PyLocator,代码行数:60,代码来源:plane_widgets_xyz.py
示例11: __init__
def __init__(self):
pypes.pypeScript.__init__(self)
self.CubeSource = vtk.vtkCubeSource()
self.CubeActor = vtk.vtkActor()
self.BoxActive = 0
self.BoxBounds = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
self.PaintValue = 0.0
self.vmtkRenderer = None
self.OwnRenderer = 0
self.PlaneWidgetX = None
self.PlaneWidgetY = None
self.PlaneWidgetZ = None
self.BoxWidget = None
self.Image = None
self.Interactive = 1
self.SetScriptName('vmtkimagevoipainter')
self.SetScriptDoc('fill a cubical region of an image with a given gray level')
self.SetInputMembers([
['Image','i','vtkImageData',1,'','the input image','vmtkimagereader'],
['Interactive','interactive','bool',1,'','toggle interactivity'],
['BoxBounds','boxbounds','float',6,'','bounds of the cubical region for non-interactive mode'],
['PaintValue','paintvalue','float',1,'','graylevel to fill the region with'],
['vmtkRenderer','renderer','vmtkRenderer',1,'','external renderer']
])
self.SetOutputMembers([
['Image','o','vtkImageData',1,'','the output image','vmtkimagewriter']
])
开发者ID:vmtk,项目名称:vmtk,代码行数:35,代码来源:vmtkimagevoipainter.py
示例12: __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)
开发者ID:brunoduran,项目名称:Atoman,代码行数:30,代码来源:highlight.py
示例13: add_tube
def add_tube(prev, x, y):
cylA = create_cylinder(r=3.155, h=8.6)
cube = vtk.vtkCubeSource()
cube.SetXLength(.75)
cube.SetYLength(6.6)
cube.SetZLength(13.6)
cube.SetCenter(0, 1, 0)
bA = vtkbool.vtkPolyDataBooleanFilter()
bA.SetInputConnection(cylA.GetOutputPort())
bA.SetInputConnection(1, cube.GetOutputPort())
bA.SetOperModeToUnion()
cylB = create_cylinder(r=2.405, h=8.6)
bB = vtkbool.vtkPolyDataBooleanFilter()
bB.SetInputConnection(bA.GetOutputPort())
bB.SetInputConnection(1, cylB.GetOutputPort())
bB.SetOperModeToDifference()
tr = vtk.vtkTransform()
tr.Translate(x, y, 4.3)
tr.RotateX(90)
tf = vtk.vtkTransformPolyDataFilter()
tf.SetTransform(tr)
tf.SetInputConnection(bB.GetOutputPort())
bC = vtkbool.vtkPolyDataBooleanFilter()
bC.SetInputConnection(prev.GetOutputPort())
bC.SetInputConnection(1, tf.GetOutputPort())
bC.SetOperModeToUnion()
return bC
开发者ID:aashish24,项目名称:vtkbool,代码行数:35,代码来源:brick.py
示例14: __init__
def __init__(self, module_manager):
SimpleVTKClassModuleBase.__init__(
self, module_manager,
vtk.vtkCubeSource(), 'Processing.',
(), ('vtkPolyData',),
replaceDoc=True,
inputFunctions=None, outputFunctions=None)
开发者ID:fvpolpeta,项目名称:devide,代码行数:7,代码来源:vtkCubeSource.py
示例15: MkCube
def MkCube( cx, cy, cz, l ):
CubeModel = vtk.vtkCubeSource()
CubeModel.SetCenter(cx, cy ,cz)
CubeModel.SetXLength(l)
CubeModel.SetYLength(l)
CubeModel.SetZLength(l)
return CubeModel
开发者ID:bnikolic,项目名称:oof,代码行数:7,代码来源:threedimturbulence.py
示例16: 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
开发者ID:chrisdjscott,项目名称:Atoman,代码行数:60,代码来源:antisiteRenderer.py
示例17: __init__
def __init__(self, length, position=(0, 0, 0), **kwargs):
cube = vtk.vtkCubeSource()
cube.SetXLength(length)
cube.SetYLength(length)
cube.SetZLength(length)
cube.SetCenter(position)
cube.Update()
super(Cube, self).__init__(cube, position, **kwargs)
开发者ID:asrob-uc3m,项目名称:augmented-fpv,代码行数:9,代码来源:cube.py
示例18: __init__
def __init__(self):
Model.__init__(self)
self.source = vtk.vtkCubeSource()
self.source.SetCenter(0.0, 0.0, 0.0)
self.source.SetXLength(1.0)
self.source.SetYLength(1.0)
self.source.SetZLength(1.0)
self.source.Update()
self.Update()
开发者ID:aglowacki,项目名称:ScanSimulator,代码行数:9,代码来源:PrimitiveModels.py
示例19: render
def render(self, pointsData, scalarsArray, radiusArray, nspecies, colouringOptions, atomScaleFactor, lut, settings):
"""
Render the given antisites (wire frame).
"""
self._logger.debug("Rendering vacancies: 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
glyphSource = vtk.vtkCubeSource()
# glyph
glyph = vtk.vtkGlyph3D()
if vtk.vtkVersion.GetVTKMajorVersion() <= 5:
glyph.SetSource(glyphSource.GetOutput())
glyph.SetInput(polydata)
else:
glyph.SetSourceConnection(glyphSource.GetOutputPort())
glyph.SetInputData(polydata)
scaleVacs = 2.0 * settings.getSetting("vacScaleSize")
glyph.SetScaleFactor(atomScaleFactor * scaleVacs)
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)
actor.GetProperty().SetSpecular(settings.getSetting("vacSpecular"))
actor.GetProperty().SetSpecularPower(settings.getSetting("vacSpecularPower"))
actor.GetProperty().SetOpacity(settings.getSetting("vacOpacity"))
# 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
self._data["Vacancy opacity"] = settings.getSetting("vacOpacity")
开发者ID:Kenny-Jolley,项目名称:Atoman,代码行数:56,代码来源:vacancyRenderer.py
示例20: load_octomap
def load_octomap(octomap_h5_file, conf=0.9, wireframe=False):
h5f = h5py.File(octomap_h5_file, 'r')
octree_data = h5f['octree'][...]
octree_data = octree_data[octree_data[:, 4] > conf]
pts = vtk.vtkPoints()
#vtk_pt_data = converter.numpy_to_vtk(np.ascontiguousarray(octree_data[:, 0:3]))
#pts.SetData(vtk_pt_data)
use_colors = octree_data.shape[1] > 5
colors = vtk.vtkUnsignedCharArray()
colors.SetNumberOfComponents(3)
#color_data = np.ascontiguousarray(octree_data[:, 5:8])
#colors = converter.numpy_to_vtk(color_data)
#colors.SetName('ColorArray')
#polydata.GetPointData().SetActiveScalars('ColorArray')
for k in range(octree_data.shape[0]):
pts.InsertNextPoint(*octree_data[k, 0:3])
if use_colors:
r = int(octree_data[k, 5])
g = int(octree_data[k, 6])
b = int(octree_data[k, 7])
colors.InsertNextTupleValue((r, g, b))
polydata = vtk.vtkPolyData()
polydata.SetPoints(pts)
if use_colors:
polydata.GetPointData().SetScalars(colors)
cube = vtk.vtkCubeSource()
cube.SetXLength(octree_data[0, 3])
cube.SetYLength(octree_data[0, 3])
cube.SetZLength(octree_data[0, 3])
glyph = vtk.vtkGlyph3D()
if use_colors:
glyph.SetColorModeToColorByScalar()
glyph.SetSourceConnection(cube.GetOutputPort())
glyph.SetInput(polydata)
glyph.ScalingOff()
glyph.Update()
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(glyph.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
if wireframe:
actor.GetProperty().SetRepresentationToWireframe()
actor.GetProperty().SetLineWidth(1)
actor.GetProperty().SetOpacity(0.2)
actor.GetProperty().LightingOff()
return actor
开发者ID:brodyh,项目名称:sail-car-log,代码行数:55,代码来源:blockworld.py
注:本文中的vtk.vtkCubeSource函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论