// Token: 0x06000010 RID: 16 RVA: 0x0000287C File Offset: 0x00000A7C private static void CreateTesselatedEdge(List <Vector3> vertices, List <int[]> wires, IList <Vector3> sweepContour, Angle curveTesselation, ref AffineTransform3 transform, IEdge3 edge) { EdgeLineSegment3 edgeLineSegment = edge as EdgeLineSegment3; if (edgeLineSegment != null) { SweptDiskSolidExtensions.CreateTesselatedEdgeLine(vertices, wires, sweepContour, ref transform, edgeLineSegment); return; } EdgeArc3 edgeArc = edge as EdgeArc3; if (edgeArc != null) { SweptDiskSolidExtensions.CreateTesselatedEdgeArc(vertices, wires, sweepContour, curveTesselation, ref transform, edgeArc); return; } EdgePolyLineSegment3 edgePolyLineSegment = edge as EdgePolyLineSegment3; if (edgePolyLineSegment != null) { SweptDiskSolidExtensions.CreateTesselatedEdgePolyLine(vertices, wires, sweepContour, ref transform, edgePolyLineSegment); return; } }
// Token: 0x06000011 RID: 17 RVA: 0x000028D0 File Offset: 0x00000AD0 private static void CreateTesselatedEdgeLine(List <Vector3> vertices, List <int[]> wires, IList <Vector3> sweepContour, ref AffineTransform3 transform, EdgeLineSegment3 edgeLineSegment) { int num = vertices.Count - sweepContour.Count; int count = vertices.Count; transform = new AffineTransform3(transform.AxisX, transform.AxisY, transform.AxisZ, transform.Origin + edgeLineSegment.Segment.Direction * (edgeLineSegment.Segment.Extent * 2.0)); int num2 = 0; foreach (Vector3 input in sweepContour) { int num3 = (num2 + 1) % sweepContour.Count; vertices.Add(transform.Transform(input)); int[] item = new int[] { num + num2, num + num3, count + num3, count + num2 }; wires.Add(item); num2++; } }