コード例 #1
0
ファイル: Line.cs プロジェクト: nesterd/IsPointInPolygon
        public bool IsCrossedByLine(Line line, out CrossPoint crossPoint)
        {
            crossPoint = null;
            if (IsParallelWithLine(line))
            {
                return(false);
            }

            crossPoint = GetCrossPointWithLine(line);

            return(IsCrossPointInLine(crossPoint) && line.IsCrossPointInLine(crossPoint));
        }
コード例 #2
0
ファイル: Line.cs プロジェクト: nesterd/IsPointInPolygon
 bool IsCrossPointInLineOY(CrossPoint crossPoint)
 {
     return(crossPoint.Y <= _pointStart.Y && crossPoint.Y >= _pointEnd.Y || crossPoint.Y >= _pointStart.Y && crossPoint.Y <= _pointEnd.Y);
 }
コード例 #3
0
ファイル: Line.cs プロジェクト: nesterd/IsPointInPolygon
 bool IsCrossPointInLineOX(CrossPoint crossPoint)
 {
     return(crossPoint.X <= _pointStart.X && crossPoint.X >= _pointEnd.X || crossPoint.X >= _pointStart.X && crossPoint.X <= _pointEnd.X);
 }
コード例 #4
0
ファイル: Line.cs プロジェクト: nesterd/IsPointInPolygon
 bool IsCrossPointInLine(CrossPoint crossPoint)
 {
     return(IsCrossPointInLineOX(crossPoint) && IsCrossPointInLineOY(crossPoint));
 }