forked from 1b-agent/opencadstudio-upstream
Point clouds: measured lighting, highlighted extents box, gizmo shaft grab
- Lighting follows the view: the default source is a key light from the upper left and a fill light from the lower right over an ambient term, the other source one light from above; POINTCLOUDLIGHTING 1 lights the front faces, 2 both. - A selected or hovered point cloud shows its extents box. - A move-gizmo arrow can be grabbed along its shaft; the grab offset is taken on the press, so click-and-place and typed distances start from the insertion point. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4b00504453
commit
15c0da8b79
6 files changed
+87
-39
No files matched your search
@@ -2813,7 +2813,9 @@ impl Pipeline {
|
||||
);
|
||||
for &i in idxs {
|
||||
if let Some(w) = wires.get(i as usize) {
|
||||
if !w.display_visible {
|
||||
// An unseen pick hull (a point cloud's extents box) shows while
|
||||
// highlighted, as the reference does.
|
||||
if !w.display_visible && (w.pick_tris.is_empty() || w.snap_only) {
|
||||
continue;
|
||||
}
|
||||
selected_wires.push(w);
|
||||
@@ -2825,7 +2827,9 @@ impl Pipeline {
|
||||
if let Some(idxs) = self.wire_handle_index.get(&h.value()) {
|
||||
for &i in idxs {
|
||||
if let Some(w) = wires.get(i as usize) {
|
||||
if !w.display_visible {
|
||||
// An unseen pick hull (a point cloud's extents box) shows while
|
||||
// highlighted, as the reference does.
|
||||
if !w.display_visible && (w.pick_tris.is_empty() || w.snap_only) {
|
||||
continue;
|
||||
}
|
||||
hover_wires.push(w);
|
||||
@@ -3848,7 +3852,7 @@ analytic={:.1} regular={:.1} blocks={:.1}",
|
||||
self.gpu_point_clouds.upload(device, queue, set);
|
||||
}
|
||||
|
||||
pub fn set_point_cloud_view(&mut self, queue: &wgpu::Queue, light: [f32; 8]) {
|
||||
pub fn set_point_cloud_view(&mut self, queue: &wgpu::Queue, light: [f32; 12]) {
|
||||
self.gpu_point_clouds.set_view(queue, light);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user