private static void WriteSurfaces(ObjFile obj, StreamWriter stream, ObjFileWriterContext context) { foreach (ObjSurface surface in obj.Surfaces) { context.WriteGroupNames(stream, surface, g => g.Surfaces); context.WriteAttributesOfElement(stream, surface); context.WriteAttributesOfFreeFormElement(stream, surface); stream.Write("surf {0} {1} {2} {3}", surface.StartParameterU.ToString("F6", CultureInfo.InvariantCulture), surface.EndParameterU.ToString("F6", CultureInfo.InvariantCulture), surface.StartParameterV.ToString("F6", CultureInfo.InvariantCulture), surface.EndParameterV.ToString("F6", CultureInfo.InvariantCulture)); foreach (ObjTriplet vertex in surface.Vertices) { stream.Write(' '); stream.Write(vertex); } stream.WriteLine(); WriteBodyOfFreeFormElement(stream, surface); } }
private static void WriteFaces(ObjFile obj, StreamWriter stream, ObjFileWriterContext context) { foreach (ObjFace face in obj.Faces) { context.WriteGroupNames(stream, face, g => g.Faces); context.WriteAttributesOfElement(stream, face); context.WriteAttributesOfPolygonalElement(stream, face); stream.Write("f"); foreach (ObjTriplet vertex in face.Vertices) { stream.Write(" {0}", vertex); } stream.WriteLine(); } }
private static void WritePoints(ObjFile obj, StreamWriter stream, ObjFileWriterContext context) { foreach (ObjPoint point in obj.Points) { context.WriteGroupNames(stream, point, g => g.Points); context.WriteAttributesOfElement(stream, point); context.WriteAttributesOfPolygonalElement(stream, point); stream.Write("p"); foreach (ObjTriplet vertex in point.Vertices) { stream.Write(" {0}", vertex); } stream.WriteLine(); } }
private static void WriteCurves2D(ObjFile obj, StreamWriter stream, ObjFileWriterContext context) { foreach (ObjCurve2D curve in obj.Curves2D) { context.WriteGroupNames(stream, curve, g => g.Curves2D); context.WriteAttributesOfElement(stream, curve); context.WriteAttributesOfFreeFormElement(stream, curve); stream.Write("curv2"); foreach (int vertex in curve.ParameterSpaceVertices) { stream.Write(' '); stream.Write(vertex); } stream.WriteLine(); WriteBodyOfFreeFormElement(stream, curve); } }
private static void WriteCurves(ObjFile obj, StreamWriter stream, ObjFileWriterContext context) { foreach (ObjCurve curve in obj.Curves) { context.WriteGroupNames(stream, curve, g => g.Curves); context.WriteAttributesOfElement(stream, curve); context.WriteAttributesOfFreeFormElement(stream, curve); stream.Write("curv {0} {1}", curve.StartParameter.ToString("F6", CultureInfo.InvariantCulture), curve.EndParameter.ToString("F6", CultureInfo.InvariantCulture)); foreach (int vertex in curve.Vertices) { stream.Write(' '); stream.Write(vertex); } stream.WriteLine(); WriteBodyOfFreeFormElement(stream, curve); } }