PROCEDURE Print(t: Topology, shape: TEXT) = VAR comment: TEXT; BEGIN WITH name = shape & ".top", wr = FileStream.OpenWrite(name) DO comment := "Description file of the topology of " & filename; DumpDoc(wr, comment); Wr.PutText(wr, "\n"); Wr.PutText(wr, "vertex "); Wr.PutText(wr, Fmt.Int(t.NV) & "\n"); Wr.PutText(wr, "face "); Wr.PutText(wr, Fmt.Int(t.NF) & "\n"); Wr.PutText(wr, "edge "); Wr.PutText(wr, Fmt.Int(t.NE) & "\n"); Wr.PutText(wr, "\n"); comment := "Vertex:"; DumpDoc(wr, comment); Wr.PutText(wr, "\n"); FOR i := 0 TO t.NF DO Wr.PutText(wr, Fmt.Int(t.vertex[i].num) & " "); Wr.PutText(wr, Fmt.Int(t.vertex[i].exists) & " "); Wr.PutText(wr, Fmt.Pad(Fmt.Real(t.vertex[i].color.r), 4) & " "); Wr.PutText(wr, Fmt.Pad(Fmt.Real(t.vertex[i].color.g), 4) & " "); Wr.PutText(wr, Fmt.Pad(Fmt.Real(t.vertex[i].color.b), 4) & " "); Wr.PutText(wr, Fmt.Int(t.vertex[i].fixex) & " "); Wr.PutText(wr, Fmt.Pad(Fmt.Real(t.vertex[i].coords[0]), 8) & " "); Wr.PutText(wr, Fmt.Pad(Fmt.Real(t.vertex[i].coords[1]), 8) & " "); Wr.PutText(wr, Fmt.Pad(Fmt.Real(t.vertex[i].coords[2]), 8) & " "); Wr.PutText(wr, Fmt.Pad(Fmt.Real(t.vertex[i].radius), 4) & "\n"); END; Wr.Close(wr) END END Print;