public static bool IsPointInPolyline(Point2d[] polypointarray, Point2d mycurrentpoint)
{
var calc = polypointarray.Skip(1).Select((p, i) => (mycurrentpoint.Y - polypointarray[i].Y) * (p.X - polypointarray[i].X) - (mycurrentpoint.X - polypointarray[i].X) * (p.Y - polypointarray[i].Y)).ToList();
if (calc.Any(p => p == 0))
{
return true;
}
for (int i = 1; i < calc.Count(); i++)
{
if (calc[i] * calc[i - 1] < 0)
{
return false;
}
}
return true;
}