// Token: 0x060003E8 RID: 1000 RVA: 0x000118EC File Offset: 0x0000FAEC public static bool Intersects(this Segment2 segment, AxisAlignedBox2 axisAlignedBox) { Box2 box = new Box2(axisAlignedBox.Center, UnitVector2.UnitX, UnitVector2.UnitY, axisAlignedBox.ExtentX, axisAlignedBox.ExtentY); IntersectionSegment2Box2 intersectionSegment2Box = new IntersectionSegment2Box2(segment, box, true); return(intersectionSegment2Box.Test()); }
// Token: 0x0600033D RID: 829 RVA: 0x0000DDAC File Offset: 0x0000BFAC public static bool Intersects(this Line2 line, AxisAlignedBox2 axisAlignedBox) { Box2 box = new Box2(axisAlignedBox.Center, UnitVector2.UnitX, UnitVector2.UnitY, axisAlignedBox.ExtentX, axisAlignedBox.ExtentY); IntersectionLine2Box2 intersectionLine2Box = new IntersectionLine2Box2(line, box); return(intersectionLine2Box.Test()); }
// Token: 0x0600030D RID: 781 RVA: 0x0000C5D4 File Offset: 0x0000A7D4 public bool Find(out AxisAlignedBox2 intersection) { if (this.box0.MaxX < this.box1.MinX || this.box0.MinX > this.box1.MaxX) { intersection = new AxisAlignedBox2(0.0, 0.0, 0.0, 0.0); return(false); } if (this.box0.MaxY < this.box1.MinY || this.box0.MinY > this.box1.MaxY) { intersection = new AxisAlignedBox2(0.0, 0.0, 0.0, 0.0); return(false); } double maxX; if (this.box0.MaxX <= this.box1.MaxX) { maxX = this.box0.MaxX; } else { maxX = this.box1.MaxX; } double minX; if (this.box0.MinX <= this.box1.MinX) { minX = this.box1.MinX; } else { minX = this.box0.MinX; } double maxY; if (this.box0.MaxY <= this.box1.MaxY) { maxY = this.box0.MaxY; } else { maxY = this.box1.MaxY; } double minY; if (this.box0.MinY <= this.box1.MinY) { minY = this.box1.MinY; } else { minY = this.box0.MinY; } intersection = new AxisAlignedBox2(minX, maxX, minY, maxY); return(true); }
// Token: 0x06000302 RID: 770 RVA: 0x0000C430 File Offset: 0x0000A630 public static AxisAlignedBox2?IntersectionWith(this AxisAlignedBox2 axisAlignedBox, AxisAlignedBox2 other) { IntersectionAxisAlignedBox2AxisAlignedBox2 intersectionAxisAlignedBox2AxisAlignedBox = new IntersectionAxisAlignedBox2AxisAlignedBox2(axisAlignedBox, other); AxisAlignedBox2 value; if (intersectionAxisAlignedBox2AxisAlignedBox.Find(out value)) { return(new AxisAlignedBox2?(value)); } return(null); }
/// <summary> /// /// </summary> /// <param name="line"></param> /// <param name="axisAlignedBox"></param> /// <returns></returns> public static Segment2?IntersectionWith(this Line2 line, AxisAlignedBox2 axisAlignedBox) { Box2 box = new Box2(axisAlignedBox.Center, UnitVector2.UnitX, UnitVector2.UnitY, axisAlignedBox.ExtentX, axisAlignedBox.ExtentY); IntersectionLine2Box2 intersectionLine2Box = new IntersectionLine2Box2(line, box); bool flag = intersectionLine2Box.Find(); if (flag && intersectionLine2Box.IntersectionType == Intersection.Type.IT_SEGMENT) { return(new Segment2?(new Segment2(intersectionLine2Box.Point0, intersectionLine2Box.Point1))); } if (flag && intersectionLine2Box.IntersectionType == Intersection.Type.IT_POINT) { return(new Segment2?(new Segment2(intersectionLine2Box.Point0, line.Direction, 0.0))); } return(null); }
// Token: 0x060004BC RID: 1212 RVA: 0x000185FC File Offset: 0x000167FC public static AxisAlignedBox2 Transform(this AffineTransform2 transformer, AxisAlignedBox2 input) { Vector2 vector = transformer.Transform(input.Center - input.Extents); Vector2 vector2 = vector; foreach (Vector2 right in new List <Vector2> { new Vector2(input.ExtentX, -input.ExtentY), new Vector2(-input.ExtentX, input.ExtentY), new Vector2(input.ExtentX, input.ExtentY) }) { Vector2 value = transformer.Transform(input.Center + right); vector = Vector2.Min(vector, value); vector2 = Vector2.Max(vector2, value); } return(new AxisAlignedBox2(vector, vector2)); }
/// <summary> /// /// </summary> /// <param name="line"></param> /// <param name="axisAlignedBox"></param> /// <returns></returns> public static ICollection <Vector2> IntersectionPointsWith(this Line2 line, AxisAlignedBox2 axisAlignedBox) { Box2 box = new Box2(axisAlignedBox.Center, UnitVector2.UnitX, UnitVector2.UnitY, axisAlignedBox.ExtentX, axisAlignedBox.ExtentY); IntersectionLine2Box2 intersectionLine2Box = new IntersectionLine2Box2(line, box); intersectionLine2Box.Find(); List <Vector2> list = new List <Vector2>(); Vector2[] array = new Vector2[] { intersectionLine2Box.Point0, intersectionLine2Box.Point1 }; for (int i = 0; i < intersectionLine2Box.Quantity; i++) { list.Add(array[i]); } return(list); }
// Token: 0x06000301 RID: 769 RVA: 0x0000C410 File Offset: 0x0000A610 public static bool Intersects(this AxisAlignedBox2 axisAlignedBox, AxisAlignedBox2 other) { IntersectionAxisAlignedBox2AxisAlignedBox2 intersectionAxisAlignedBox2AxisAlignedBox = new IntersectionAxisAlignedBox2AxisAlignedBox2(axisAlignedBox, other); return(intersectionAxisAlignedBox2AxisAlignedBox.Test()); }
// Token: 0x06000308 RID: 776 RVA: 0x0000C48E File Offset: 0x0000A68E public static ICollection <Vector2> IntersectionPointsWith(this AxisAlignedBox2 axisAlignedBox, Line2 line) { return(line.IntersectionPointsWith(axisAlignedBox)); }
// Token: 0x06000307 RID: 775 RVA: 0x0000C485 File Offset: 0x0000A685 public static Segment2?IntersectionWith(this AxisAlignedBox2 axisAlignedBox, Line2 line) { return(line.IntersectionWith(axisAlignedBox)); }
// Token: 0x06000306 RID: 774 RVA: 0x0000C47C File Offset: 0x0000A67C public static bool Intersects(this AxisAlignedBox2 axisAlignedBox, Line2 line) { return(line.Intersects(axisAlignedBox)); }
// Token: 0x06000305 RID: 773 RVA: 0x0000C473 File Offset: 0x0000A673 public static ICollection <Vector2> IntersectionPointsWith(this AxisAlignedBox2 axisAlignedBox, Segment2 segment) { return(segment.IntersectionPointsWith(axisAlignedBox)); }
// Token: 0x06000304 RID: 772 RVA: 0x0000C46A File Offset: 0x0000A66A public static Segment2?IntersectionWith(this AxisAlignedBox2 axisAlignedBox, Segment2 segment) { return(segment.IntersectionWith(axisAlignedBox)); }
// Token: 0x06000478 RID: 1144 RVA: 0x00015CC2 File Offset: 0x00013EC2 public static bool IsInsideOf(this AxisAlignedBox2 axisAlignedBox2, Segment2 segment2) { return(axisAlignedBox2.IsInsideOf(segment2.NegativeEnd) && axisAlignedBox2.IsInsideOf(segment2.PositiveEnd)); }
// Token: 0x06000479 RID: 1145 RVA: 0x00015CE2 File Offset: 0x00013EE2 public static bool IsInsideOf(this AxisAlignedBox2 axisAlignedBox2, Vector2 vector2) { //vector2 - axisAlignedBox2.Center; return(Math.Abs(vector2.X) < axisAlignedBox2.ExtentX && Math.Abs(vector2.Y) < axisAlignedBox2.ExtentY); }
// Token: 0x06000303 RID: 771 RVA: 0x0000C461 File Offset: 0x0000A661 public static bool Intersects(this AxisAlignedBox2 axisAlignedBox, Segment2 segment) { return(segment.Intersects(axisAlignedBox)); }
// Token: 0x06000309 RID: 777 RVA: 0x0000C497 File Offset: 0x0000A697 public IntersectionAxisAlignedBox2AxisAlignedBox2(AxisAlignedBox2 box0, AxisAlignedBox2 box1) { this.box0 = box0; this.box1 = box1; }
// Token: 0x0600047A RID: 1146 RVA: 0x00015D20 File Offset: 0x00013F20 public static AxisAlignedBox2 CreateMergedWith(this AxisAlignedBox2 axisAlignedBox2, AxisAlignedBox2 other) { return(new AxisAlignedBox2((axisAlignedBox2.MinX < other.MinX) ? axisAlignedBox2.MinX : other.MinX, (axisAlignedBox2.MaxX > other.MaxX) ? axisAlignedBox2.MaxX : other.MaxX, (axisAlignedBox2.MinY < other.MinY) ? axisAlignedBox2.MinY : other.MinY, (axisAlignedBox2.MaxY > other.MaxY) ? axisAlignedBox2.MaxY : other.MaxY)); }