pub struct Gizmo { /* private fields */ }
Expand description

A 3D transformation gizmo.

Implementations§

source§

impl Gizmo

source

pub fn new(config: GizmoConfig) -> Self

Creates a new gizmo from given configuration

source

pub fn config(&self) -> &GizmoConfig

Current configuration used by the gizmo.

source

pub fn update_config(&mut self, config: GizmoConfig)

Updates the configuration used by the gizmo.

source

pub fn is_focused(&self) -> bool

Was this gizmo focused after the latest Gizmo::update call.

source

pub fn update( &mut self, interaction: GizmoInteraction, targets: &[Transform] ) -> Option<(GizmoResult, Vec<Transform>)>

Updates the gizmo based on given interaction information.

§Examples

let interaction = GizmoInteraction {
    cursor_pos,
    drag_started,
    dragging
};

if let Some((_result, new_transforms)) = gizmo.update(interaction, &transforms) {
                for (new_transform, transform) in
    // Update transforms
    new_transforms.iter().zip(&mut transforms)
    {
        *transform = *new_transform;
    }
}

Returns the result of the interaction with the updated transformation.

Some is returned when any of the subgizmos is being dragged, None otherwise.

source

pub fn draw(&self) -> GizmoDrawData

Return all the necessary data to draw the latest gizmo interaction.

The gizmo draw data consists of vertices in viewport coordinates.

Trait Implementations§

source§

impl Clone for Gizmo

source§

fn clone(&self) -> Gizmo

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for Gizmo

source§

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

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

impl Default for Gizmo

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Gizmo

§

impl RefUnwindSafe for Gizmo

§

impl Send for Gizmo

§

impl Sync for Gizmo

§

impl Unpin for Gizmo

§

impl UnwindSafe for Gizmo

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> 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,

§

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>,

§

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>,

§

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.