// Token: 0x060004C5 RID: 1221 RVA: 0x000189A8 File Offset: 0x00016BA8
        public static Arc2 Transform(this AffineTransform2 transformer, Arc2 arc)
        {
            Circle2 circle     = transformer.Transform(arc.Circle);
            Angle   startAngle = transformer.Transform(arc.StartAngle);

            return(new Arc2(circle, startAngle, arc.DeltaAngle));
        }
예제 #2
0
        // Token: 0x06000482 RID: 1154 RVA: 0x0001616C File Offset: 0x0001436C
        public static AxisAlignedBox2 ComputeAxisAlignedBoundingBox(this Arc2 arc)
        {
            double minX = arc.Circle.Center.X - arc.Circle.Radius;
            double maxX = arc.Circle.Center.X + arc.Circle.Radius;
            double minY = arc.Circle.Center.Y - arc.Circle.Radius;
            double maxY = arc.Circle.Center.Y + arc.Circle.Radius;

            if (!arc.Contains(Angle.FromDegrees(0.0)))
            {
                maxX = Math.Max(arc.StartPoint.X, arc.EndPoint.X);
            }
            if (!arc.Contains(Angle.FromDegrees(90.0)))
            {
                maxY = Math.Max(arc.StartPoint.Y, arc.EndPoint.Y);
            }
            if (!arc.Contains(Angle.FromDegrees(180.0)))
            {
                minX = Math.Min(arc.StartPoint.X, arc.EndPoint.X);
            }
            if (!arc.Contains(Angle.FromDegrees(270.0)))
            {
                minY = Math.Min(arc.StartPoint.Y, arc.EndPoint.Y);
            }
            return(new AxisAlignedBox2(minX, maxX, minY, maxY));
        }
예제 #3
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);
        }
예제 #4
0
        // Token: 0x06000264 RID: 612 RVA: 0x0000A4B4 File Offset: 0x000086B4
        public static ICollection <Vector2> IntersectionPointsWith(this Arc2 arc, Circle2 circle)
        {
            IntersectionArc2Circle2 intersectionArc2Circle = new IntersectionArc2Circle2(arc, circle);

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

            Vector2[] array = new Vector2[]
            {
                intersectionArc2Circle.Point0,
                intersectionArc2Circle.Point1
            };
            for (int i = 0; i < intersectionArc2Circle.Quantity; i++)
            {
                list.Add(array[i]);
            }
            return(list);
        }
예제 #5
0
 // Token: 0x060002C3 RID: 707 RVA: 0x0000B4C7 File Offset: 0x000096C7
 public IntersectionArc2Arc2(Arc2 arc0, Arc2 arc1)
 {
     this      = default(IntersectionArc2Arc2);
     this.arc0 = arc0;
     this.arc1 = arc1;
 }
예제 #6
0
        // Token: 0x060002CF RID: 719 RVA: 0x0000B860 File Offset: 0x00009A60
        internal static bool Contains(Arc2 arc, Vector2 point)
        {
            Angle pointDirectionAngle = arc.Circle.GetPointDirectionAngle(point);

            return(arc.Contains(pointDirectionAngle));
        }
예제 #7
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());
        }
예제 #8
0
 // Token: 0x06000485 RID: 1157 RVA: 0x00016679 File Offset: 0x00014879
 internal static bool Contains(this Arc2 arc, Angle angle)
 {
     return(ArcExtensionMethods.Contains(arc.StartAngle, arc.DeltaAngle, angle));
 }
예제 #9
0
 // Token: 0x0600026C RID: 620 RVA: 0x0000A5D0 File Offset: 0x000087D0
 public static ICollection <Vector2> IntersectionPointsWith(this Circle2 circle, Arc2 arc)
 {
     return(arc.IntersectionPointsWith(circle));
 }
예제 #10
0
 // Token: 0x06000268 RID: 616 RVA: 0x0000A536 File Offset: 0x00008736
 public static ICollection <Vector2> IntersectionPointsWith(this Arc2 arc, Ray2 ray)
 {
     return(ray.IntersectionPointsWith(arc));
 }
예제 #11
0
 // Token: 0x06000267 RID: 615 RVA: 0x0000A52D File Offset: 0x0000872D
 public static bool Intersects(this Arc2 arc, Ray2 ray)
 {
     return(ray.Intersects(arc));
 }
예제 #12
0
 // Token: 0x06000266 RID: 614 RVA: 0x0000A524 File Offset: 0x00008724
 public static ICollection <Vector2> IntersectionPointsWith(this Arc2 arc, Line2 line)
 {
     return(line.IntersectionPointsWith(arc));
 }
예제 #13
0
 // Token: 0x06000265 RID: 613 RVA: 0x0000A51B File Offset: 0x0000871B
 public static bool Intersects(this Arc2 arc, Line2 line)
 {
     return(line.Intersects(arc));
 }
예제 #14
0
        // Token: 0x06000263 RID: 611 RVA: 0x0000A494 File Offset: 0x00008694
        public static bool Intersects(this Arc2 arc, Circle2 circle)
        {
            IntersectionArc2Circle2 intersectionArc2Circle = new IntersectionArc2Circle2(arc, circle);

            return(intersectionArc2Circle.Find());
        }
예제 #15
0
 // Token: 0x060002B9 RID: 697 RVA: 0x0000B37E File Offset: 0x0000957E
 public IntersectionArc2Circle2(Arc2 arc, Circle2 circle)
 {
     this        = default(IntersectionArc2Circle2);
     this.arc    = arc;
     this.circle = circle;
 }
예제 #16
0
        // Token: 0x06000261 RID: 609 RVA: 0x0000A40C File Offset: 0x0000860C
        public static bool Intersects(this Arc2 arc, Arc2 other)
        {
            IntersectionArc2Arc2 intersectionArc2Arc = new IntersectionArc2Arc2(arc, other);

            return(intersectionArc2Arc.Find());
        }
예제 #17
0
 // Token: 0x0600026B RID: 619 RVA: 0x0000A5C7 File Offset: 0x000087C7
 public static bool Intersects(this Circle2 circle, Arc2 arc)
 {
     return(arc.Intersects(circle));
 }
예제 #18
0
        // Token: 0x0600033B RID: 827 RVA: 0x0000DD6C File Offset: 0x0000BF6C
        public static bool Intersects(this Line2 line, Arc2 arc)
        {
            IntersectionLine2Arc2 intersectionLine2Arc = new IntersectionLine2Arc2(line, arc);

            return(intersectionLine2Arc.Find());
        }
예제 #19
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;
 }
예제 #20
0
 // Token: 0x060002D0 RID: 720 RVA: 0x0000B882 File Offset: 0x00009A82
 public IntersectionLine2Arc2(Line2 line, Arc2 arc)
 {
     this      = default(IntersectionLine2Arc2);
     this.line = line;
     this.arc  = arc;
 }