// Token: 0x060004C9 RID: 1225 RVA: 0x00018A70 File Offset: 0x00016C70
        public static Ray2 Transform(this AffineTransform2 transformer, Ray2 ray)
        {
            Vector2     origin    = transformer.Transform(ray.Origin);
            UnitVector2 direction = transformer.Transform(ray.Direction);

            return(new Ray2(origin, direction));
        }
예제 #2
0
        // Token: 0x06000258 RID: 600 RVA: 0x0000A28C File Offset: 0x0000848C
        public static Vector2?IntersectionWith(this Ray2 ray, Segment2 segment)
        {
            IntersectionRay2Segment2 intersectionRay2Segment = new IntersectionRay2Segment2(ray, segment);

            if (intersectionRay2Segment.Find() && (intersectionRay2Segment.IntersectionType == Intersection.Type.IT_POINT || intersectionRay2Segment.IntersectionType == Intersection.Type.IT_SEGMENT))
            {
                return(new Vector2?(intersectionRay2Segment.Point0));
            }
            return(null);
        }
예제 #3
0
        // Token: 0x0600025C RID: 604 RVA: 0x0000A380 File Offset: 0x00008580
        public static ICollection <Vector2> IntersectionPointsWith(this Ray2 ray, Circle2 circle)
        {
            IntersectionRay2Circle2 intersectionRay2Circle = new IntersectionRay2Circle2(ray, circle);

            intersectionRay2Circle.Find();
            List <Vector2> list = new List <Vector2>();

            Vector2[] array = new Vector2[]
            {
                intersectionRay2Circle.Point0,
                intersectionRay2Circle.Point1
            };
            for (int i = 0; i < intersectionRay2Circle.Quantity; i++)
            {
                list.Add(array[i]);
            }
            return(list);
        }
예제 #4
0
        // Token: 0x0600025A RID: 602 RVA: 0x0000A2F8 File Offset: 0x000084F8
        public static ICollection <Vector2> IntersectionPointsWith(this Ray2 ray, Arc2 arc)
        {
            IntersectionRay2Arc2 intersectionRay2Arc = new IntersectionRay2Arc2(ray, arc);

            intersectionRay2Arc.Find();
            List <Vector2> list = new List <Vector2>();

            Vector2[] array = new Vector2[]
            {
                intersectionRay2Arc.Point0,
                intersectionRay2Arc.Point1
            };
            for (int i = 0; i < intersectionRay2Arc.Quantity; i++)
            {
                list.Add(array[i]);
            }
            return(list);
        }
예제 #5
0
 // Token: 0x06000280 RID: 640 RVA: 0x0000AA19 File Offset: 0x00008C19
 public IntersectionRay2Arc2(Ray2 ray, Arc2 arc)
 {
     this     = default(IntersectionRay2Arc2);
     this.ray = ray;
     this.arc = arc;
 }
예제 #6
0
 // Token: 0x06000270 RID: 624 RVA: 0x0000A5F4 File Offset: 0x000087F4
 public static ICollection <Vector2> IntersectionPointsWith(this Circle2 circle, Ray2 ray)
 {
     return(ray.IntersectionPointsWith(circle));
 }
예제 #7
0
 // Token: 0x0600026F RID: 623 RVA: 0x0000A5EB File Offset: 0x000087EB
 public static bool Intersects(this Circle2 circle, Ray2 ray)
 {
     return(ray.Intersects(circle));
 }
예제 #8
0
 // Token: 0x06000294 RID: 660 RVA: 0x0000AD0E File Offset: 0x00008F0E
 public IntersectionRay2Segment2(Ray2 ray, Segment2 segment)
 {
     this         = default(IntersectionRay2Segment2);
     this.ray     = ray;
     this.segment = segment;
 }
예제 #9
0
 // Token: 0x0600028A RID: 650 RVA: 0x0000AB92 File Offset: 0x00008D92
 public IntersectionRay2Circle2(Ray2 ray, Circle2 circle)
 {
     this        = default(IntersectionRay2Circle2);
     this.ray    = ray;
     this.circle = circle;
 }
예제 #10
0
        // Token: 0x06000257 RID: 599 RVA: 0x0000A26C File Offset: 0x0000846C
        public static bool Intersects(this Ray2 ray, Segment2 segment)
        {
            IntersectionRay2Segment2 intersectionRay2Segment = new IntersectionRay2Segment2(ray, segment);

            return(intersectionRay2Segment.Find());
        }
예제 #11
0
        // Token: 0x0600025B RID: 603 RVA: 0x0000A360 File Offset: 0x00008560
        public static bool Intersects(this Ray2 ray, Circle2 circle)
        {
            IntersectionRay2Circle2 intersectionRay2Circle = new IntersectionRay2Circle2(ray, circle);

            return(intersectionRay2Circle.Find());
        }
예제 #12
0
        // Token: 0x06000259 RID: 601 RVA: 0x0000A2D8 File Offset: 0x000084D8
        public static bool Intersects(this Ray2 ray, Arc2 arc)
        {
            IntersectionRay2Arc2 intersectionRay2Arc = new IntersectionRay2Arc2(ray, arc);

            return(intersectionRay2Arc.Find());
        }
예제 #13
0
 // Token: 0x06000268 RID: 616 RVA: 0x0000A536 File Offset: 0x00008736
 public static ICollection <Vector2> IntersectionPointsWith(this Arc2 arc, Ray2 ray)
 {
     return(ray.IntersectionPointsWith(arc));
 }
예제 #14
0
 // Token: 0x06000267 RID: 615 RVA: 0x0000A52D File Offset: 0x0000872D
 public static bool Intersects(this Arc2 arc, Ray2 ray)
 {
     return(ray.Intersects(arc));
 }
예제 #15
0
 // Token: 0x060003EC RID: 1004 RVA: 0x00011A70 File Offset: 0x0000FC70
 public static Vector2?IntersectionWith(this Segment2 segment, Ray2 ray)
 {
     return(ray.IntersectionWith(segment));
 }
예제 #16
0
 // Token: 0x060003EB RID: 1003 RVA: 0x00011A67 File Offset: 0x0000FC67
 public static bool Intersects(this Segment2 segment, Ray2 ray)
 {
     return(ray.Intersects(segment));
 }