Skip to main content

BrepApp

Struct BrepApp 

Source
pub struct BrepApp { /* private fields */ }

Implementations§

Source§

impl BrepApp

Source

pub fn automation(&self) -> &Arc<AutomationQueue> ⓘ

The automation queue a host submits commands to.

Source

pub fn open_path_from_command_line(&mut self, path: &Path)

Open a .nbrep file named on the command line — brep-app model.nbrep, which is also what a desktop file association hands us (Exec=… %f).

The path goes through the same FileDialog::open_document door as File>Open, so the document keeps the full path as its identity and a later plain Save writes back to the file the user double-clicked, rather than to a copy in the app’s own models directory. A path that does not parse leaves the status line saying so and the seed document in place — a bad argument must not cost the user a window.

Native only: called once, before the first frame.

Source

pub fn view_rect(&self) -> Option<Rect>

The 3D viewport rect of the last frame, in egui points.

Source

pub fn docs_engine(&self) -> &EngineState

The active document’s engine.

Source

pub fn open_mesh_preview( &mut self, name: String, bytes: Vec<u8>, ) -> Result<(), String>

Open the mesh import preview for the file name (.stl or .3mf) against the active document — what activating it in the Import explorer does. The preview replaces the shell until it is accepted or cancelled.

Source

pub fn mesh_preview_open(&self) -> bool

Whether the mesh import preview is open.

Source

pub fn new(cc: &CreationContext<'_>) -> Result<Self, String>

Source

pub fn new_with( cc: &CreationContext<'_>, opts: AppOptions, ) -> Result<Self, String>

Build the app with host-supplied options: an isolated store (a host MUST pass one) and whether to start on the seed model.

Source

pub fn start_spin(&mut self, frames: u32, step: (f64, f64))

Arm a measured camera spin: frames pointer steps of step logical px each, starting at the centre of the 3D viewport. Replaces any spin in flight. See Spin.

Source

pub fn spinning(&self) -> bool

Is a measured spin still running?

Source

pub fn service_automation(&mut self, ctx: &Context) -> bool

Application-command dispatch without a frame (the desktop loop’s service step; see automation::queue): the PLM/store tasks that answered, the queue’s frame-free head, the background runs it started, and the notices they raised. Draws nothing. Returns whether work it must keep servicing is still in flight.

Source

pub fn set_settings_window_open(&mut self, open: bool)

Open or close the floating Settings window — the toolbar gear’s flag, reachable from the automation layer (settings_window).

Source

pub fn set_part_properties_window_open(&mut self, open: bool)

Open or close the floating Part Properties window — the toolbar tag button’s flag, reachable from the automation layer (part_properties_window).

Source

pub fn set_info_window_open(&mut self, open: bool)

Open or close the floating Info window — the toolbar info button’s flag, reachable from the automation layer (info_window).

Source

pub fn set_script_host(&mut self, host: Box<dyn ScriptHost>)

What this session is running on. The app’s ONE record of it: the Info window draws it, a problem report carries it, the diagnostics command returns it and the MCP banner names its adapter — all from here. Where the JavaScript editor’s Run sends a program (a host’s own script runner; the desktop app installs its server’s on its own).

Source

pub fn diagnostics(&self) -> &Diagnostics

Source

pub fn begin_bug_report(&mut self, ctx: &Context)

Begin the in-app problem report: the same call the Submit Bug button makes, and for the same reason it makes it THIS frame — request captures the current frame before its own dialog exists.

Source

pub fn show_pane(&mut self, kind: PaneKind)

Bring a built-in dock pane to the front (show_pane).

Source

pub fn update_components( &mut self, run: bool, ) -> Result<(usize, Vec<String>, usize), String>

The parts-library staleness check and its refresh — the Constraints header’s “Update components (N)” button, reachable as the component_update command. Returns (outdated, missing, refreshed); run is skipped when nothing is outdated.

Source

pub fn zoom_to_fit(&mut self)

Frame what the central tile is actually DRAWING: the OPEN SHEET’s paper when a sheet is open, the 3D scene otherwise.

This is where the fit branch lives, and it is here rather than in the toolbar because the two halves sit in different places — the 3D fit is an engine camera op (EngineState::zoom_to_fit) while the sheet’s pan/zoom is viewport-transient state, refitted by clearing the marker the sheet paint compares against. One method, so the toolbar’s Zoom-to-fit button and the zoom_to_fit command can never mean different things — and so the paper needs no Fit button of its own.

The toolbar draws BEFORE the dock in ui, so a fit requested from the button lands on this very frame.

Source

pub fn dispatch_workbench_button(&mut self, id: &str) -> bool

Run what a WORKBENCH TOOLBAR button does, by its WorkbenchButton::id.

Split out of ui so a toolbar click and the workbench_button command run the SAME arms: the workbench registry declares a button, this dispatches it, and the automation surface owns no second copy of the list. Returns whether the id was known.

Trait Implementations§

Source§

impl App for BrepApp

Source§

fn raw_input_hook(&mut self, ctx: &Context, raw_input: &mut RawInput)

Phase 1 of the automation frame (§4.4): queued input commands become egui events; a screenshot that landed completes its reply. Called by every eframe runner before ui; the headless host calls it itself.

Source§

fn ui(&mut self, ui: &mut Ui, _frame: &mut Frame)

Called each time the UI needs repainting, which may be many times per second. Read more
Source§

fn logic(&mut self, ctx: &Context, frame: &mut Frame)

Called once before each call to Self::ui, and additionally also called when the UI is hidden, but egui::Context::request_repaint was called. Read more
Source§

fn save(&mut self, _storage: &mut dyn Storage)

Called on shutdown, and perhaps at regular intervals. Allows you to save state. Read more
Source§

fn on_exit(&mut self)

Called once on shutdown, after Self::save. Read more
Source§

fn auto_save_interval(&self) -> Duration

Time between automatic calls to Self::save
Source§

fn clear_color(&self, _visuals: &Visuals) -> [f32; 4]

Background color values for the app, e.g. what is sent to gl.clearColor. Read more
Source§

fn persist_egui_memory(&self) -> bool

Controls whether or not the egui memory (window positions etc) will be persisted (only if the “persistence” feature is enabled).

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &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)

Convert &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> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more