// 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)); }
// 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)); }
// 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); }
// 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); }
// Token: 0x060002C3 RID: 707 RVA: 0x0000B4C7 File Offset: 0x000096C7 public IntersectionArc2Arc2(Arc2 arc0, Arc2 arc1) { this = default(IntersectionArc2Arc2); this.arc0 = arc0; this.arc1 = arc1; }
// 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)); }
// 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()); }
// 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)); }
// Token: 0x0600026C RID: 620 RVA: 0x0000A5D0 File Offset: 0x000087D0 public static ICollection <Vector2> IntersectionPointsWith(this Circle2 circle, Arc2 arc) { return(arc.IntersectionPointsWith(circle)); }
// Token: 0x06000268 RID: 616 RVA: 0x0000A536 File Offset: 0x00008736 public static ICollection <Vector2> IntersectionPointsWith(this Arc2 arc, Ray2 ray) { return(ray.IntersectionPointsWith(arc)); }
// Token: 0x06000267 RID: 615 RVA: 0x0000A52D File Offset: 0x0000872D public static bool Intersects(this Arc2 arc, Ray2 ray) { return(ray.Intersects(arc)); }
// Token: 0x06000266 RID: 614 RVA: 0x0000A524 File Offset: 0x00008724 public static ICollection <Vector2> IntersectionPointsWith(this Arc2 arc, Line2 line) { return(line.IntersectionPointsWith(arc)); }
// Token: 0x06000265 RID: 613 RVA: 0x0000A51B File Offset: 0x0000871B public static bool Intersects(this Arc2 arc, Line2 line) { return(line.Intersects(arc)); }
// 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()); }
// Token: 0x060002B9 RID: 697 RVA: 0x0000B37E File Offset: 0x0000957E public IntersectionArc2Circle2(Arc2 arc, Circle2 circle) { this = default(IntersectionArc2Circle2); this.arc = arc; this.circle = circle; }
// 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()); }
// Token: 0x0600026B RID: 619 RVA: 0x0000A5C7 File Offset: 0x000087C7 public static bool Intersects(this Circle2 circle, Arc2 arc) { return(arc.Intersects(circle)); }
// 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()); }
// Token: 0x06000280 RID: 640 RVA: 0x0000AA19 File Offset: 0x00008C19 public IntersectionRay2Arc2(Ray2 ray, Arc2 arc) { this = default(IntersectionRay2Arc2); this.ray = ray; this.arc = arc; }
// Token: 0x060002D0 RID: 720 RVA: 0x0000B882 File Offset: 0x00009A82 public IntersectionLine2Arc2(Line2 line, Arc2 arc) { this = default(IntersectionLine2Arc2); this.line = line; this.arc = arc; }