本文整理汇总了Python中vtk.vtkCutter函数的典型用法代码示例。如果您正苦于以下问题:Python vtkCutter函数的具体用法?Python vtkCutter怎么用?Python vtkCutter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了vtkCutter函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, embryo, parent=None):
#super(vtkSimVisualizerCutter, self).__init__(embryo,parent)
vtkSimVisualizer.__init__(self,embryo,parent=parent)
# Check if 3D embryo
if self.embryo.geometry.dim==2:
printWarning("vtkSimVisualizerCutter does only work and make sense for 3D geometries. Will not initialize cutter and fall back tostandad vtkSimVisualizer.")
return
self.vtkWidgetCut,self.renCut,self.irenCut=self.initVTKWidget(self.frame)
# Plane used for cutting
self.plane = vtk.vtkPlane()
# Cutter
self.cutter = vtk.vtkCutter()
# Plane widget
self.initPlaneWidget()
# Add Layout
self.layout.addWidget(self.vtkWidgetCut,1,2)
# Run cut mesh once
self.CutMesh()
self.irenCut.Initialize()
示例2: __init__
def __init__(self):
"""Setup the pipeline.
"""
self.reader = vtkSTLReader()
self.cutter = vtkCutter()
self.cutter.SetInputConnection(self.reader.GetOutputPort())
self.regionPicker = vtkPolyDataConnectivityFilter()
self.regionPicker.SetInputConnection(self.cutter.GetOutputPort())
self.regionPicker.SetExtractionModeToClosestPointRegion()
self.scaler = vtkTransformPolyDataFilter()
self.scaler.SetInputConnection(self.regionPicker.GetOutputPort())
self.GetFileName = self.reader.GetFileName
self.SetFileName = self.reader.SetFileName
self.GetOutputPort = self.scaler.GetOutputPort
self.GetOutput = self.scaler.GetOutput
self.Update = self.scaler.Update
self.iolet = None
self.fileUnitLength = None
return
示例3: create_cut_acto_plane
def create_cut_acto_plane(self,xpos,ypos,zpos,plane_id):
#vtk plane
plane=vtk.vtkPlane()
plane.SetOrigin(xpos,ypos,zpos)
if plane_id==0:
plane.SetNormal(1,0,0)
if plane_id==1:
plane.SetNormal(0,1,0)
if plane_id==2:
plane.SetNormal(0.0,0.0,1)
#create cutter
cutter=vtk.vtkCutter()
cutter.SetCutFunction(plane)
cutter.SetInputConnection(self.dti_reader.GetOutputPort())
cutter.Update()
#probe filter for the cutting plane
probe_filter=vtk.vtkProbeFilter()
probe_filter.SetInputConnection(cutter.GetOutputPort())
probe_filter.SetSourceConnection(self.dti_reader.GetOutputPort())
self.plane1=plane
return probe_filter
示例4: InitVTKMethods
def InitVTKMethods(self):
"""Initializes the VTK methods to be used."""
self.colortable=ColorTableSource()
self._plane=vtkPlane()
self._cutter=vtkCutter()
self._mapper=vtkDataSetMapper()
self.actor=vtkLODActor()
示例5: ImplicitFunctionVtuCut
def ImplicitFunctionVtuCut(inputVtu, implicitFunction):
"""
Perform a cut of a vtu. Cutting as in ClipCow.py vtkCutter example of vtk
documentation 5.0.4, and Fluidity test case lock_exchange_tet.xml results
variable.
"""
# The cutter
cutter = vtk.vtkCutter()
cutter.SetCutFunction(implicitFunction)
if vtk.vtkVersion.GetVTKMajorVersion() <= 5:
cutter.SetInput(inputVtu.ugrid)
else:
cutter.SetInputData(inputVtu.ugrid)
# Cut
cutter.Update()
cutUPoly = cutter.GetOutput()
# Construct output
result = vtu()
result.ugrid = PolyDataToUnstructuredGrid(cutUPoly)
if result.ugrid.GetNumberOfPoints() == 0:
debug.deprint("Warning: Cut vtu contains no nodes")
return result
示例6: get
def get(self):
resultado = {}
imageData = reader.get("IMAGE", self.subj, format="VTK", name=self.get_argument("type", None), space="world")
plane=vtk.vtkPlane()
if (self.get_argument("plane", None) == "x"):
plane.SetNormal(1,0,0)
plane.SetOrigin(float(self.get_argument("pos", None)),0,0)
if (self.get_argument("plane", None) == "y"):
plane.SetNormal(0,1,0)
plane.SetOrigin(0,float(self.get_argument("pos", None)),0)
if (self.get_argument("plane", None) == "z"):
plane.SetNormal(0,0,1)
plane.SetOrigin(0,0,float(self.get_argument("pos", None)))
planeCut = vtk.vtkCutter()
planeCut.SetInputData(imageData)
planeCut.SetCutFunction(plane)
planeCut.Update()
resultado['subject'] = self.subj
resultado['type'] = 'image'
resultado['plane'] = self.get_argument("plane", None)
resultado['pos'] = self.get_argument("pos", None)
resultado['bounds'] = planeCut.GetOutput().GetBounds()
resultado['dimensions'] = imageData.GetDimensions()
resultado['scalars'] = numpy_support.vtk_to_numpy(planeCut.GetOutput().GetPointData().GetScalars()).tolist()
self.set_header("Content-Type","application/json")
self.write(json.dumps(resultado, separators=(',',':')))
示例7: cut
def cut(cube, normal):
plane=vtk.vtkPlane()
plane.SetOrigin(cube.GetCenter())
plane.SetNormal(*normal)
#create cutter
cutter=vtk.vtkCutter()
cutter.SetCutFunction(plane)
cutter.SetInputConnection(cube.GetOutputPort())
cutter.Update()
cutterMapper=vtk.vtkPolyDataMapper()
cutterMapper.SetInputConnection( cutter.GetOutputPort())
#create plane actor
planeActor=vtk.vtkActor()
planeActor.GetProperty().SetColor(1.0,1,0)
planeActor.GetProperty().SetLineWidth(2)
planeActor.SetMapper(cutterMapper)
#create renderers and add actors of plane and cube
ren.AddActor(planeActor)
ret = []
points = cutter.GetOutput().GetPoints()
for i in range(points.GetNumberOfPoints()):
point = points.GetPoint(i)
ret.append( point )
return ret
示例8: addPlaneCutter
def addPlaneCutter(self, i):
#take record of the plane weight
planeWeightTextValue = self.planeWeightText[i].text()
self.planeWtInt[i] = planeWeightTextValue.toFloat()
self.ren.RemoveActor(self.planeActor)
plane=vtk.vtkPlane()
plane.SetOrigin(float(self.firstPlanePtValueRecord[i][0]),float(self.firstPlanePtValueRecord[i][1]), float(self.firstPlanePtValueRecord[i][2]) )
a = np.array([self.secondPlanePtValueRecord[i][0]-self.firstPlanePtValueRecord[i][0], self.secondPlanePtValueRecord[i][1]-self.firstPlanePtValueRecord[i][1], self.secondPlanePtValueRecord[i][2]-self.firstPlanePtValueRecord[i][2]])
b = np.array([self.thirdPlanePtValueRecord[i][0]-self.firstPlanePtValueRecord[i][0], self.thirdPlanePtValueRecord[i][1]-self.firstPlanePtValueRecord[i][1],self.thirdPlanePtValueRecord[i][2]-self.firstPlanePtValueRecord[i][2]])
self.planeOrigin[i] = self.firstPlanePtValueRecord[i]
self.planeNormal[i] = np.cross(a, b)
self.planeNormal[i] = self.planeNormal[i] / np.linalg.norm(self.planeNormal[i])
plane.SetNormal(self.planeNormal[i])
#create cutter
cutter=vtk.vtkCutter()
cutter.SetCutFunction(plane)
cutter.SetInputConnection(self.append.GetOutputPort())
cutter.Update()
cutterMapper=vtk.vtkPolyDataMapper()
cutterMapper.SetInputConnection(cutter.GetOutputPort())
self.planeActor.GetProperty().SetColor(1.0,1,0)
self.planeActor.GetProperty().SetLineWidth(2)
self.planeActor.SetMapper(cutterMapper)
self.ren.AddActor(self.planeActor)
示例9: __init__
def __init__ (self, mod_m):
debug ("In VectorCutPlane::__init__ ()")
Common.state.busy ()
Base.Objects.CutPlaneModule.__init__ (self, mod_m)
self.cut = vtk.vtkCutter ()
self.glyph2d_src = vtk.vtkGlyphSource2D ()
self.cone = vtk.vtkConeSource ()
self.arrow = vtk.vtkArrowSource ()
self.glyph_src = self.cone
self.glyph3d = vtk.vtkGlyph3D ()
self.mapper = self.map = vtk.vtkPolyDataMapper ()
self.actor = self.act = vtk.vtkActor ()
# used to orient the cone properly
self.glph_trfm = vtk.vtkTransformFilter ()
self.glph_trfm.SetTransform (vtk.vtkTransform ())
self.data_out = self.mod_m.GetOutput ()
# Point of glyph that is attached -- -1 is tail, 0 is center,
# 1 is head.
self.glyph_pos = -1
self.scale = 1.0
self.color_mode = 2 #2 is vector, 1 is scalar, -1 none
self._initialize ()
self._gui_init ()
self.renwin.Render ()
Common.state.idle ()
示例10: addContourObject
def addContourObject(self, contourObject, prop3D):
"""Activate contouring for the contourObject. The contourObject
is usually a tdObject and specifically a vtkPolyData. We also
need the prop3D that represents this polydata in the 3d scene.
"""
if self._contourObjectsDict.has_key(contourObject):
# we already have this, thanks
return
try:
contourable = contourObject.IsA('vtkPolyData')
except:
contourable = False
if contourable:
# we need a cutter to calculate the contours and then a stripper
# to string them all together
cutter = vtk.vtkCutter()
plane = vtk.vtkPlane()
cutter.SetCutFunction(plane)
trfm = vtk.vtkTransform()
trfm.SetMatrix(prop3D.GetMatrix())
trfmFilter = vtk.vtkTransformPolyDataFilter()
trfmFilter.SetTransform(trfm)
trfmFilter.SetInput(contourObject)
cutter.SetInput(trfmFilter.GetOutput())
stripper = vtk.vtkStripper()
stripper.SetInput(cutter.GetOutput())
#
#tubef = vtk.vtkTubeFilter()
#tubef.SetNumberOfSides(12)
#tubef.SetRadius(0.5)
#tubef.SetInput(stripper.GetOutput())
# and create the overlay at least for the 3d renderer
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(stripper.GetOutput())
mapper.ScalarVisibilityOff()
actor = vtk.vtkActor()
actor.SetMapper(mapper)
c = self.sliceDirections.slice3dVWR._tdObjects.getObjectColour(
contourObject)
actor.GetProperty().SetColor(c)
actor.GetProperty().SetInterpolationToFlat()
# add it to the renderer
self.sliceDirections.slice3dVWR._threedRenderer.AddActor(actor)
# add all necessary metadata to our dict
contourDict = {'contourObject' : contourObject,
'contourObjectProp' : prop3D,
'trfmFilter' : trfmFilter,
'cutter' : cutter,
'tdActor' : actor}
self._contourObjectsDict[contourObject] = contourDict
# now sync the bugger
self.syncContourToObject(contourObject)
示例11: initialize
def initialize (self):
debug ("In CutPlane::initialize ()")
self.plane = vtk.vtkPlane ()
self.fil = vtk.vtkCutter ()
out = self.prev_fil.GetOutput()
self.fil.SetInput (out)
self.fil.SetCutFunction (self.plane)
self.center = out.GetCenter ()
self.plane.SetOrigin (self.center)
self.plane.SetNormal (0.0, 0.0, 1.0)
self.step_var = Tkinter.DoubleVar ()
self.n_step_var = Tkinter.IntVar ()
self.resoln_var = Tkinter.DoubleVar ()
self.resoln_var.set (1.0)
self.slider = []
self.set_def_step_size ()
self.step_var.set (self.step_size)
self.n_step_var.set (10)
self.slider_pos = 0
self._auto_sweep_init ()
self.sweep_step.set (1)
self.fil.Update ()
示例12: AddDataSet
def AddDataSet(self, dataset, property):
doit = True
if not dataset:
doit = False
if self.HasDataSet(dataset):
doit = False
imagedata = vtk.vtkImageData.SafeDownCast(dataset)
if imagedata:
self.SetImage(imagedata)
else:
if not self.Image:
doit=False
if doit:
matrix = vtk.vtkMatrix4x4()
for i in range(3):
for j in range(3):
matrix.SetElement(i,j,self.ImageReslice.GetResliceAxes().GetElement(j,i))
matrix.SetElement(i, 3, 0)
matrix.SetElement(3, 3, 1)
cutter = vtk.vtkCutter()
cutter.SetCutFunction(self.DataSetCutPlane)
# Very strangely in some cases (ex : landmarks)
# the cutter increments the RefCount of the input dataset by 2
# making some memory leek...
# I could not manage to know what is wrong here
cutter.SetInput(dataset)
cutter.Update()
if not cutter.GetOutput():
print "Unable to cut this dataset..."
del matrix
del cutter
return None
mapper = vtk.vtkPolyDataMapper()
mapper.SetInput(cutter.GetOutput())
actor = vtk.vtkActor()
actor.SetUseMatrix(matrix)
actor.SetMapper(mapper)
if property:
actor.SetProperty(property)
actor.PickableOff()
self.AddActor(actor)
self.DataSetList.append(dataset)
self.DataSetActorList.append(actor)
self.ResetAndRestablishZoomAndCamera()
del actor
del mapper
del matrix
del cutter
return self.GetDataSetActor(dataset)
示例13: cutdataset
def cutdataset(dataset, point, normal):
cutplane = vtk.vtkPlane()
cutplane.SetOrigin(point)
cutplane.SetNormal(normal)
cutter = vtk.vtkCutter()
cutter.SetInputData(dataset)
cutter.SetCutFunction(cutplane)
cutter.Update()
return cutter.GetOutput()
示例14: slicedataset
def slicedataset(dataset, point, normal):
"""Slice through a vtkDataSet object with a plane defined by point and
normal."""
cutplane = vtk.vtkPlane()
cutplane.SetOrigin(point)
cutplane.SetNormal(normal)
cutter = vtk.vtkCutter()
cutter.SetInput(dataset)
cutter.SetCutFunction(cutplane)
cutter.Update()
return cutter.GetOutput()
示例15: _UpdateIntersections
def _UpdateIntersections(self):
if self._Planes is None:
return
if self._Cube is None:
return
self._Cutters = []
for plane in self._Planes:
cutter = vtk.vtkCutter()
cutter.SetCutFunction(plane.GetPlaneEquation())
cutter.SetInput(self._Cube.GetOutput())
self._Cutters.append(cutter)