Write: TubeProc ~ {
IO.PutF[stream, "Tube: "];
WriteTriple[stream, IF m = NIL THEN tube.p0 ELSE Matrix3d.Transform[tube.p0, m]];
WriteTriple[stream, IF m = NIL THEN tube.p1 ELSE Matrix3d.Transform[tube.p1, m]];
WriteTriple[stream, IF m = NIL THEN tube.v0 ELSE Matrix3d.TransformVec[tube.v0, m]];
WriteTriple[stream, IF m = NIL THEN tube.v1 ELSE Matrix3d.TransformVec[tube.v1, m]];
IO.PutF[stream, "%5.4f %5.4f ", IO.real[tube.r0], IO.real[tube.r1]];
IO.PutF[stream, "%5.4f %5.4f ", IO.real[tube.tw0], IO.real[tube.tw1]];
IO.PutF[stream, IF tube.next # NIL THEN "next " ELSE "no "];
IO.PutF[stream, "%g", IO.int[TubeMisc.NBranches[tube]]];
IO.PutF[stream, "\n"];
};