예제 #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));
        }