Skip to main content

GizmoView

Struct GizmoView 

Source
pub struct GizmoView {
    pub at: Vector3,
    pub axes: [Vector3; 3],
    pub modes: Modes,
    pub parts: Vec<GizmoPart>,
    pub hover: Option<GizmoPart>,
    pub active: Option<GizmoPart>,
    pub readout: Option<String>,
}
Expand description

A gizmo as the viewer draws it: where, along which axes, what it lets the user do, which part the pointer is over and which is dragged, and what a drag under way has done so far, in words.

Fields§

§at: Vector3§axes: [Vector3; 3]

Unit and orthogonal: the world’s, or what it stands on’s own.

§modes: Modes§parts: Vec<GizmoPart>

The parts it shows, as its modes give them: what a viewer draws, and the pointer is tested against.

§hover: Option<GizmoPart>§active: Option<GizmoPart>§readout: Option<String>

Implementations§

Source§

impl GizmoView

Source

pub fn moved(self, motion: &Motion) -> Self

The gizmo moved by motion: drawn where the part it is of is placed.

Source

pub fn of(gizmo: &Gizmo, orientation: Orientation) -> Self

gizmo turned as orientation says.

Source

pub fn diagonal(&self) -> Option<Vector3>

The diagonal the even scale’s cube sits on.

Source

pub fn shown(&self, part: GizmoPart, dir: &Vector3) -> bool

Whether part is shown looking along dir (see size::FACING).

Source

pub fn reach(&self, pointer: &Pointer) -> Scalar

How large one reach is at its centre, for pointer.

Source

pub fn hit(&self, pointer: &Pointer) -> Option<GizmoPart>

The part pointer is over. One it is over as drawn comes first — the ball, a square, a cube within its own size — before one it only passes within a reach of: a square is hit only where it is drawn, so a cube or a ring reaching over it by that reach must not take it. Then of the cubes and the ball, then the arrows and squares, then the rings, the one nearest the pointer on screen.

Source

pub fn ring(&self, i: Axis, r: Scalar) -> Vec<Vector3> ⓘ

The ring about axis i, as a closed polyline, a reach being r: as the viewer draws it, so it is hit where it is seen.

Trait Implementations§

Source§

impl Clone for GizmoView

Source§

fn clone(&self) -> GizmoView

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GizmoView

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for GizmoView

Source§

fn eq(&self, other: &GizmoView) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for GizmoView

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for GizmoView

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.