internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { int line = parser.Line; 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 == "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 == "yScale") { YScale = parser.ParseDoubleValue(); } else if (id == "ccw") { CCW = parser.ParseBoolValue(); } else if (id == "colorPerVertex") { ColorPerVertex = parser.ParseBoolValue(); } else if (id == "creaseAngle") { CreaseAngle = parser.ParseDoubleValue(); } else if (id == "geoGridOrigin") { GeoGridOrigin = parser.ParseSFVec3fStringValue(); } else if (id == "geoOrigin") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { GeoOrigin = node as IX3DGeoOriginNode; if (GeoOrigin == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "geoSystem") { if (wasGeoSystem) { GeoSystem.AddRange(parser.ParseSFStringOrMFStringValue()); } else { GeoSystem = parser.ParseSFStringOrMFStringValue(); } wasGeoSystem = true; } else if (id == "height") { if (wasHeight) { Height.AddRange(parser.ParseSFFloatOrMFFloatValue()); } else { Height = parser.ParseSFFloatOrMFFloatValue(); } wasHeight = true; } else if (id == "normalPerVertex") { NormalPerVertex = parser.ParseBoolValue(); } else if (id == "solid") { Solid = parser.ParseBoolValue(); } else if (id == "xDimension") { XDimension = parser.ParseIntValue(); } else if (id == "xSpacing") { XSpacing = parser.ParseDoubleStringValue(); } else if (id == "zDimension") { ZDimension = parser.ParseIntValue(); } else if (id == "zSpacing") { ZSpacing = parser.ParseDoubleStringValue(); } else { return(false); } return(true); }
internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { int line=parser.Line; 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=="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=="yScale") YScale=parser.ParseDoubleValue(); else if(id=="ccw") CCW=parser.ParseBoolValue(); else if(id=="colorPerVertex") ColorPerVertex=parser.ParseBoolValue(); else if(id=="creaseAngle") CreaseAngle=parser.ParseDoubleValue(); else if(id=="geoGridOrigin") GeoGridOrigin=parser.ParseSFVec3fStringValue(); else if(id=="geoOrigin") { X3DNode node=parser.ParseSFNodeValue(); if(node!=null) { GeoOrigin=node as IX3DGeoOriginNode; if(GeoOrigin==null) parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } else if(id=="geoSystem") { if(wasGeoSystem) GeoSystem.AddRange(parser.ParseSFStringOrMFStringValue()); else GeoSystem=parser.ParseSFStringOrMFStringValue(); wasGeoSystem=true; } else if(id=="height") { if(wasHeight) Height.AddRange(parser.ParseSFFloatOrMFFloatValue()); else Height=parser.ParseSFFloatOrMFFloatValue(); wasHeight=true; } else if(id=="normalPerVertex") NormalPerVertex=parser.ParseBoolValue(); else if(id=="solid") Solid=parser.ParseBoolValue(); else if(id=="xDimension") XDimension=parser.ParseIntValue(); else if(id=="xSpacing") XSpacing=parser.ParseDoubleStringValue(); else if(id=="zDimension") ZDimension=parser.ParseIntValue(); else if(id=="zSpacing") ZSpacing=parser.ParseDoubleStringValue(); else return false; return true; }