Skip to main content

Crate bimifc_bevy

Crate bimifc_bevy 

Source
Expand description

BIMIFC Bevy 3D Viewer

Bevy-based 3D viewer for IFC models with WebGPU/WebGL2 rendering. Supports orbit/pan/zoom camera controls, entity selection, and section planes.

Features pure Bevy UI that works on both web (WASM) and native platforms.

Re-exports§

pub use camera::CameraController;
pub use camera::CameraMode;
pub use camera::CameraPlugin;
pub use loader::LoadIfcContentEvent;
pub use loader::LoadIfcFileEvent;
pub use loader::LoaderPlugin;
pub use loader::OpenFileDialogRequest;
pub use mesh::AutoFitState;
pub use mesh::IfcEntity;
pub use mesh::IfcMesh;
pub use mesh::IfcMeshSerialized;
pub use mesh::MeshGeometry;
pub use mesh::MeshPlugin;
pub use picking::PickingPlugin;
pub use picking::SelectionState;
pub use section::SectionPlane;
pub use section::SectionPlanePlugin;
pub use ui::IfcUiPlugin;
pub use ui::UiState;
pub use storage::*;

Modules§

camera
Camera system with orbit, pan, and zoom controls
loader
IFC file loading - handles file dialog, drag-and-drop, and WASM file input
mesh
Mesh system for IFC geometry
picking
Picking and selection system
section
Section plane system
storage
Storage types and localStorage bridge
ui
Bevy UI components for BIMIFC viewer

Structs§

EntityInfo
Entity metadata
IfcSceneData
Resource containing all IFC scene data
IfcTimestamp
Timestamp for detecting localStorage changes (WASM)
IfcViewerPlugin
Main IFC viewer plugin - combines all subsystems
SceneBounds
Axis-aligned bounding box for scene
ViewerSettings
Viewer settings and state

Enums§

Theme
Theme variants

Functions§

has_pending_meshes
Check if pending meshes are available
is_debug
Check if debug mode is enabled
log
log_info
poll_scene_changes
System to poll for scene changes Checks both direct memory (unified mode) and JS bridge (split mode)
poll_selection_from_storage
System to poll selection changes from localStorage (UI -> Bevy sync) This allows the UI (Leptos/Yew) to update Bevy’s selection via localStorage
run_native
Run native desktop viewer
run_on_canvas
Run the viewer in a native window (desktop)
run_with_data
set_pending_meshes
Set pending meshes from Yew (unified mode only) This is called by Yew after parsing geometry, Bevy polls this
take_pending_meshes
Take pending meshes (consumes them)