def test_show_entity(): """Test showing an entity""" # Create a figure app = Application() fig = scene.CanvasWithScene(app=app) app.create() fig.size = 1, 1 fig.show() camcontainer = scene.PixelCamera(fig.viewbox) camera = scene.ThreeDCamera(camcontainer) camera._fov = 90 fig.viewbox.camera = camera pointscontainer = scene.Entity(fig.viewbox) scene.PointsEntity(pointscontainer, 1000) app.process_events() app.process_events() # for good measure # Now do first-person camcontainer = scene.PixelCamera(fig.viewbox) camera = scene.FirstPersonCamera(camcontainer) camera.update_angles() fig.viewbox.camera = camera pointscontainer = scene.Entity(fig.viewbox) scene.PointsEntity(pointscontainer, 1000) app.process_events() app.process_events() # for good measure # Now do 2D camcontainer = scene.PixelCamera(fig.viewbox) camera = scene.TwoDCamera(camcontainer) camera.xlim = -100, 500 camera.ylim = -100, 500 fig.viewbox.camera = camera pointscontainer = scene.Entity(fig.viewbox) scene.PointsEntity(pointscontainer, 1000) transforms.translate(camcontainer.transform, 50, 50) transforms.rotate(camcontainer.transform, 10, 0, 0, 1) app.process_events() app.process_events() # for good measure fig.close() app.quit()
from vispy.util import transforms class MyFigure(scene.CanvasWithScene): def on_mouse_move(self, event): cam0.on_mouse_move(event) # cam2.on_mouse_move(event) # Create figure with one pixel camera fig = MyFigure() # scene.Figure() fig.size = 800, 400 fig.show() #camera = scene.NDCCamera(fig.viewvbox) camera = scene.PixelCamera(fig.viewbox) # Create two viewbox, use the same scene vp1 = scene.ViewBox(fig.viewbox) vp2 = scene.ViewBox(fig.viewbox) # Put them next to each-other transforms.scale(vp1.transform, 400, 400) transforms.scale(vp2.transform, 400, 400) transforms.translate(vp1.transform, 0) transforms.translate(vp2.transform, 400, 0, 0) # Create a world object to act as a container # It is a child of both viewports world = scene.Entity() world.parents = vp1, vp2
You need to move the mouse to initialize the view for now. """ import time from vispy import scene from vispy import app # Create a figure fig = scene.CanvasWithScene() fig.size = 600, 600 fig.show() # Create a camera inside a container camcontainer = scene.PixelCamera(fig.viewbox) camera = scene.ThreeDCamera(camcontainer) camera._fov = 90 # or other between 0 and 179 # Explicitly set the second camera, or the ViewBox will pick the second fig.viewbox.camera = camera # Create a points entity inside a container pointscontainer = scene.Entity(fig.viewbox) points = scene.PointsEntity(pointscontainer, 1000) # Count FPS t0, frames, t = time.time(), 0, 0