pub struct Emphasis {
pub selected_solids: HashSet<String>,
pub selected_faces: HashSet<String>,
pub selected_edges: HashSet<String>,
pub selected_vertices: Vec<VertexRef>,
pub selected_datums: HashSet<String>,
pub hovered_solids: HashSet<String>,
pub hovered_faces: HashSet<String>,
pub hovered_edges: HashSet<String>,
pub hovered_vertices: Vec<VertexRef>,
pub hovered_datums: HashSet<String>,
pub generation: u64,
}Expand description
The emphasis state (selection + hover), name-keyed like SelectionFilter.
Solid-level emphasis cascades to that solid’s faces/edges (the
SelectionState._applyToSolid behavior).
Fields§
§selected_solids: HashSet<String>§selected_faces: HashSet<String>§selected_edges: HashSet<String>§selected_vertices: Vec<VertexRef>§selected_datums: HashSet<String>Selected construction datum/plane FRAMES, keyed by frame NAME ({id}:XY
for a DATUM base plane, {id} for a PLANE feature). Datums carry no
resident geometry, so — like the render-color feed — they emphasize purely
by name; a selected datum is re-colored with the selection accent when the
engine re-feeds the datum planes.
hovered_solids: HashSet<String>§hovered_faces: HashSet<String>§hovered_edges: HashSet<String>§hovered_vertices: Vec<VertexRef>§hovered_datums: HashSet<String>HOVERED construction datum/plane FRAMES — the hover twin of
selected_datums, keyed the same way. Construction
planes are ordinary pick candidates, so the pointer (and a pick-list row)
pre-highlights one exactly like a face; the accent is applied when the engine
re-feeds the datum planes.
generation: u64Bumped on every change — cache key for derived GPU state.
Implementations§
Source§impl Emphasis
impl Emphasis
pub fn face_state(&self, solid: &str, face: &str) -> EmphasisState
pub fn edge_state(&self, solid: &str, edge: &str) -> EmphasisState
pub fn vertex_state( &self, solid: &str, position: [f64; 3], tol: f64, ) -> EmphasisState
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Emphasis
impl RefUnwindSafe for Emphasis
impl Send for Emphasis
impl Sync for Emphasis
impl Unpin for Emphasis
impl UnsafeUnpin for Emphasis
impl UnwindSafe for Emphasis
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