예제 #1
0
        // Token: 0x06000057 RID: 87 RVA: 0x00002C2C File Offset: 0x00000E2C
        public TriangleMesh Transform(AffineTransform3 placement)
        {
            Vector3                    origin   = placement.Transform(this.Origin);
            AffineTransform3           rotation = new AffineTransform3(placement.AxisX, placement.AxisY, placement.AxisZ);
            List <TriangleMesh.Normal> list     = new List <TriangleMesh.Normal>();

            foreach (TriangleMesh.Normal normal in this.Normals)
            {
                list.Add(TriangleMesh.Rotate(rotation, normal));
            }
            List <TriangleMesh.Vertex> list2 = new List <TriangleMesh.Vertex>();

            foreach (TriangleMesh.Vertex vertex in this.Vertices)
            {
                list2.Add(TriangleMesh.Transform(placement, vertex));
            }
            List <TriangleMesh.ReferenceLine> list3 = new List <TriangleMesh.ReferenceLine>();

            foreach (TriangleMesh.ReferenceLine referenceLine in this.ReferenceLines)
            {
                list3.Add(TriangleMesh.Transform(placement, referenceLine));
            }
            return(new TriangleMesh(origin, list, list2, this.EdgeLines, this.SurfaceLines, this.Lines, this.Corners, this.Triangles, this.ReferenceLines, this.ReferenceLineRadius * placement.Scale));
        }
예제 #2
0
 // Token: 0x06000062 RID: 98 RVA: 0x000036D5 File Offset: 0x000018D5
 private static TriangleMesh.ReferenceLine Transform(AffineTransform3 placement, TriangleMesh.ReferenceLine referenceLine)
 {
     return(new TriangleMesh.ReferenceLine(TriangleMesh.Transform(placement, referenceLine.V0), TriangleMesh.Transform(placement, referenceLine.V1)));
 }