pub struct SelectionProbe {
pub solids: usize,
pub sketches: usize,
pub faces: usize,
pub edges: usize,
pub planes: usize,
pub vertices: usize,
pub components: usize,
pub all_component: bool,
pub all_sheet_metal: bool,
}Expand description
Kind-level summary of the user’s current selection, handed to each
feature’s / constraint’s context_applicable test.
solids counts REAL solids only — committed sketches present in the scene
as solids, but their reference kind is SKETCH, so the app partitions them
into sketches before probing (the context bar’s established split).
Fields§
§solids: usize§sketches: usize§faces: usize§edges: usize§planes: usizeSelected construction PLANES / DATUM planes (their scene FRAME names, e.g.
Datum:XY or a P plane feature’s id). A datum/plane can seat a sketch’s
sketchPlane (the kernel resolves a frame name there), so Sketch offers on
a plane-only selection just like it does on a planar face.
vertices: usizeSelected vertices (position-keyed, no names — no feature offer keys on
them, but they disqualify component-only shapes via all_component).
components: usizeDistinct owning ACOMP components across the selected named entities.
all_component: boolEvery selected named entity is component-owned (and ≥1 is selected).
Feature creation is fenced on component geometry, so feature predicates
never see it; constraint predicates REQUIRE it (mapping::resolve_element
rejects non-component references).
all_sheet_metal: boolEvery selected named entity sits on a SHEET-METAL body (and ≥1 is
selected) — the app resolves each pick’s owning solid and checks its
SheetTree marker. The sheet-metal EDIT features (SM Flange / Fillet /
Chamfer) require it: they mutate an existing sheet-metal body, so they
are meaningless on plain geometry.
Implementations§
Source§impl SelectionProbe
impl SelectionProbe
Sourcepub fn has_profile(&self) -> bool
pub fn has_profile(&self) -> bool
A profile source is selected (the extrude/revolve/sweep family’s
["SKETCH","FACE"] fields).
Trait Implementations§
Source§impl Clone for SelectionProbe
impl Clone for SelectionProbe
Source§fn clone(&self) -> SelectionProbe
fn clone(&self) -> SelectionProbe
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SelectionProbe
Source§impl Debug for SelectionProbe
impl Debug for SelectionProbe
Source§impl Default for SelectionProbe
impl Default for SelectionProbe
Source§fn default() -> SelectionProbe
fn default() -> SelectionProbe
impl Eq for SelectionProbe
Source§impl PartialEq for SelectionProbe
impl PartialEq for SelectionProbe
impl StructuralPartialEq for SelectionProbe
Auto Trait Implementations§
impl Freeze for SelectionProbe
impl RefUnwindSafe for SelectionProbe
impl Send for SelectionProbe
impl Sync for SelectionProbe
impl Unpin for SelectionProbe
impl UnsafeUnpin for SelectionProbe
impl UnwindSafe for SelectionProbe
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.