// Token: 0x060004C3 RID: 1219 RVA: 0x00018960 File Offset: 0x00016B60 public static Circle2 Transform(this AffineTransform2 transformer, Circle2 circle) { return(new Circle2(transformer.Transform(circle.Center), circle.Radius * transformer.Scale)); }
// 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: 0x0600028A RID: 650 RVA: 0x0000AB92 File Offset: 0x00008D92 public IntersectionRay2Circle2(Ray2 ray, Circle2 circle) { this = default(IntersectionRay2Circle2); this.ray = ray; this.circle = circle; }
// Token: 0x060002CE RID: 718 RVA: 0x0000B534 File Offset: 0x00009734 public bool Find() { this.Quantity = 0; Circle2 circle = this.arc0.Circle; Circle2 circle2 = this.arc1.Circle; IntersectionCircle2Circle2 intersectionCircle2Circle = new IntersectionCircle2Circle2(circle, circle2); if (!intersectionCircle2Circle.Find()) { this.IntersectionType = Intersection.Type.IT_EMPTY; return(false); } if (intersectionCircle2Circle.IntersectionType != Intersection.Type.IT_OTHER) { Vector2[] array = new Vector2[] { intersectionCircle2Circle.Point0, intersectionCircle2Circle.Point1 }; for (int i = 0; i < intersectionCircle2Circle.Quantity; i++) { if (IntersectionArc2Arc2.Contains(this.arc0, array[i]) && IntersectionArc2Arc2.Contains(this.arc1, array[i])) { int quantity = this.Quantity; this.Quantity = quantity + 1; if (quantity == 0) { this.Point0 = array[i]; } else { this.Point1 = array[i]; } } } this.IntersectionType = ((this.Quantity > 0) ? Intersection.Type.IT_POINT : Intersection.Type.IT_EMPTY); return(this.IntersectionType > Intersection.Type.IT_EMPTY); } if (IntersectionArc2Arc2.Contains(this.arc1, this.arc0.StartPoint)) { if (IntersectionArc2Arc2.Contains(this.arc1, this.arc0.EndPoint)) { this.IntersectionType = Intersection.Type.IT_OTHER; this.IntersectionArc = this.arc0; } else if (!this.arc0.StartPoint.Equals(this.arc1.EndPoint)) { this.IntersectionType = Intersection.Type.IT_OTHER; this.IntersectionArc = new Arc2(this.arc0.Circle, this.arc0.StartAngle, this.arc1.StartAngle + this.arc1.DeltaAngle - this.arc0.StartAngle); } else { this.IntersectionType = Intersection.Type.IT_POINT; this.Quantity = 1; this.Point0 = this.arc0.StartPoint; } return(true); } if (IntersectionArc2Arc2.Contains(this.arc1, this.arc0.EndPoint)) { if (!this.arc0.EndPoint.Equals(this.arc1.StartPoint)) { this.IntersectionType = Intersection.Type.IT_OTHER; this.IntersectionArc = new Arc2(this.arc0.Circle, this.arc1.StartAngle, this.arc0.StartAngle + this.arc0.DeltaAngle - this.arc1.StartAngle); } else { this.IntersectionType = Intersection.Type.IT_POINT; this.Quantity = 1; this.Point0 = this.arc1.StartPoint; } return(true); } if (IntersectionArc2Arc2.Contains(this.arc0, this.arc1.StartPoint)) { this.IntersectionType = Intersection.Type.IT_OTHER; this.IntersectionArc = this.arc1; return(true); } this.IntersectionType = Intersection.Type.IT_EMPTY; return(false); }
// 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()); }
/// <summary> /// 线和圆形相交 /// </summary> /// <param name="line"></param> /// <param name="circle"></param> /// <returns></returns> public static bool Intersects(this Line2 line, Circle2 circle) { IntersectionLine2Circle2 intersectionLine2Circle = new IntersectionLine2Circle2(line, circle); return(intersectionLine2Circle.Find()); }
// 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: 0x060002F4 RID: 756 RVA: 0x0000BDDB File Offset: 0x00009FDB public IntersectionCircle2Circle2(Circle2 circle0, Circle2 circle1) { this = default(IntersectionCircle2Circle2); this.circle0 = circle0; this.circle1 = circle1; }
// Token: 0x060002E5 RID: 741 RVA: 0x0000BBE9 File Offset: 0x00009DE9 public IntersectionLine2Circle2(Line2 line, Circle2 circle) { this = default(IntersectionLine2Circle2); this.line = line; this.circle = circle; }