forked from 1b-agent/opencadstudio-upstream
feat(solid history): Ctrl+click picks a composite's solid; show history draws them
Ctrl+click on a composite selects it with the solid under the cursor as the one its palette and grips edit: the solid whose own surface passes through the picked point. With its history shown, a composite draws the edges of the solids its booleans joined, each where it sits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
43bd5aa427
commit
33640e050d
4 files changed
+163
-1
No files matched your search
@@ -904,6 +904,17 @@ pub(crate) fn mesh_click_point<'a>(
|
||||
mesh_click_result(cursor, meshes, view_rot, eye, bounds).map(|(_, _, point)| point)
|
||||
}
|
||||
|
||||
/// The nearest mesh under the cursor and where the pick ray meets it.
|
||||
pub(crate) fn mesh_click_handle_point<'a>(
|
||||
cursor: Point,
|
||||
meshes: impl Iterator<Item = MeshPickItem<'a>>,
|
||||
view_rot: Mat4,
|
||||
eye: glam::DVec3,
|
||||
bounds: Rectangle,
|
||||
) -> Option<(Handle, glam::DVec3)> {
|
||||
mesh_click_result(cursor, meshes, view_rot, eye, bounds).map(|(_, handle, point)| (handle, point))
|
||||
}
|
||||
|
||||
fn mesh_click_result<'a>(
|
||||
cursor: Point,
|
||||
meshes: impl Iterator<Item = MeshPickItem<'a>>,
|
||||
|
||||
Reference in new issue
Block a user