コード例 #1
0
 internal RightIntersectionEvent(ConeRightSide coneRightSide,
                                 Point intersectionPoint, PolylinePoint endVertex)
 {
     this.coneRightSide     = coneRightSide;
     this.intersectionPoint = intersectionPoint;
     this.endVertex         = endVertex;
 }
コード例 #2
0
 RightIntersectionEvent CreateRightIntersectionEvent(ConeRightSide coneRightSide, Point intersection,
                                                     PolylinePoint obstacleSideVertex)
 {
     Debug.Assert(Math.Abs((obstacleSideVertex.Point - intersection) * SweepDirection) >
                  ApproximateComparer.DistanceEpsilon);
     return(new RightIntersectionEvent(coneRightSide,
                                       intersection, obstacleSideVertex));
 }
コード例 #3
0
        void TryIntersectionOfConeRightSideAndObstacleSide(ConeRightSide coneRightSide, ObstacleSide side)
        {
            Point x;

            if (Point.IntervalIntersectsRay(side.Start, side.End, coneRightSide.Start,
                                            coneRightSide.Direction, out x))
            {
                EnqueueEvent(CreateRightIntersectionEvent(coneRightSide, x, side.EndVertex));
                //Show(CurveFactory.CreateDiamond(3, 3, x));
            }
        }
コード例 #4
0
 internal RightIntersectionEvent(ConeRightSide coneRightSide,
     Point intersectionPoint, PolylinePoint endVertex) {
     this.coneRightSide = coneRightSide;
     this.intersectionPoint = intersectionPoint;
     this.endVertex = endVertex;
 }
コード例 #5
0
 void TryIntersectionOfConeRightSideAndObstacleSide(ConeRightSide coneRightSide, ObstacleSide side) {
     Point x;
     if (Point.IntervalIntersectsRay(side.Start, side.End, coneRightSide.Start,
                                     coneRightSide.Direction, out x)) {
         EnqueueEvent(CreateRightIntersectionEvent(coneRightSide, x, side.EndVertex));
         //Show(CurveFactory.CreateDiamond(3, 3, x));
     }
 }
コード例 #6
0
 RightIntersectionEvent CreateRightIntersectionEvent(ConeRightSide coneRightSide, Point intersection,
                                                     PolylinePoint obstacleSideVertex) {
     Debug.Assert(Math.Abs((obstacleSideVertex.Point - intersection) * SweepDirection) > 0);
     return new RightIntersectionEvent(coneRightSide,
                                       intersection, obstacleSideVertex);
 }
 RightIntersectionEvent CreateRightIntersectionEvent(ConeRightSide coneRightSide, Point intersection,
                                                     PolylinePoint obstacleSideVertex) {
     Debug.Assert(Math.Abs((obstacleSideVertex.Point - intersection)*SweepDirection) >
                  ApproximateComparer.DistanceEpsilon);
     return new RightIntersectionEvent(coneRightSide,
                                       intersection, obstacleSideVertex);
 }