public override void Parse(string line) { var parts = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var x = parts[0].ParseInvariantFloat(); var y = parts[1].ParseInvariantFloat(); var z = parts[2].ParseInvariantFloat(); var vertex = new GeometricVertex(x, y, z); _vertexDataStore.AddVertex(vertex); }
private void ProcessLine(string line) { var parts = line.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length <= 0) { return; } switch (parts[0]) { case "v": var vertex = new GeometricVertex(); vertex.ProcessData(parts, _maxValue); GeometricVertices.Add(vertex); break; case "f": var face = new FaceVertex(); face.ProcessData(parts); FaceVertices.Add(face); break; case "vt": var textureVertex = new TextureVertex(); textureVertex.ProcessData(parts); TextureVertices.Add(textureVertex); break; case "vn": var normalVertex = new NormalVertex(); normalVertex.ProcessData(parts); NormalVertices.Add(normalVertex); break; } }
public void AddVertex(GeometricVertex vertex) { _vertices.Add(vertex); }