pub struct WidgetOverlay {
pub main: Overlay,
pub plane_tri_verts: usize,
pub viewcube: Option<ViewCubeFrame>,
}Expand description
A whole frame’s worth of overlay-widget geometry, ready for the render core’s overlay pass: the main overlay (datums / dimensions / curves / transform gizmo, full-viewport) + the optional ViewCube (own mini-camera + corner rect).
Fields§
§main: Overlay§plane_tri_verts: usizeNumber of LEADING main.tris vertices belonging to the datum/construction
planes (drawn with a no-depth-write pipeline so they never occlude the
gizmos/dimensions that follow). The remaining tris are the gizmo geometry.
viewcube: Option<ViewCubeFrame>Implementations§
Source§impl WidgetOverlay
impl WidgetOverlay
Sourcepub fn world_bbox(&self) -> Aabb
pub fn world_bbox(&self) -> Aabb
The world-space AABB of the MAIN overlay (datums, axes, frames, curves,
dimensions, transform gizmo, general groups) — folded into the camera
depth-range fit so construction geometry beyond the solids never clips.
EXCLUDES the ViewCube: it lives in the separate viewcube field and is
drawn with its own mini-camera, so its coords are NOT world space —
bboxing them would corrupt the fit. Point groups are already expanded
into main.tris (push_point_quad), so tris + lines cover everything.
Empty when the main overlay is empty. A single vertex absurdly far out
(|coord| > 1e6) is skipped rather than unioned, so a pathological
“infinite” helper can’t blow the depth window open (world axes are
screen-constant and finite, but be defensive).
Auto Trait Implementations§
impl Freeze for WidgetOverlay
impl RefUnwindSafe for WidgetOverlay
impl Send for WidgetOverlay
impl Sync for WidgetOverlay
impl Unpin for WidgetOverlay
impl UnsafeUnpin for WidgetOverlay
impl UnwindSafe for WidgetOverlay
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more