Struct arcball::ArcballCamera
[−]
[src]
pub struct ArcballCamera { /* fields omitted */ }
The Shoemake Arcball camera.
Methods
impl ArcballCamera
[src]
fn new(
look_at: &Matrix4<f32>,
motion_speed: f32,
zoom_speed: f32,
screen: [f32; 2]
) -> ArcballCamera
look_at: &Matrix4<f32>,
motion_speed: f32,
zoom_speed: f32,
screen: [f32; 2]
) -> ArcballCamera
Create a new Arcball camera starting from the look at matrix look_at
. The motion_speed
sets the speed for panning and zoom_speed
the speed for zooming the camera. screen
should be
[screen_width, screen_height]
.
fn get_mat4(&self) -> Matrix4<f32>
Get the view matrix computed by the camera.
fn rotate(&mut self, mouse_prev: Vector2<f32>, mouse_cur: Vector2<f32>)
Rotate the camera, mouse positions should be in pixel coordinates.
Rotates from the orientation at the previous mouse position specified by mouse_prev
to the orientation at the current mouse position, mouse_cur
.
fn zoom(&mut self, amount: f32, elapsed: f32)
Zoom the camera in by some amount. Positive values zoom in, negative zoom out.
fn pan(&mut self, mouse_delta: Vector2<f32>, elapsed: f32)
Pan the camera following the motion of the mouse. The mouse delta should be in pixels.
fn update_screen(&mut self, width: f32, height: f32)
Update the screen dimensions, e.g. if the window has resized.