Expand description
3D scene foundation — the silx.gui.plot3d port.
This is the pure, headless math layer (matrices + camera); the GPU pipeline
lives in crate::render and the interactive widget in crate::widget.
Tracked in doc/plot3d-parity-roadmap.md.
Modules§
- camera
- Camera: projection (intrinsic) × position/orientation (extrinsic).
- interaction
- Pure camera-interaction helpers — the orbit/pan drag state machines from
silx
silx.gui.plot3d.scene.interaction, ported off Qt so they are unit testable. The eguicrate::widget::scene_widget::SceneWidgetdrives these from pointer events; zoom and depth-extent adjustment live oncrate::core::scene3d::camera::Camera(they need its projection internals). - marching_
cubes - Marching-cubes isosurface extraction — the pure, headless port of silx’s
silx.math.marchingcubes(C++mc.hpp+ the 256-case lookup tables inmc_lut.cpp, driven by Cythonmarchingcubes.pyx). - mat4
- 4×4 matrix and 3-vector math for the 3D scene.
- pick
- CPU ray–geometry picking for the 3D scene.
- plane
- Plane geometry for cut planes — the pure, headless port of silx’s
scene.utils.Planeplus the box/plane-intersection helpers (segmentPlaneIntersect,boxPlaneIntersect,angleBetweenVectors) and the unit-box corner/edge tables fromscene.primitives.Box.