#[non_exhaustive]pub struct InteractionFrame {
pub gizmo_model: Option<Mat4>,
pub gizmo_mode: GizmoMode,
pub gizmo_hovered: GizmoAxis,
pub gizmo_space_orientation: Quat,
pub constraint_overlays: Vec<ConstraintOverlay>,
pub outline_selected: bool,
pub outline_color: [f32; 4],
pub outline_width_px: f32,
pub xray_selected: bool,
pub xray_color: [f32; 4],
}Expand description
Interaction and selection visualization state for one frame.
Groups the gizmo, selection overlays, constraint guides, outline, and x-ray state — everything that communicates selection and interaction feedback to the user.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.gizmo_model: Option<Mat4>Gizmo model matrix. Some = selected object exists and gizmo should render.
gizmo_mode: GizmoModeCurrent gizmo interaction mode.
gizmo_hovered: GizmoAxisCurrent hovered gizmo axis.
gizmo_space_orientation: QuatOrientation for gizmo space (identity for world, object orientation for local).
constraint_overlays: Vec<ConstraintOverlay>Constraint guide lines to render this frame.
outline_selected: boolDraw a stencil-outline ring around selected objects. Default: false.
outline_color: [f32; 4]RGBA color of the selection outline ring. Default: orange [1.0, 0.5, 0.0, 1.0].
outline_width_px: f32Width of the outline ring in pixels. Default: 2.0.
xray_selected: boolRender selected objects as a semi-transparent x-ray overlay. Default: false.
xray_color: [f32; 4]RGBA color of the x-ray tint (should have alpha < 1). Default: [0.3, 0.7, 1.0, 0.25].
Trait Implementations§
Auto Trait Implementations§
impl Freeze for InteractionFrame
impl RefUnwindSafe for InteractionFrame
impl Send for InteractionFrame
impl Sync for InteractionFrame
impl Unpin for InteractionFrame
impl UnsafeUnpin for InteractionFrame
impl UnwindSafe for InteractionFrame
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.