private static bool Inside(Point2D p0, Edge edge)
{
if (edge.IsHorisontal)
{
if (edge.IsLeft)
{
return (p0.Y > edge.Value);//bottom
}
return (p0.Y < edge.Value);//top
}
if (edge.IsLeft)
{
return (p0.X > edge.Value);//left
}
return (p0.X < edge.Value);//right
}