コード例 #1
0
ファイル: LineSweeperBase.cs プロジェクト: Caliper/MSAGL
        protected RightObstacleSide FindFirstObstacleSideToTheLeftOfPoint(Point point)
        {
            var node =
                RightObstacleSideTree.FindLast(
                    s => Point.PointToTheRightOfLineOrOnLine(point, s.Start, s.End));

            return(node == null ? null : (RightObstacleSide)(node.Item));
        }
コード例 #2
0
ファイル: LineSweeperBase.cs プロジェクト: Caliper/MSAGL
 protected void RemoveRightSide(RightObstacleSide side)
 {
     ObstacleSideComparer.SetOperand(side);
     RightObstacleSideTree.Remove(side);
 }
コード例 #3
0
ファイル: LineSweeperBase.cs プロジェクト: Caliper/MSAGL
 protected void InsertRightSide(RightObstacleSide side)
 {
     ObstacleSideComparer.SetOperand(side);
     RightObstacleSideTree.Insert(side);
 }
コード例 #4
0
 RBNode <SegmentBase> GetActiveSideFromLeft(Point point)
 {
     return(RightObstacleSideTree.FindLast(side =>
                                           PointToTheRightOfLineOrOnLineLocal(point, side.Start, side.End)));
 }