Ejemplo n.º 1
0
        private void ParseLine(string keyword, string data)
        {
            switch (keyword)
            {
            case "v":
                if (isLastLineAFace)
                {
                    graphObject.Groups.Add(group);
                    group           = new Group();
                    isLastLineAFace = false;
                }
                group.Vertices.Add(VertexParser.Parse(data));
                break;

            case "vt":
                group.VertexTextures.Add(VertexTextureParser.Parse(data));
                break;

            case "vn":
                group.VertexNormals.Add(VertexNormalParser.Parse(data));
                break;

            case "f":
                group.Faces.Add(FaceParser.Parse(data));
                isLastLineAFace = true;
                break;

            default:
                break;
            }
        }
Ejemplo n.º 2
0
        public void CanParseStyle7()
        {
            WavefrontObject wavefrontObject = new WavefrontObject();

            wavefrontObject.Vertices.Add(new Vector3());
            wavefrontObject.Normals.Add(new Vector3());
            const string line   = "f 1 1 1";
            FaceParser   parser = (FaceParser) new ObjLineParserFactory(wavefrontObject).GetLineParser(line);

            parser.Parse();
        }
Ejemplo n.º 3
0
        public void Parses_normal_line_correctly_1()
        {
            const string faceLine = "1 2 3";

            _faceParser.Parse(faceLine);

            var parsedFace = _faceGroupSpy.ParsedFace;

            parsedFace[0].VertexIndex.Should().Be(1);
            parsedFace[0].TextureIndex.Should().Be(0);
            parsedFace[0].NormalIndex.Should().Be(0);

            parsedFace[1].VertexIndex.Should().Be(2);
            parsedFace[1].TextureIndex.Should().Be(0);
            parsedFace[1].NormalIndex.Should().Be(0);

            parsedFace[2].VertexIndex.Should().Be(3);
            parsedFace[2].TextureIndex.Should().Be(0);
            parsedFace[2].NormalIndex.Should().Be(0);
        }
Ejemplo n.º 4
0
        public void CanParseStyle6()
        {
            // Arrange.
            WavefrontObject wavefrontObject = new WavefrontObject();

            wavefrontObject.Vertices.Add(new Vertex());
            wavefrontObject.Normals.Add(new Vertex());
            const string line   = "f 1/1 1/1 1/1 1/1";
            FaceParser   parser = (FaceParser) new ObjLineParserFactory(wavefrontObject).GetLineParser(line);

            // Act.
            parser.Parse();
        }