Struct rin::graphics::ArcballCamera [−][src]
pub struct ArcballCamera<C = Camera> { /* fields omitted */ }
Arcball interactive camera that can be controlled with the mouse and keys
By default:
- left mouse drag will rotate the camera around it’s target
- mouse wheel scroll will move camera towards or apart from it’s target for perspective cameras and zoom in/out for orthographic ones
- middle mouse drag translate the camera and it’s target
- keypad 1 will switch front and back views, that is target position plus or minus current distance from camera to target in z axis relative to the camera up axis as y
- keypad 3 will switch left and right views similar to front/back but in the relative x axis
- keypad 7 will switch top and bottom views similat to front/back but in the relative y axis
The key mappings can be modified using a custom ViewEvents stream
Implementations
impl<C> ArcballCamera<C> where
C: CameraExt + NodeMut, [src]
impl<C> ArcballCamera<C> where
C: CameraExt + NodeMut, [src]Trait Implementations
impl<C> CameraExt for ArcballCamera<C> where
C: CameraExt + NodeMut, [src]
impl<C> CameraExt for ArcballCamera<C> where
C: CameraExt + NodeMut, [src]pub fn projection(
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>[src]
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
pub fn view(
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>[src]
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
pub fn projection_view(
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>[src]
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
pub fn fov(&self) -> Option<Deg<f32>>[src]
pub fn width(&self) -> Option<f32>[src]
pub fn near_far_clip(&self) -> (f32, Option<f32>)[src]
pub fn near_clip(&self) -> f32[src]
pub fn far_clip(&self) -> Option<f32>[src]
pub fn set_near(&mut self, near: f32)[src]
pub fn set_far(&mut self, far: f32)[src]
pub fn set_near_far(&mut self, near: f32, far: f32)[src]
pub fn set_aspect_ratio(&mut self, aspect: f32)[src]
pub fn aspect_ratio(&self) -> f32[src]
pub fn target(&self) -> &Point<f32, U3>[src]
pub fn set_target(&mut self, target: Point<f32, U3>)[src]
pub fn up(
&self
) -> &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>[src]
&self
) -> &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
pub fn enable_depth_clamp(&mut self)[src]
pub fn disable_depth_clamp(&mut self)[src]
pub fn depth_clamp(&self) -> bool[src]
pub fn set_reversed_z(&mut self, reversed_z: bool)[src]
pub fn reversed_z(&self) -> bool[src]
pub fn far_at_infinity(&self) -> bool[src]
pub fn hfov(&self) -> Option<Deg<f32>>[src]
pub fn focal_length(&self) -> Option<f32>[src]
pub fn sensor_width_mm(&self) -> Option<f32>[src]
pub fn update(&mut self) -> bool[src]
impl<C> CameraOrthographic for ArcballCamera<C> where
C: CameraOrthographic + NodeMut, [src]
impl<C> CameraOrthographic for ArcballCamera<C> where
C: CameraOrthographic + NodeMut, [src]impl<C> CameraPerspective for ArcballCamera<C> where
C: CameraPerspective + NodeMut, [src]
impl<C> CameraPerspective for ArcballCamera<C> where
C: CameraPerspective + NodeMut, [src]impl<C> NodeMut for ArcballCamera<C> where
C: NodeMut, [src]
impl<C> NodeMut for ArcballCamera<C> where
C: NodeMut, [src]pub fn node_mut(&mut self) -> &mut Node[src]
pub fn update_with_parent_parts(
&mut self,
parent_loc: Option<&Node>,
parent_orientation: Option<&Node>,
parent_scale: Option<&Node>
) -> bool[src]
&mut self,
parent_loc: Option<&Node>,
parent_orientation: Option<&Node>,
parent_scale: Option<&Node>
) -> bool
pub fn update_with_parent(&mut self, parent: Option<&Node>) -> bool[src]
pub fn look_at(
&mut self,
at: &Point<f32, U3>,
up: &Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
) -> Result<(), Error>[src]
&mut self,
at: &Point<f32, U3>,
up: &Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
) -> Result<(), Error>
pub fn rotate(
&mut self,
angle: Rad<f32>,
axis: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
)[src]
&mut self,
angle: Rad<f32>,
axis: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
)
pub fn append_orientation(&mut self, orientation: &Unit<Quaternion<f32>>)[src]
pub fn tilt(&mut self, angle: Rad<f32>)[src]
pub fn pan(&mut self, angle: Rad<f32>)[src]
pub fn roll(&mut self, angle: Rad<f32>)[src]
pub fn set_scale(
&mut self,
Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
)[src]
&mut self,
Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
)
pub fn translate(
&mut self,
t: &Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
)[src]
&mut self,
t: &Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
)
pub fn set_position(&mut self, pos: Point<f32, U3>)[src]
pub fn set_angle_axis(
&mut self,
angle: Rad<f32>,
axis: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
)[src]
&mut self,
angle: Rad<f32>,
axis: &Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
)
pub fn set_orientation(&mut self, orientation: Unit<Quaternion<f32>>)[src]
impl<C> NodeRef for ArcballCamera<C> where
C: NodeRef, [src]
impl<C> NodeRef for ArcballCamera<C> where
C: NodeRef, [src]pub fn node(&self) -> &Node[src]
pub fn position(&self) -> Point<f32, U3>[src]
pub fn orientation(&self) -> Unit<Quaternion<f32>>[src]
pub fn rotation(&self) -> Rotation<f32, U3>[src]
pub fn scale(
&self
) -> Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>[src]
&self
) -> Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
pub fn local_x_axis(
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>[src]
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
pub fn local_y_axis(
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>[src]
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
pub fn local_z_axis(
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>[src]
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
pub fn global_x_axis(
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>[src]
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
pub fn global_y_axis(
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>[src]
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
pub fn global_z_axis(
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>[src]
&self
) -> Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
pub fn local_transformation(
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>[src]
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
pub fn global_transformation(
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>[src]
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
pub fn global_position(&self) -> Point<f32, U3>[src]
pub fn global_orientation(&self) -> Unit<Quaternion<f32>>[src]
pub fn global_scale(
&self
) -> Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>[src]
&self
) -> Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
pub fn inv_local_transformation(
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>[src]
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
pub fn inv_global_transformation(
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>[src]
&self
) -> Matrix<f32, U4, U4, <DefaultAllocator as Allocator<f32, U4, U4>>::Buffer>
Auto Trait Implementations
impl<C = Camera> !RefUnwindSafe for ArcballCamera<C>
impl<C> Send for ArcballCamera<C> where
C: Send,
C: Send,
impl<C = Camera> !Sync for ArcballCamera<C>
impl<C> Unpin for ArcballCamera<C> where
C: Unpin,
C: Unpin,
impl<C = Camera> !UnwindSafe for ArcballCamera<C>
Blanket Implementations
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]pub fn to_subset(&self) -> Option<SS>[src]
pub fn is_in_subset(&self) -> bool[src]
pub fn to_subset_unchecked(&self) -> SS[src]
pub fn from_subset(element: &SS) -> SP[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, [src]