Skip to content

Commit 539daf1

Browse files
gregmeessrms80
authored andcommitted
Add optional offset parameter to Snapping methodsw
1 parent 190c59f commit 539daf1

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

Diff for: core/Snapping.cs

+7-6
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@ namespace g3
55
public class Snapping
66
{
77

8-
public static double SnapToIncrement(double fValue, double fIncrement)
8+
public static double SnapToIncrement(double fValue, double fIncrement, double offset = 0)
99
{
1010
if (!MathUtil.IsFinite(fValue))
1111
return 0;
12+
fValue -= offset;
1213
double sign = Math.Sign(fValue);
1314
fValue = Math.Abs(fValue);
1415
int nInc = (int)(fValue / fIncrement);
1516
double fRem = fValue % fIncrement;
1617
if (fRem > fIncrement / 2)
1718
++nInc;
18-
return sign * (double)nInc * fIncrement;
19+
return sign * (double)nInc * fIncrement + offset;
1920
}
2021

2122

@@ -46,14 +47,14 @@ private static double SnapToIncrementSigned(double fValue, double fIncrement, bo
4647

4748
}
4849

49-
public static double SnapToIncrementLow(double fValue, double fIncrement)
50+
public static double SnapToIncrementLow(double fValue, double fIncrement, double offset=0)
5051
{
51-
return SnapToIncrementSigned(fValue, fIncrement, true);
52+
return SnapToIncrementSigned(fValue - offset, fIncrement, true) + offset;
5253
}
5354

54-
public static double SnapToIncrementHigh(double fValue, double fIncrement)
55+
public static double SnapToIncrementHigh(double fValue, double fIncrement, double offset = 0)
5556
{
56-
return SnapToIncrementSigned(fValue, fIncrement, false);
57+
return SnapToIncrementSigned(fValue - offset, fIncrement, false) + offset;
5758
}
5859
}
5960
}

0 commit comments

Comments
 (0)