Example #1
0
        // Token: 0x0600003E RID: 62 RVA: 0x00002B90 File Offset: 0x00000D90
        public static Segment3 ShortestSegmentTo(this Circle3 circle3, Ray3 ray3)
        {
            Line3 line = new Line3(ray3.Origin, ray3.Direction);
            DistanceLine3Circle3 distanceLine3Circle = new DistanceLine3Circle3(line, circle3);

            if (distanceLine3Circle.LineParameter < 0.0)
            {
                return(circle3.ShortestSegmentTo(ray3.Origin));
            }
            return(new Segment3(distanceLine3Circle.ClosestPointOnCircle, distanceLine3Circle.ClosestPointOnLine));
        }
Example #2
0
        // Token: 0x0600003D RID: 61 RVA: 0x00002B3C File Offset: 0x00000D3C
        public static Vector3 ClosestPointTo(this Circle3 circle3, Ray3 ray3)
        {
            Line3 line = new Line3(ray3.Origin, ray3.Direction);
            DistanceLine3Circle3 distanceLine3Circle = new DistanceLine3Circle3(line, circle3);

            if (distanceLine3Circle.LineParameter < 0.0)
            {
                return(circle3.ClosestPointTo(ray3.Origin));
            }
            return(distanceLine3Circle.ClosestPointOnCircle);
        }
Example #3
0
        // Token: 0x0600012D RID: 301 RVA: 0x0000648C File Offset: 0x0000468C
        public static double DistanceTo(this Ray3 ray3, Circle3 circle3)
        {
            Line3 line = new Line3(ray3.Origin, ray3.Direction);
            DistanceLine3Circle3 distanceLine3Circle = new DistanceLine3Circle3(line, circle3);

            if (distanceLine3Circle.LineParameter < 0.0)
            {
                return(ray3.Origin.DistanceTo(circle3));
            }
            return(distanceLine3Circle.Distance);
        }
        // Token: 0x060000B6 RID: 182 RVA: 0x00004C18 File Offset: 0x00002E18
        public DistanceLine3Circle3(Line3 line, Circle3 circle)
        {
            this = default(DistanceLine3Circle3);
            IEnumerable <double> polynomialRoots = DistanceLine3Circle3.GetPolynomialRoots(line, circle);
            double num = double.MaxValue;

            foreach (double num2 in polynomialRoots)
            {
                Vector3 vector = line.Origin + num2 * line.Direction;
                DistanceVector3Circle3 distanceVector3Circle = new DistanceVector3Circle3(vector, circle);
                double squaredDistance = distanceVector3Circle.SquaredDistance;
                if (squaredDistance < num)
                {
                    num = squaredDistance;
                    this.ClosestPointOnLine   = distanceVector3Circle.ClosestPointOnVector;
                    this.ClosestPointOnCircle = distanceVector3Circle.ClosestPointOnCircle;
                    this.LineParameter        = num2;
                }
            }
            this.SquaredDistance = num;
        }
Example #5
0
        // Token: 0x060000A0 RID: 160 RVA: 0x00003BD4 File Offset: 0x00001DD4
        public static Segment3 ShortestSegmentTo(this Line3 line3, Circle3 circle3)
        {
            DistanceLine3Circle3 distanceLine3Circle = new DistanceLine3Circle3(line3, circle3);

            return(new Segment3(distanceLine3Circle.ClosestPointOnLine, distanceLine3Circle.ClosestPointOnCircle));
        }
Example #6
0
        // Token: 0x0600009F RID: 159 RVA: 0x00003BB4 File Offset: 0x00001DB4
        public static Vector3 ClosestPointTo(this Line3 line3, Circle3 circle3)
        {
            DistanceLine3Circle3 distanceLine3Circle = new DistanceLine3Circle3(line3, circle3);

            return(distanceLine3Circle.ClosestPointOnLine);
        }
Example #7
0
        // Token: 0x0600009E RID: 158 RVA: 0x00003B94 File Offset: 0x00001D94
        public static double DistanceTo(this Line3 line3, Circle3 circle3)
        {
            DistanceLine3Circle3 distanceLine3Circle = new DistanceLine3Circle3(line3, circle3);

            return(distanceLine3Circle.Distance);
        }