本文整理汇总了Python中vtk.vtkInteractorStyleTrackballCamera函数的典型用法代码示例。如果您正苦于以下问题:Python vtkInteractorStyleTrackballCamera函数的具体用法?Python vtkInteractorStyleTrackballCamera怎么用?Python vtkInteractorStyleTrackballCamera使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了vtkInteractorStyleTrackballCamera函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: visualize
def visualize(meshFname = None, dumpFname = None, nFrames = 100):
# Create a rendering window and renderer
transform = vtk.vtkTransform()
transform.Scale(10.0, 10.0, 10.0)
axes = vtk.vtkAxesActor()
axes.SetUserTransform(transform)
transform.Translate(2.0, -1.0, 0.0)
axes.SetUserTransform(transform)
renderer = vtk.vtkRenderer()
renderer.AddActor(axes)
camera = vtk.vtkCamera()
camera.SetFocalPoint(0, 0, 0);
renderer.SetActiveCamera(camera);
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(renderer)
# Create a RenderWindowInteractor to permit manipulating the camera
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
style = vtk.vtkInteractorStyleTrackballCamera()
iren.SetInteractorStyle(style)
scale = 0.1
if dumpFname is not None:
with open(dumFname) as fp:
lines = (line for line in fp if not line.strip()[:3].isalpha())
sphereData = np.array(lines)
Natoms = len(sphereData) - nFrames
for i in range(nFrames):
for data in sphereData[Natoms * nFrames: Natoms * (nFrames+1)]:
plotSpheres(ren, data[1] * scale, data[2] * scale, data[3] * scale, 0.001)
if meshFname is not None:
polydata = loadStl(meshFname)
renderer.AddActor(polyDataToActor(polydata))
renderer.SetBackground(0.1, 0.1, 0.1)
style = vtk.vtkInteractorStyleTrackballCamera()
iren.SetInteractorStyle(style)
renderer.ResetCamera()
iren.Initialize()
renWin.Render()
iren.Start()
示例2: initVTKWidget
def initVTKWidget(self,frame):
"""Sets up vtkWidget inside frame.
Also sets up corresponding renderer and interactor.
Args:
frame (QtGui.QFrame): Parenting frame.
Returns:
tuple: Tuple containing:
* vtkWidget (vtk.qt4.QVTKRenderWindowInteractor.QVTKRenderWindowInteractor): Qt vtk window interactor.
* ren (vtk.vtkRenderer)
* iren (vtk.vtkRenderWindowInteractor)
"""
vtkWidget = QVTKRenderWindowInteractor(frame)
ren = vtk.vtkRenderer()
vtkWidget.GetRenderWindow().AddRenderer(ren)
iren = vtkWidget.GetRenderWindow().GetInteractor()
iren.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera())
ren.ResetCamera()
return vtkWidget, ren, iren
示例3: show
def show(ren,title='Fos',size=(300,300)):
''' Show window
Parameters
----------
ren : vtkRenderer() object
as returned from function ren()
title : string
a string for the window title bar
size : (int, int)
(width,height) of the window
Examples
--------
>>> from dipy.viz import fos
>>> r=fos.ren()
>>> lines=[np.random.rand(10,3),np.random.rand(20,3)]
>>> colors=[0.2,0.8]
>>> c=fos.line(lines,colors)
>>> fos.add(r,c)
>>> l=fos.label(r)
>>> fos.add(r,l)
>>> fos.show(r)
'''
ren.ResetCamera()
window = vtk.vtkRenderWindow()
window.AddRenderer(ren)
window.SetWindowName(title)
window.SetSize(size)
style=vtk.vtkInteractorStyleTrackballCamera()
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(window)
iren.SetInteractorStyle(style)
iren.Start()
示例4: __init__
def __init__(self, parent=None, fix_camera=True,
background=None, size=None):
'''
fix_camera : more sensible default
'''
if parent is not None:
self.renWin = parent.GetRenderWindow()
self.iren = self.renWin.GetInteractor()
else:
self.renWin = vtk.vtkRenderWindow()
if size is None:
self.renWin.SetSize(800, 600)
self.iren = vtk.vtkRenderWindowInteractor()
self.iren.SetRenderWindow(self.renWin)
self.ren = vtk.vtkRenderer()
if background == 'white':
self.ren.SetBackground(1, 1, 1)
self.renWin.AddRenderer(self.ren)
if fix_camera:
camera = vtk.vtkInteractorStyleTrackballCamera()
camera.SetCurrentRenderer(self.ren)
self.iren.SetInteractorStyle(camera)
self.picker = vtk.vtkCellPicker()
self.iren.SetPicker(self.picker)
self.picker.AddObserver("EndPickEvent", self.handle_pick)
示例5: setupInteractor
def setupInteractor(self,changeStyle=True):
#Setup interactor
self.iren = vtk.vtkTkRenderWindowInteractor()
self.iren.SetRenderWindow(self.renWin)
if changeStyle:
style = vtk.vtkInteractorStyleTrackballCamera()
self.iren.SetInteractorStyle(style)
示例6: __init__
def __init__(self):
self.outputs=[]
self.paint=rgbPainter()
self.scalingFactor=1.0
self.showAxes=True
self.showScalarBar=True
self.showCaption=True
self.showXYPlane=True
self.showYZPlane=True
self.showZXPlane=True
self.nbSize=80
self.sampleSpacing=8.0
self.camera = vtk.vtkCamera()
self.ren = vtk.vtkRenderer();
self.renWin = vtk.vtkRenderWindow();
self.renWin.AddRenderer(self.ren);
self.renWin.SetWindowName("DESICOS-viewer v0.1 ")
self.iren = vtk.vtkRenderWindowInteractor();
self.iren.SetRenderWindow(self.renWin);
style1 = vtk.vtkInteractorStyleTrackballCamera()
self.iren.SetInteractorStyle(style1)
self.ren.SetBackground(1, 1, 1);
self.renWin.SetSize(800, 600);
示例7: SetInteractorStyle
def SetInteractorStyle(self, state):
action = {
const.STATE_PAN: {
"MouseMoveEvent": self.OnPanMove,
"LeftButtonPressEvent": self.OnPanClick,
"LeftButtonReleaseEvent": self.OnReleasePanClick,
},
const.STATE_ZOOM: {
"MouseMoveEvent": self.OnZoomMove,
"LeftButtonPressEvent": self.OnZoomClick,
"LeftButtonReleaseEvent": self.OnReleaseZoomClick,
},
const.STATE_SPIN: {
"MouseMoveEvent": self.OnSpinMove,
"LeftButtonPressEvent": self.OnSpinClick,
"LeftButtonReleaseEvent": self.OnReleaseSpinClick,
},
const.STATE_WL: {
"MouseMoveEvent": self.OnWindowLevelMove,
"LeftButtonPressEvent": self.OnWindowLevelClick,
"LeftButtonReleaseEvent": self.OnWindowLevelRelease,
},
const.STATE_DEFAULT: {},
const.VOLUME_STATE_SEED: {"LeftButtonPressEvent": self.OnInsertSeed},
const.STATE_MEASURE_DISTANCE: {"LeftButtonPressEvent": self.OnInsertLinearMeasurePoint},
const.STATE_MEASURE_ANGLE: {"LeftButtonPressEvent": self.OnInsertAngularMeasurePoint},
}
if self._last_state in (const.STATE_MEASURE_DISTANCE, const.STATE_MEASURE_ANGLE):
if self.measures and not self.measures[-1].text_actor:
del self.measures[-1]
if state == const.STATE_WL:
self.on_wl = True
if self.raycasting_volume:
self.text.Show()
self.interactor.Render()
else:
self.on_wl = False
self.text.Hide()
self.interactor.Render()
if state in (const.STATE_MEASURE_DISTANCE, const.STATE_MEASURE_ANGLE):
self.interactor.SetPicker(self.measure_picker)
if state == const.STATE_ZOOM_SL:
style = vtk.vtkInteractorStyleRubberBandZoom()
self.interactor.SetInteractorStyle(style)
self.style = style
else:
style = vtk.vtkInteractorStyleTrackballCamera()
self.interactor.SetInteractorStyle(style)
self.style = style
# Check each event available for each mode
for event in action[state]:
# Bind event
style.AddObserver(event, action[state][event])
self._last_state = state
示例8: createRenderWindow
def createRenderWindow( self, **args ):
blocking = args.get( 'blocking', False )
renWin = args.get( 'renwin', None )
if renWin == None:
renWin = vtk.vtkRenderWindow()
rendWinInteractor = renWin.GetInteractor()
if rendWinInteractor == None:
rendWinInteractor = vtk.vtkRenderWindowInteractor() if blocking else vtk.vtkGenericRenderWindowInteractor()
renWin.SetInteractor( rendWinInteractor )
rendWinInteractor.SetRenderWindow(renWin)
self.renderWindowInteractor = rendWinInteractor
self.renderer = vtk.vtkRenderer()
renWin.AddRenderer( self.renderer )
self.interactorStyle = vtk.vtkInteractorStyleTrackballCamera( )
self.renderWindowInteractor.SetInteractorStyle( self.interactorStyle )
self.interactorStyle.KeyPressActivationOff( )
self.interactorStyle.SetEnabled(1)
if self.useDepthPeeling:
self.renderer.UseDepthPeelingOn( )
self.renderer.SetOcclusionRatio( 0.2 )
renWin.SetAlphaBitPlanes( 1 )
renWin.SetMultiSamples( 0 )
self.renderer.SetBackground(1.0, 1.0, 1.0)
self.renderer.SetNearClippingPlaneTolerance( 0.0001 )
self.renderWindow = renWin
示例9: init
def init(self):
"""
"""
# Symbol behaviour initialisation
self.draw_forward = ['F', 'B', 'G', 'R']
self.move_forward = ['M']
self.rotation = ['+', '-', '&', '^', '<', '>', '|']
self.push_pop = ['[', ']']
self.do_nothing = ['X']
# Init heap / stack to remember position
self.saved_pos = []
self.saved_vector = []
# VTK init
self.renWin = vtk.vtkRenderWindow()
self.renWin.SetSize(800, 600)
self.renWin.SetWindowName("L-System : " + self.lsystem.name + " ( " + self.viewer_type + " )")
self.iren = vtk.vtkRenderWindowInteractor()
self.iren.SetRenderWindow(self.renWin)
self.style = vtk.vtkInteractorStyleTrackballCamera()
self.iren.SetInteractorStyle(self.style)
# Branch initial parameters
self.radius = self.lsystem.radius
self.length = self.lsystem.width
self.angle = self.lsystem.angle
示例10: main
def main(pairs):
import __main__ as _main_module
renderer = vtk.vtkRenderer()
for op, file in pairs:
handler_name = g_op_map[op]
handler = _main_module.__dict__[handler_name]
fname = file
if not os.access(fname, os.R_OK):
print "Missing file %s" % (fname)
sys.exit(1)
else:
handler(fname, renderer)
show_axes(renderer)
# Create the usual rendering stuff.
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(renderer)
renWin.SetSize(1000, 750)
iren = vtk.vtkRenderWindowInteractor()
style = vtk.vtkInteractorStyleTrackballCamera()
iren.SetInteractorStyle(style)
iren.SetRenderWindow(renWin)
# color
renderer.SetBackground(.1, .2, .4)
# Render the scene and start interaction.
iren.Initialize()
renWin.Render()
iren.Start()
示例11: __test_adjust_sphere
def __test_adjust_sphere():
import vtk
n_points = 4
points = []
for i in xrange(n_points):
p = np.random.random(3) * 100
points.append(p)
r, ctr = adjust_sphere(points)
r2 = r / 10
ren_win = vtk.vtkRenderWindow()
iren = vtk.vtkRenderWindowInteractor()
iren.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera())
iren.SetRenderWindow(ren_win)
ren = vtk.vtkRenderer()
ren_win.AddRenderer(ren)
# draw points
for p in points:
__add_sphere_to_ren(p, r2, ren)
#draw big sphere
ac = __add_sphere_to_ren(ctr, r, ren)
ac.GetProperty().SetColor((1, 0, 0))
iren.Initialize()
iren.Start()
示例12: updateContents
def updateContents(self, inputPorts):
if self.view==None:
self.view = pvsp.CreateRenderView()
renWin = self.view.GetRenderWindow()
self.SetRenderWindow(renWin)
iren = renWin.GetInteractor()
iren.SetNonInteractiveRenderDelay(0)
iren.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera())
del self.view.Representations[:]
# Fetch variables from the input port
(location, representations) = inputPorts
for rep in representations:
rep.set_view(self.view)
rep.execute()
# Set view specific properties
self.view.CenterAxesVisibility = 0
self.view.Background = [0.5, 0.5, 0.5]
self.view.ResetCamera()
self.view.StillRender()
QCellWidget.updateContents(self, inputPorts)
示例13: __test_normalize
def __test_normalize():
import vtk
ref_point = PointWithRef()
point2 = PointWithRef()
for p in (ref_point, point2):
p.point_pos = np.random.random(3) * 15 / 100
p.ref_pos = np.random.random(3) * 15 / 100
p.point_or = tuple(Quaternion.from_v_theta(np.random.random(3), np.random.random()).x)
p.ref_or = tuple(Quaternion.from_v_theta(np.random.random(3), np.random.random()).x)
ren_win = vtk.vtkRenderWindow()
iren = vtk.vtkRenderWindowInteractor()
iren.SetInteractorStyle(vtk.vtkInteractorStyleTrackballCamera())
iren.SetRenderWindow(ren_win)
ren = vtk.vtkRenderer()
ren_win.AddRenderer(ren)
# draw ref
__draw_point_and_uni(ref_point, (1, 1, 1), ren)
# draw original point
__draw_point_and_uni(point2, (0, 1, 0), ren)
#normalize
point2_n = normalize_point_to_ref(point2, ref_point)
__draw_point_and_uni(point2_n, (1, 0, 0), ren)
iren.Initialize()
iren.Start()
示例14: __init__
def __init__(self, threadLock, actorWrapper, axis=True,):
super(VTKVisualisation, self).__init__()
self.threadLock = threadLock
self.ren = vtk.vtkRenderer()
self.ren.AddActor(actorWrapper.actor)
self.axesActor = vtk.vtkAxesActor()
self.axesActor.AxisLabelsOff()
self.axesActor.SetTotalLength(1, 1, 1)
self.ren.AddActor(self.axesActor)
self.renWin = vtk.vtkRenderWindow()
self.renWin.AddRenderer(self.ren)
## IREN
self.iren = vtk.vtkRenderWindowInteractor()
self.iren.SetRenderWindow(self.renWin)
self.iren.Initialize()
self.style = vtk.vtkInteractorStyleTrackballCamera()
self.iren.SetInteractorStyle(self.style)
self.iren.AddObserver("TimerEvent", self.update_visualisation)
dt = 30 # ms
timer_id = self.iren.CreateRepeatingTimer(dt)
示例15: create_render_window
def create_render_window(actors, callbacks, **kwargs):
""" Creates VTK render window with an interactor.
:param actors: list of VTK actors
:type actors: list, tuple
:param callbacks: callback functions for registering custom events
:type callbacks: dict
"""
# Get keyword arguments
figure_size = kwargs.get('figure_size', (800, 600))
camera_position = kwargs.get('camera_position', (0, 0, 100))
# Find camera focal point
center_points = []
for actor in actors:
center_points.append(actor.GetCenter())
camera_focal_point = linalg.vector_mean(*center_points)
# Create camera
camera = vtk.vtkCamera()
camera.SetPosition(*camera_position)
camera.SetFocalPoint(*camera_focal_point)
# Create renderer
renderer = vtk.vtkRenderer()
renderer.SetActiveCamera(camera)
renderer.SetBackground(1.0, 1.0, 1.0)
# Add actors to the scene
for actor in actors:
renderer.AddActor(actor)
# Render window
render_window = vtk.vtkRenderWindow()
render_window.AddRenderer(renderer)
render_window.SetSize(*figure_size)
# Render window interactor
window_interactor = vtk.vtkRenderWindowInteractor()
window_interactor.SetRenderWindow(render_window)
# Add event observers
for cb in callbacks:
window_interactor.AddObserver(cb, callbacks[cb][0], callbacks[cb][1]) # cb name, cb function ref, cb priority
# Render actors
render_window.Render()
# Set window name after render() is called
render_window.SetWindowName("geomdl")
# Use trackball camera
interactor_style = vtk.vtkInteractorStyleTrackballCamera()
window_interactor.SetInteractorStyle(interactor_style)
# Start interactor
window_interactor.Start()
# Return window interactor instance
return window_interactor