internal override bool ParseNodeBodyElement(string id, VRMLParser parser)
		{
			int line=parser.Line;

			if(id=="attrib")
			{
				List<X3DNode> nodes=parser.ParseSFNodeOrMFNodeValue();
				foreach(X3DNode node in nodes)
				{
					X3DVertexAttributeNode attr=node as X3DVertexAttributeNode;
					if(attr==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
					else Attrib.Add(attr);
				}
			}
			else if(id=="color")
			{
				X3DNode node=parser.ParseSFNodeValue();
				if(node!=null)
				{
					Color=node as X3DColorNode;
					if(Color==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
				}
			}
			else if(id=="coord")
			{
				X3DNode node=parser.ParseSFNodeValue();
				if(node!=null)
				{
					Coord=node as X3DCoordinateNode;
					if(Coord==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
				}
			}
			else if(id=="fogCoord")
			{
				X3DNode node=parser.ParseSFNodeValue();
				if(node!=null)
				{
					FogCoord=node as IX3DFogCoordinateNode;
					if(FogCoord==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
				}
			}
			else if(id=="normal")
			{
				X3DNode node=parser.ParseSFNodeValue();
				if(node!=null)
				{
					Normal=node as X3DNormalNode;
					if(Normal==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
				}
			}
			else if(id=="texCoord")
			{
				X3DNode node=parser.ParseSFNodeValue();
				if(node!=null)
				{
					TexCoord=node as X3DTextureCoordinateNode;
					if(TexCoord==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line);
				}
			}
			else if(id=="ccw") CCW=parser.ParseBoolValue();
			else if(id=="colorIndex") ColorIndex.AddRange(parser.ParseSFInt32OrMFInt32Value());
			else if(id=="colorPerVertex") ColorPerVertex=parser.ParseBoolValue();
			else if(id=="convex") Convex=parser.ParseBoolValue();
			else if(id=="coordIndex") CoordIndex.AddRange(parser.ParseSFInt32OrMFInt32Value());
			else if(id=="creaseAngle") CreaseAngle=parser.ParseDoubleValue();
			else if(id=="normalIndex") NormalIndex.AddRange(parser.ParseSFInt32OrMFInt32Value());
			else if(id=="normalPerVertex") NormalPerVertex=parser.ParseBoolValue();
			else if(id=="solid") Solid=parser.ParseBoolValue();
			else if(id=="texCoordIndex") TexCoordIndex.AddRange(parser.ParseSFInt32OrMFInt32Value());
			else return false;
			return true;
		}
Exemplo n.º 2
0
        public Task savetoXLS(string path, string name)
        {
            Task Global = new Task(() =>
            {
                completedColums = 0;
                using (tempWriter = new XLSAndTextFilesTools.XLSWriter(path, name, 4))
                {
                    const int startCell = 1;
                    Task[] Tasks        = new Task[4];
                    Tasks[0]            = (new Task(() =>
                    {
                        string liter1 = "A";

                        tempWriter.writeOneColumn(liter1, startCell, "Имя файла", nameFile.ToArray(), 1);
                        completedColums++;
                        liter1 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter1);

                        tempWriter.writeOneColumn(liter1, startCell, "GIBNormal", GIBNormal.ToArray(), 1);
                        completedColums++;
                        liter1 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter1);

                        tempWriter.writeOneColumn(liter1, startCell, "GICNormal", GICNormal.ToArray(), 1);
                        completedColums++;
                        liter1 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter1);

                        tempWriter.writeOneColumn(liter1, startCell, "GISNormal", GISNormal.ToArray(), 1);
                        completedColums++;
                        liter1 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter1);

                        tempWriter.writeOneColumn(liter1, startCell, "LindisNormal", LindisNormal.ToArray(), 1);
                        completedColums++;
                        liter1 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter1);

                        tempWriter.writeOneColumn(liter1, startCell, "NormalIndex", NormalIndex.ToArray(), 1);
                        completedColums++;
                    }));
                    Tasks[0].Start();

                    Tasks[1] = (new Task(() =>
                    {
                        string liter2 = "A";

                        tempWriter.writeOneColumn(liter2, startCell, "Имя файла", nameFile.ToArray(), 2);
                        completedColums++;
                        liter2 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter2);


                        tempWriter.writeOneColumn(liter2, startCell, "GIBSumStraigth", GIBSumStraigth.ToArray(), 2);
                        completedColums++;
                        liter2 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter2);

                        tempWriter.writeOneColumn(liter2, startCell, "GICSumStraigth", GICSumStraigh.ToArray(), 2);
                        completedColums++;
                        liter2 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter2);

                        tempWriter.writeOneColumn(liter2, startCell, "GISSumStraigth", GISSumStraigth.ToArray(), 2);
                        completedColums++;
                        liter2 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter2);

                        tempWriter.writeOneColumn(liter2, startCell, "LindisSumStraigth", LindisSumStraigh.ToArray(), 2);
                        completedColums++;
                        liter2 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter2);

                        tempWriter.writeOneColumn(liter2, startCell, "SumsStraigthIndex", SumsStraigthIndex.ToArray(), 2);
                        completedColums++;
                    }));
                    Tasks[1].Start();


                    Tasks[2] = (new Task(() =>
                    {
                        string liter3 = "A";

                        tempWriter.writeOneColumn(liter3, startCell, "Имя файла", nameFile.ToArray(), 3);
                        completedColums++;
                        liter3 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter3);

                        tempWriter.writeOneColumn(liter3, startCell, "GIBSumReverce", GIBSumReverce.ToArray(), 3);
                        completedColums++;
                        liter3 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter3);

                        tempWriter.writeOneColumn(liter3, startCell, "GICSumReverce", GICSumReverce.ToArray(), 3);
                        completedColums++;
                        liter3 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter3);

                        tempWriter.writeOneColumn(liter3, startCell, "GISSumReverce", GISSumReverce.ToArray(), 3);
                        completedColums++;
                        liter3 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter3);

                        tempWriter.writeOneColumn(liter3, startCell, "LindisSumReverce", LindisSumReverce.ToArray(), 3);
                        completedColums++;
                        liter3 = XLSAndTextFilesTools.XLSWriter.inc_literal(liter3);

                        tempWriter.writeOneColumn(liter3, startCell, "SumReverseIndex", SumReverseIndex.ToArray(), 3);
                        completedColums++;
                    }));
                    Tasks[2].Start();


                    Task.WaitAll(Tasks.ToArray());


                    tempWriter.Save();
                }
            });

            return(Global);
        }