Struct dx::foundation::camera::ArcballCamera
source · [−]pub struct ArcballCamera<F> { /* private fields */ }
Expand description
The Shoemake Arcball camera.
Implementations
sourceimpl<F: BaseFloat> ArcballCamera<F>
impl<F: BaseFloat> ArcballCamera<F>
sourcepub fn new(
center: Vector3<F>,
zoom_speed: F,
screen: [F; 2]
) -> ArcballCamera<F>
pub fn new(
center: Vector3<F>,
zoom_speed: F,
screen: [F; 2]
) -> ArcballCamera<F>
Create a new Arcball camera focused at the center
point, which will zoom at zoom_speed
screen
should be [screen_width, screen_height]
.
sourcepub fn get_inv_camera(&self) -> Matrix4<F>
pub fn get_inv_camera(&self) -> Matrix4<F>
Get the inverse view matrix
sourcepub fn rotate(&mut self, mouse_prev: Vector2<F>, mouse_cur: Vector2<F>)
pub fn rotate(&mut self, mouse_prev: Vector2<F>, mouse_cur: Vector2<F>)
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
.
sourcepub fn zoom(&mut self, amount: F, elapsed: F)
pub fn zoom(&mut self, amount: F, elapsed: F)
Zoom the camera in by some amount. Positive values zoom in, negative zoom out.
sourcepub fn pan(&mut self, mouse_delta: Vector2<F>)
pub fn pan(&mut self, mouse_delta: Vector2<F>)
Pan the camera following the motion of the mouse. The mouse delta should be in pixels.
sourcepub fn update_screen(&mut self, width: F, height: F)
pub fn update_screen(&mut self, width: F, height: F)
Update the screen dimensions, e.g. if the window has resized.
Auto Trait Implementations
impl<F> RefUnwindSafe for ArcballCamera<F> where
F: RefUnwindSafe,
impl<F> Send for ArcballCamera<F> where
F: Send,
impl<F> Sync for ArcballCamera<F> where
F: Sync,
impl<F> Unpin for ArcballCamera<F> where
F: Unpin,
impl<F> UnwindSafe for ArcballCamera<F> where
F: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Fr, To> IntoColor<To> for Fr where
To: FromColor<Fr>,
impl<Fr, To> IntoColor<To> for Fr where
To: FromColor<Fr>,
sourcefn into_color(self) -> To
fn into_color(self) -> To
Convert into color
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> SetParameter for T
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
Sets value
as a parameter of self
.