示例#1
0
        // Token: 0x06000024 RID: 36 RVA: 0x000026B0 File Offset: 0x000008B0
        public static Segment3 ShortestSegmentTo(this Arc3 arc3, Ray3 ray3)
        {
            Line3             line             = new Line3(ray3.Origin, ray3.Direction);
            DistanceLine3Arc3 distanceLine3Arc = new DistanceLine3Arc3(line, arc3);

            if (distanceLine3Arc.LineParameter < 0.0)
            {
                return(arc3.ShortestSegmentTo(ray3.Origin));
            }
            return(new Segment3(distanceLine3Arc.ClosestPointOnArc, distanceLine3Arc.ClosestPointOnLine));
        }
示例#2
0
        // Token: 0x06000023 RID: 35 RVA: 0x0000265C File Offset: 0x0000085C
        public static Vector3 ClosestPointTo(this Arc3 arc3, Ray3 ray3)
        {
            Line3             line             = new Line3(ray3.Origin, ray3.Direction);
            DistanceLine3Arc3 distanceLine3Arc = new DistanceLine3Arc3(line, arc3);

            if (distanceLine3Arc.LineParameter < 0.0)
            {
                return(arc3.ClosestPointTo(ray3.Origin));
            }
            return(distanceLine3Arc.ClosestPointOnArc);
        }
示例#3
0
        // Token: 0x06000130 RID: 304 RVA: 0x0000658C File Offset: 0x0000478C
        public static double DistanceTo(this Ray3 ray3, Arc3 arc3)
        {
            Line3             line             = new Line3(ray3.Origin, ray3.Direction);
            DistanceLine3Arc3 distanceLine3Arc = new DistanceLine3Arc3(line, arc3);

            if (distanceLine3Arc.LineParameter < 0.0)
            {
                return(ray3.Origin.DistanceTo(arc3));
            }
            return(distanceLine3Arc.Distance);
        }
示例#4
0
        // Token: 0x06000026 RID: 38 RVA: 0x000027A8 File Offset: 0x000009A8
        public static Vector3 ClosestPointTo(this Arc3 arc3, Segment3 segment3)
        {
            Line3             line             = new Line3(segment3.NegativeEnd, segment3.Direction);
            DistanceLine3Arc3 distanceLine3Arc = new DistanceLine3Arc3(line, arc3);

            if (distanceLine3Arc.LineParameter < 0.0)
            {
                return(arc3.ClosestPointTo(segment3.NegativeEnd));
            }
            Line3             line2             = new Line3(segment3.PositiveEnd, -segment3.Direction);
            DistanceLine3Arc3 distanceLine3Arc2 = new DistanceLine3Arc3(line2, arc3);

            if (distanceLine3Arc2.LineParameter < 0.0)
            {
                return(arc3.ClosestPointTo(segment3.PositiveEnd));
            }
            return(distanceLine3Arc2.ClosestPointOnArc);
        }
示例#5
0
        // Token: 0x06000021 RID: 33 RVA: 0x00002628 File Offset: 0x00000828
        public static Segment3 ShortestSegmentTo(this Arc3 arc3, Line3 line3)
        {
            DistanceLine3Arc3 distanceLine3Arc = new DistanceLine3Arc3(line3, arc3);

            return(new Segment3(distanceLine3Arc.ClosestPointOnArc, distanceLine3Arc.ClosestPointOnLine));
        }
示例#6
0
        // Token: 0x06000020 RID: 32 RVA: 0x00002608 File Offset: 0x00000808
        public static Vector3 ClosestPointTo(this Arc3 arc3, Line3 line3)
        {
            DistanceLine3Arc3 distanceLine3Arc = new DistanceLine3Arc3(line3, arc3);

            return(distanceLine3Arc.ClosestPointOnArc);
        }
示例#7
0
        // Token: 0x060000A1 RID: 161 RVA: 0x00003C00 File Offset: 0x00001E00
        public static double DistanceTo(this Line3 line3, Arc3 arc3)
        {
            DistanceLine3Arc3 distanceLine3Arc = new DistanceLine3Arc3(line3, arc3);

            return(distanceLine3Arc.Distance);
        }