// Token: 0x060004CA RID: 1226 RVA: 0x00018AA0 File Offset: 0x00016CA0
        public static Segment3 Transform(this AffineTransform3 transformer, Segment3 segment)
        {
            Vector3     origin    = transformer.Transform(segment.Origin);
            UnitVector3 direction = transformer.Transform(segment.Direction);

            return(new Segment3(origin, direction, transformer.Scale * segment.Extent));
        }
        // Token: 0x060004CC RID: 1228 RVA: 0x00018B20 File Offset: 0x00016D20
        public static Plane3 Transform(this AffineTransform3 transformer, Plane3 plane)
        {
            UnitVector3 planeNormal     = transformer.Transform(plane.Normal);
            Vector3     pointOnThePlane = transformer.Transform(plane.Normal * plane.Constant);

            return(new Plane3(planeNormal, pointOnThePlane));
        }
        // Token: 0x060004C6 RID: 1222 RVA: 0x000189E0 File Offset: 0x00016BE0
        public static Line3 Transform(this AffineTransform3 transformer, Line3 line)
        {
            Vector3     origin    = transformer.Transform(line.Origin);
            UnitVector3 direction = transformer.Transform(line.Direction);

            return(new Line3(origin, direction));
        }
        // Token: 0x060004C8 RID: 1224 RVA: 0x00018A40 File Offset: 0x00016C40
        public static Ray3 Transform(this AffineTransform3 transformer, Ray3 ray)
        {
            Vector3     origin    = transformer.Transform(ray.Origin);
            UnitVector3 direction = transformer.Transform(ray.Direction);

            return(new Ray3(origin, direction));
        }
        // Token: 0x060004C2 RID: 1218 RVA: 0x000188F8 File Offset: 0x00016AF8
        public static Circle3 Transform(this AffineTransform3 transformer, Circle3 circle)
        {
            AffineTransform3 source          = new AffineTransform3(circle.UnitU, circle.UnitV, circle.Normal, circle.Center);
            AffineTransform3 affineTransform = transformer.Transform(source);

            return(new Circle3(affineTransform.Origin, affineTransform.AxisX, affineTransform.AxisY, affineTransform.AxisZ, circle.Radius * transformer.Scale));
        }
        // Token: 0x060004BF RID: 1215 RVA: 0x000187DC File Offset: 0x000169DC
        public static Rectangle3 Transform(this AffineTransform3 transformer, Rectangle3 rectangle)
        {
            AffineTransform3 source          = new AffineTransform3(rectangle.Axis0, rectangle.Axis1, rectangle.Axis0.UnitCross(rectangle.Axis1), rectangle.Center, 1.0);
            AffineTransform3 affineTransform = transformer.Transform(source);

            return(new Rectangle3(affineTransform.Origin, affineTransform.AxisX, affineTransform.AxisY, rectangle.Extent0 * transformer.Scale, rectangle.Extent1 * transformer.Scale));
        }
        // Token: 0x060004BD RID: 1213 RVA: 0x000186E0 File Offset: 0x000168E0
        public static Box3 Transform(this AffineTransform3 transformer, Box3 box)
        {
            AffineTransform3 source          = new AffineTransform3(box.Axis0, box.Axis1, box.Axis2, box.Center);
            AffineTransform3 affineTransform = transformer.Transform(source);

            return(new Box3(affineTransform.Origin, affineTransform.AxisX, affineTransform.AxisY, affineTransform.AxisZ, box.Extent0 * transformer.Scale, box.Extent1 * transformer.Scale, box.Extent2 * transformer.Scale));
        }
        // Token: 0x060004BB RID: 1211 RVA: 0x0001847C File Offset: 0x0001667C
        public static AxisAlignedBox3 Transform(this AffineTransform3 transformer, AxisAlignedBox3 input)
        {
            Vector3 vector  = transformer.Transform(input.Center - input.Extents);
            Vector3 vector2 = vector;

            foreach (Vector3 right in new List <Vector3>
            {
                new Vector3(input.ExtentX, -input.ExtentY, -input.ExtentZ),
                new Vector3(-input.ExtentX, input.ExtentY, -input.ExtentZ),
                new Vector3(input.ExtentX, input.ExtentY, -input.ExtentZ),
                new Vector3(-input.ExtentX, -input.ExtentY, input.ExtentZ),
                new Vector3(input.ExtentX, -input.ExtentY, input.ExtentZ),
                new Vector3(-input.ExtentX, input.ExtentY, input.ExtentZ),
                new Vector3(input.ExtentX, input.ExtentY, input.ExtentZ)
            })
            {
                Vector3 value = transformer.Transform(input.Center + right);
                vector  = Vector3.Min(vector, value);
                vector2 = Vector3.Max(vector2, value);
            }
            return(new AxisAlignedBox3(vector, vector2));
        }
 // Token: 0x060004B9 RID: 1209 RVA: 0x00018420 File Offset: 0x00016620
 public static Triangle3 Transform(this AffineTransform3 transformer, Triangle3 input)
 {
     return(new Triangle3(transformer.Transform(input.V0), transformer.Transform(input.V1), transformer.Transform(input.V2)));
 }
 // Token: 0x060004CD RID: 1229 RVA: 0x00018B5A File Offset: 0x00016D5A
 public static Cylinder3 Transform(this AffineTransform3 transformer, Cylinder3 cylinder)
 {
     return(new Cylinder3(transformer.Transform(cylinder.Axis), transformer.Scale * cylinder.Radius, transformer.Scale * cylinder.Height));
 }
 // Token: 0x060004C4 RID: 1220 RVA: 0x00018983 File Offset: 0x00016B83
 public static Arc3 Transform(this AffineTransform3 transformer, Arc3 arc)
 {
     return(new Arc3(transformer.Transform(arc.Circle), arc.StartAngle, arc.DeltaAngle));
 }