Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geometry_Engine: Tolerance introduced to the check of 2-dimensionality of the input point set #3293

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Geometry_Engine/Compute/FitLine.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ public static partial class Compute
/**** Public Methods ****/
/***************************************************/

[Description("Fits a line into a set of points using Orthogonal Least Squares algorithm.")]
[Description("Fits a line into a set of points using Orthogonal Least Squares algorithm. Returns null if the number of non-coincident (within tolerance) points is less than two.")]
[Input("points", "Points into which the line is meant to be fit.")]
[Input("tolerance", "Distance tolerance to be used in the process of fitting.")]
[Input("tolerance", "Distance tolerance to be used to check whether a line can be fit into the input points (i.e. whether the points are not coincident).")]
[Output("fitLine", "Line fit into the input set of points based on the Orthogonal Least Squares algorithm.")]
public static Line FitLine(this IEnumerable<Point> points, double tolerance = Tolerance.Distance)
{
List<Point> asList = points.ToList();
int n = asList.Count;
if (n < 2)
if (asList.CullDuplicates(tolerance).Count < 2)
return null;

Point C = points.Average();
Expand Down