forked from 1b-agent/opencadstudio-upstream
refactor(snap): widen snap_pts to f64 (world_offset removal P2)
WireModel/LocalWire/TruckEntity snap buffers and the producers/consumers now carry snap candidates as DVec3 (offset_snap_pts, dimension/multileader producers, block-cache transform, pick/xclip, snap module). Still offset-relative, so behaviour is unchanged — this just lets the snap transport survive the upcoming switch to absolute coordinates without an extra f32 quantization. The snap module still resolves in f32 (as_vec3 at entry), matching today's precision. Co-Authored-By: Claude Opus 4.7 <[email protected]>
This commit is contained in:
1 parent
ab7cd63dec
commit
a7a1fac09a
8 files changed
+30
-26
No files matched your search
@@ -1837,12 +1837,12 @@ fn append_angular_dimension(
|
||||
}
|
||||
}
|
||||
|
||||
fn dimension_snap_pts(dim: &Dimension, world_offset: [f64; 3]) -> Vec<(Vec3, SnapHint)> {
|
||||
fn dimension_snap_pts(dim: &Dimension, world_offset: [f64; 3]) -> Vec<(glam::DVec3, SnapHint)> {
|
||||
let lv = |v: acadrust::types::Vector3| {
|
||||
Vec3::new(
|
||||
(v.x - world_offset[0]) as f32,
|
||||
(v.y - world_offset[1]) as f32,
|
||||
(v.z - world_offset[2]) as f32,
|
||||
glam::DVec3::new(
|
||||
v.x - world_offset[0],
|
||||
v.y - world_offset[1],
|
||||
v.z - world_offset[2],
|
||||
)
|
||||
};
|
||||
let node = |v: acadrust::types::Vector3| (lv(v), SnapHint::Node);
|
||||
|
||||
Reference in new issue
Block a user