forked from 1b-agent/opencadstudio-upstream
fix(otrack): allow Extension tracking intersections while preserving point snap priority
This commit is contained in:
1 parent
9a567d4f44
commit
6a767390dd
1 file changed
+13
-4
@@ -1846,7 +1846,12 @@ impl OpenCADStudio {
|
|||||||
|
|
||||||
if axis_lock.is_none()
|
if axis_lock.is_none()
|
||||||
&& otrack_hit.is_none()
|
&& otrack_hit.is_none()
|
||||||
&& !snap_hit.is_some_and(|s| s.snap_type != crate::snap::SnapType::Grid)
|
&& !snap_hit.is_some_and(|s| {
|
||||||
|
!matches!(
|
||||||
|
s.snap_type,
|
||||||
|
crate::snap::SnapType::Grid | crate::snap::SnapType::Extension
|
||||||
|
)
|
||||||
|
})
|
||||||
{
|
{
|
||||||
let base = grip.origin_world;
|
let base = grip.origin_world;
|
||||||
let ucs_xf = self.tabs[i].ucs_xform();
|
let ucs_xf = self.tabs[i].ucs_xform();
|
||||||
@@ -2682,9 +2687,13 @@ impl OpenCADStudio {
|
|||||||
// Otherwise the endpoint glyph can appear at the
|
// Otherwise the endpoint glyph can appear at the
|
||||||
// corner while the preview/accepted point follows the
|
// corner while the preview/accepted point follows the
|
||||||
// tracking line instead.
|
// tracking line instead.
|
||||||
!self.tabs[i]
|
!self.tabs[i].snap_result.is_some_and(|s| {
|
||||||
.snap_result
|
!matches!(
|
||||||
.is_some_and(|s| s.snap_type != crate::snap::SnapType::Grid)
|
s.snap_type,
|
||||||
|
crate::snap::SnapType::Grid
|
||||||
|
| crate::snap::SnapType::Extension
|
||||||
|
)
|
||||||
|
})
|
||||||
}) {
|
}) {
|
||||||
h.aligned
|
h.aligned
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in new issue
Block a user